在Eclipse中调用weka包实现分类
1.如题。
最近写了一个FCM的聚类算法,希望能够可视化结果,因此一个想法是调用weka中的包,使自己的程序可以可视化。这里参考了网络上的方法,首先实现在Eclipse中调用weka包实现分类的功能。
步骤如下:
1. 到weka官网下载weka安装程序,并安装;
2.在weka安装目录:(我的是C://Program Files//Weka-3-6)找到两个jar包:weka.jar 和 weka-src.jar,以供下面使用;
3.在Eclipse中新建一个工程,并新建class;
4.在新建的工程中“Build Path”,把上面两个jar包导入;
5.写程序:
package Test; import java.io.File;
import java.io.IOException; import weka.classifiers.Classifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffLoader; public class MyWeka { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Classifier m_classifier = new J48();
File inputFile = new File("C://Program Files//Weka-3-6//data//cpu.with.vendor.arff");//训练语料文件
ArffLoader atf = new ArffLoader();
atf.setFile(inputFile);
Instances instancesTrain = atf.getDataSet(); // 读入训练文件
inputFile = new File("C://Program Files//Weka-3-6//data//cpu.with.vendor.arff");//测试语料文件
atf.setFile(inputFile);
Instances instancesTest = atf.getDataSet(); // 读入测试文件
instancesTest.setClassIndex(0); //设置分类属性所在行号(第一行为0号),instancesTest.numAttributes()可以取得属性总数
double sum = instancesTest.numInstances(),//测试语料实例数
right = 0.0f;
instancesTrain.setClassIndex(0); m_classifier.buildClassifier(instancesTrain); //训练
for(int i = 0;i<sum;i++)//测试分类结果
{
if(m_classifier.classifyInstance(instancesTest.instance(i))==instancesTest.instance(i).classValue())//如果预测值和答案值相等(测试语料中的分类列提供的须为正确答案,结果才有意义)
{
right++;//正确值加1
}
}
System.out.println("J48 classification precision:"+(right/sum));
} }
**************************************华丽丽的分割线************************************************************************
weka源码获得与导入
1、下载weka3.7,解压其中的weka-src.jar的文件,包含lib,src,META-INF三个文件夹和另外两个文件;
2、在Eclipse下新建java project,命名为weka,在src下新建名为weka的包;
3、在此项目下import-->File System-->选择.../weka/src/main/java/weka,并全部导入;
4、项目导入库文件,biuldpath-->add external jar-->选择lib里的 java-cup.jar JFlex.jar junit.jar;
5、运行weka.gui.main成功;
(以上是从大神大神大神处发现的,按照步骤做真的OK!!下面的工作就是要分析它的KMeans算法,然后仿照它的算法写出FCM算法,然后在weka中运行。迷雾一点点面薄了。)
**************************************************************************************************************************
在另外一些地方找到了一些weka的常用链接。
http://dikar.iteye.com/blog/1007780
在Eclipse中调用weka包实现分类的更多相关文章
- 机器学习:eclipse中调用weka的Classifier分类器代码Demo
weka中实现了很多机器学习算法,不管实验室研究或者公司研发,都会或多或少的要使用weka,我的理解是weka是在本地的SparkML,SparkML是分布式的大数据处理机器学习算法,数据量不是很大的 ...
- 调用WEKA包进行kmeans聚类(java)
所用数据文件:data1.txt @RELATION data1 @ATTRIBUTE one REAL @ATTRIBUTE two REAL @DATA 0.184000 0.482000 0.1 ...
- Eclipse中配置weka,以及添加算法
Eclipse中配置weka 1 找到weka的安装位置,寻找weka的压缩文件weka-src.jar,将压缩文件解压,解压出的文件夹weka-src. 2 打开Eclipse,新建Java pro ...
- 如何制作Jar包并在android中调用jar包
android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmani ...
- eclipse中导入外部包却无法查看对应源码或Javadoc的入坑指南
eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应AP ...
- 在eclipse中打jar包
在Eclipse中打jar包 步骤: 1. 在项目名称中点击右键,点Export... 2.选择java-->Java File, next 3. 选择你打算打包的文件.可以选择某几个文件,也可 ...
- Eclipse中给jar包导入JavaDoc的方法
原文转载自:http://blog.csdn.net/mr_von/article/details/7740138 在使用Java语言开发的过程中,开发人员经常需要用到一些开源的工具包.在使用别人的j ...
- 查看Eclipse中的jar包的源代码:jd-gui.exe
前面搞了很久的使用JAD,各种下载插件,最后配置好了,还是不能用,不知道怎么回事, 想起一起用过的jd-gui.exe这个工具,是各种强大啊!!! 只需要把jar包直接扔进去就可以了,非常清晰,全部解 ...
- Eclipse中user library包管理
1.整理jar 2.将整理出的jar包在Eclipse中分别设置为用户librarywindow -> preferences -> java -> build path -> ...
随机推荐
- checkboxlist如何配置数据源?
在做项目中,通常checkboxlist中的checkitems不是固定的,需要绑定可变的数据源,把数据添加到list集合中,代码如下 DataSet myData = new DataSet(); ...
- ios核心动画(基础动画)
一.简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为du ...
- lintcode 110最小路径和
最小路径和 描述 笔记 数据 评测 给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径. 注意事项 你在同一时间只能向下或者向右移动一步 您在真实的面试中是否遇到过 ...
- js、jquery初始化加载顺序
// ready 这个方法只是在页面所有的DOM加载完毕后就会触发 // 方式1 $(function(){ // do something }); // 方式2 $(document).ready( ...
- java动态返回一个大对象里多个小对象map返回,el表达式用c:set拼接
基于堆内存,先把map放到返回值里 Map _map=new HashMap(); modelAndView.addObject("pledgeInsurance",_map);/ ...
- PLC状态机编程第五篇-状态机自动生成PLC程序
这篇比较简单了,我就直接上图了,不多废话. 一.选择求解器,一定要选择定步长的. 二.右击Chart状态机,出现图上菜单 三.左边红色的勾选择,选择右侧的菜单,然后点击Generate Code按钮, ...
- ubuntu安装wine 和sourceinsght
ubuntu安装wine: 1.sudo apt-get update 2.sudo apt-get install wine 安装完成后会在当前用户目录的的家目录下生成.wine目录,该目录就是wi ...
- HDU 6274 二分+预处理(CCPC K题
#include"bits/stdc++.h" #define db double #define ll long long #define vec vector<ll> ...
- 笔记-scrapy-setting
笔记-scrapy-setting 1. 简介 Scrapy设置允许您自定义所有Scrapy组件的行为,包括核心,扩展,管道和蜘蛛本身. 可以使用不同的机制来填充设置,每种机制都有不同的优先级 ...
- vue webpack build 打包过滤console.log()日志
vue cli创建项目在 webpack.prod.conf.js文件 //打包时清除页面中所有打印及debugger断点 new webpack.optimize.UglifyJsPlugin({ ...