博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WEKA,一个开源java的数据挖掘工具
阅读量:7005 次
发布时间:2019-06-27

本文共 2184 字,大约阅读时间需要 7 分钟。

开始研究WEKA,一个开源java的数据挖掘工具。

HS沉寂这么多天,谁知道偏偏在我申请离职的时候给我安排了个任务,哎,无语。

于是,今天看了一天的Weka。

主要是看了HS提供的三个文章(E文,在google的帮助下看完的):

 

 
还有一个中文文档: 
 
还有一个E文的PPT( ),还没仔细看。里面有个数据挖掘经常用到的软件的列表。
 
简单学会了Weka的用法。
weka就是一个工具,他根据用户输入的N组数据,通过用户指定的算法,如:回归分析、分类分析、聚类分析、邻近分析等,然后输出一个统计分析的结果。还可以使用测试数据对统计结果进行验证,以确认分析结果的可用性。
weka本身有一个GUI,通过java -jar weka.jar启动。然后点击Explorer启动子程序(我只学了Explorer)。
在weka explorer中点击OpenFile打开*.arff格式的数据。arff其实就是文本文件。
 
weka explorer顶部标签的第二个标签,可以进行分类相关的分析,如回归分析、分类分析、临近分析等。
利用第三个标签为集群相关的分析可以进行聚类分析等。
算法是在标签的Classifier中的Choose按钮中选择的,其中,
以树的形式展示分类分析是用:Classify->Choose->Classifiers->trees->J48; 对应java类(weka.classifiers.trees.J48;)
回归分析是:Classify->Choose->Classifiers->Functions->LinearRegression 刚刚注意到界面上有这个类(weka.classifiers.functions.LinearRegression),也许就是用java编程时要用到的。
聚类分析是:Cluster->Choose->clusterers->SimpleKMeans
邻近分析是:Classify->Choose->Classifiers->lazy->IBK
 
WEKA Explorer的使用,在文档( )中的WEKA Explorer一节中有很详细的介绍。请参考之。
 
通过Java可以很简单的进行API的调用:如下代码从一个arff文件中读取数据,然后进行了回归分析,然后打印了根据回归分析结果预测的某个房屋的价格:
import java.io.FileNotFoundException;import java.io.IOException;import weka.classifiers.functions.LinearRegression;import weka.core.Instances;public class Weka {    /**     * @param args     */    public static void main(String[] args) {        String inputFile = "C:\\Documents and Settings\\Administrator\\My Documents\\Downloads\\weka-3-7-5\\weka-3-7-5\\my\\house.arff";        java.io.Reader r;        try {            r = new java.io.BufferedReader(new java.io.FileReader(inputFile));            Instances instances = new Instances(r);            instances.setClassIndex(instances.numAttributes() - 1);            LinearRegression linearRegression = new LinearRegression();            linearRegression.buildClassifier(instances);            double[] coef = linearRegression.coefficients();            double myHouseValue = (coef[0] * 3198) + (coef[1] * 9669)                    + (coef[2] * 5) + (coef[3] * 3) + (coef[4] * 1) + coef[6];            System.out.println(myHouseValue);        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } catch (Exception e) {            e.printStackTrace();        }    }}

 

转载地址:http://obytl.baihongyu.com/

你可能感兴趣的文章
Mindjet MindManager 思维导图软件-使用思维导图跟踪调用流程,绘制软件框架
查看>>
SQLServer判断指定列的默认值是否存在,并修改默认值
查看>>
贝塞尔曲线与CSS3动画、SVG和canvas的应用
查看>>
将NSTimer加入至RunLoop中的两种方法差别
查看>>
[ajax 学习笔记] ajax初试
查看>>
css中合理的使用nth-child实现布局
查看>>
每天一个JavaScript实例-操作元素定位元素
查看>>
架构-到底什么时候该使用MQ【转】
查看>>
split-brain 脑裂问题(Keepalived)
查看>>
清空,再来
查看>>
7.JAVA编程思想笔记隐藏实施过程
查看>>
wps文档忘记保存关闭了怎么恢复
查看>>
LeetCode(29)-Plus One
查看>>
python解析XML笔记(etree)
查看>>
CentOS7 以下安装Mysql MMM
查看>>
windows系统里Cygwin中如何正确安装wget(图文详解)
查看>>
让你快速了解并掌握如何进行iOS开发技能
查看>>
apache 反向代理的时候,通过域名访问是,出现跳转到ip或者无权访问的情况
查看>>
html绘制三角形(兼容IE6)
查看>>
Maven安装好后包下载的测试命令和配置变量的查看命令:mvn help:system
查看>>