java weka搭建,工程化机器学习数据挖掘系列——How to weka,weka环境安装步骤,weka编译步骤,weka运行用例,数据挖掘weka...

工程化机器学习数据挖掘系列——How to weka,weka环境安装步骤,weka编译步骤,weka运行用例,数据挖掘weka

安装必须的编译程序,源码包,和编译环境。

1,配置合适的java版本,并将jre java命令的目录放入path环境变量中,java可以通过apt等安装,以下方法并不一定适合你。

java版本1.6.0_18或1.6.0_13(1.4.2编译不过)java通过自带升级包升级的

java官方网站:http://www.java.com/en/download/manual.jsp http://java.sun.com/javaee/downloads/index.jsp

linux java 1.6下载地址:http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/VerifyItem-Start/java_ee_sdk-6u1-unix.sh?BundledLineItemUUID=9bWJ_hCuwjkAAAEp.lsSMvP6&OrderID=YDOJ_hCur2MAAAEp6lsSMvP6&ProductID=uWOJ_hCy5a4AAAEpeiFudDgF&FileName=/java_ee_sdk-6u1-unix.sh

2,weka包

weka官方网站:http://www.cs.waikato.ac.nz/ml/weka/

最新的3.7.1的weka包下载地址,linux版本:http://prdownloads.sourceforge.net/weka/weka-3-7-1.zip

unzip *.zip

cd weka-3-7-1

mkdir weka-src

cp weka-src.jar ./weka-src

jar zvf weka-src.jar

3,weka包的编译环境

ant官方网站:http://ant.apache.org

最新的1.8.1的ant包下载地址:http://labs.renren.com/apache-mirror/ant/binaries/apache-ant-1.8.1-bin.tar.gz

tar zxvpf *.tar.gz

libsvm官方网站:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

最新2.91的libsvm下载地址:http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz

tar zxvpf *.tar.gz

4,文件布局。

把打包文件解压后的文件夹都统一都放在/data/dm/ 目录下

配置ant可以使用

export ANT_HOME=/data/dm/apache-ant-1.8.1

export PATH=$ANT_HOME/bin:$PATH

5,weka的实战运行。

cd /data/dm/weka-3-7-1/weka-src/

ant  //开始编译,编译成功会出现BUILD SUCCESSFUL字样

//这里是redhat 2.6.9 的内核,java能调到的最大使用内存,2690M。

java -Xmx2690m -cp ./build/classes/ weka.classifiers.trees.J48 -t ./data/weather.arff -T ./data/weather.arff

//此时会出现以下结果:

J48 pruned tree

------------------

outlook = sunny

|   humidity <= 75: yes (2.0)

|   humidity > 75: no (3.0)

outlook = overcast: yes (4.0)

outlook = rainy

|   windy = TRUE: no (2.0)

|   windy = FALSE: yes (3.0)

Number of Leaves  :     5

Size of the tree :      8

Time taken to build model: 0.08 seconds

Time taken to test model on training data: 0 seconds

=== Error on training data ===

Correctly Classified Instances          14              100      %

Incorrectly Classified Instances         0                0      %

Kappa statistic                          1

Mean absolute error                      0

Root mean squared error                  0

Relative absolute error                  0      %

Root relative squared error              0      %

Coverage of cases (0.95 level)         100      %

Mean rel. region size (0.95 level)      50      %

Total Number of Instances               14

=== Confusion Matrix ===

a b  

9 0 | a = yes

0 5 | b = no

=== Error on test data ===

Correctly Classified Instances          14              100      %

Incorrectly Classified Instances         0                0      %

Kappa statistic                          1

Mean absolute error                      0

Root mean squared error                  0

Relative absolute error                  0      %

Root relative squared error              0      %

Coverage of cases (0.95 level)         100      %

Mean rel. region size (0.95 level)      50      %

Total Number of Instances               14

=== Confusion Matrix ===

a b  

9 0 | a = yes

0 5 | b = no

//此为第一步,weka环境的建立和运行,后面需要选择一个算法和修改代码来生成一个在线判别类,也就是传统意义上的分类库。

author:http://hi.baidu.com/jrckkyy

author:http://blog.csdn.net/jrckkyy

相关文章暂无相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用WEKA进行糖尿病预测时,可以通过代码获取预测结果的百分比。下面是一个简单的Java代码示例,用于加载训练模型、加载测试数据、进行预测并输出预测结果及其概率: ```java import weka.classifiers.Classifier; import weka.classifiers.functions.Logistic; import weka.core.Instance; import weka.core.Instances; import weka.core.converters.ConverterUtils.DataSource; public class DiabetesPrediction { public static void main(String[] args) throws Exception { // 加载训练模型 Classifier classifier = (Classifier) weka.core.SerializationHelper.read("diabetes.model"); // 加载测试数据 DataSource source = new DataSource("diabetes_test.arff"); Instances testData = source.getDataSet(); testData.setClassIndex(testData.numAttributes() - 1); // 对测试数据进行预测 for (int i = 0; i < testData.numInstances(); i++) { Instance instance = testData.instance(i); double prediction = classifier.classifyInstance(instance); double[] probabilities = classifier.distributionForInstance(instance); String predictedClass = testData.classAttribute().value((int) prediction); System.out.println("实例 " + (i+1) + " 的预测结果为: " + predictedClass); System.out.println("预测结果的概率分布为:"); for (int j = 0; j < probabilities.length; j++) { System.out.println(testData.classAttribute().value(j) + ": " + probabilities[j]); } System.out.println(); } } } ``` 在上述代码中,`diabetes.model`是训练好的模型文件,`diabetes_test.arff`是测试数据文件。在预测过程中,`classifier.distributionForInstance(instance)`方法返回的是一个数组,包含了每个类别的概率分布。我们可以通过遍历数组,输出每个类别的概率,从而得到预测结果的百分比。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值