加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Intellij IDEA 13学习笔记--调用WEKA

(2014-03-13 13:13:50)
标签:

weka

intellijidea

java

分类: coding

新建项目

http://s3/mw690/001H6G6Kzy6Hh0s008272&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

弹出对话框

http://s7/mw690/001H6G6Kzy6Hh0vZ9JAf6&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />


输入项目名称和路径,project SDKJDK的安装路径

http://s14/mw690/001H6G6Kzy6Hh0xLH5P6d&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

右键src,新建package

http://s5/mw690/001H6G6Kzy6Hh0A4yMc14&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

Package上右键,新建一个java 类文件

http://s12/mw690/001H6G6Kzy6Hh0BQfXl0b&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

运行之前先编译

http://s14/mw690/001H6G6Kzy6Hh0Ee1Dn5d&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />


在编译器右键

http://s11/mw690/001H6G6Kzy6Hh0GgBJw7a&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

 

 

导入外部jar

Fille->project structure

http://s2/mw690/001H6G6Kzy6Hh0JveN3b1&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

http://s7/mw690/001H6G6Kzy6Hh0JLHYW86&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />


左侧选择Modules,右边选择Depancies标签页,在右上的加号->jars or directories,浏览找到jar包所在的位置即可

http://s6/mw690/001H6G6Kzy6Hh0MAB9j75&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

点击确定之后,可以看到在项目目录External Libraries下多出了添加的外部jar

 http://s3/mw690/001H6G6Kzy6Hh0Oikbo62&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />



 

 

调用weka

 

1.       新建项目,添加weka安装目录下的weka.jar

2.       类文件中添加如下引用

http://s10/mw690/001H6G6Kzy6Hh0Q3BuVf9&690IDEA 13学习笔记--调用WEKA" TITLE="Intellij IDEA 13学习笔记--调用WEKA" />

3.       Main方法如下

public static void main(String[] args) {

 

        Classifier m_classifier = new J48();

 

        try

        {

            String[] options = new String[2];

            options[0] = "-R";                            

            options[1] = "39";                              // 过滤第39个属性

            Remove remove_train = new Remove();                 // new instance of filter

            remove_train.setOptions(options);                  // set options

            Remove remove_test=new Remove();

            remove_test.setOptions(options);

 

 

 

            File inputFile = new File("D://flowspeed//accident//complete_discresize.arff");//训练文件

            ArffLoader atf = new ArffLoader();

            atf.setFile(inputFile);

            Instances instancesTrain_or = atf.getDataSet(); // 读入训练文件

            remove_train.setInputFormat(instancesTrain_or);

            Instances instancesTrain = Filter.useFilter(instancesTrain_or, remove_train);   // apply filter

 

 

            inputFile = new File("D://flowspeed//accident//test_classifier.arff");//测试文件

            atf.setFile(inputFile);

            Instances instancesTest_or = atf.getDataSet(); // 读入测试文件

            remove_test.setInputFormat(instancesTest_or);

            Instances instancesTest = Filter.useFilter(instancesTest_or, remove_test);   // apply filter

 

 

            instancesTest.setClassIndex(2); //设置分类属性所在行号(第一行为0号),instancesTest.numAttributes()可以取得属性总数

            instancesTrain.setClassIndex(2);

            double sum = instancesTest.numInstances(),//测试实例数

                    right = 0.0f;

 

            m_classifier.buildClassifier(instancesTrain); //训练

            for(int  i = 0;i测试分类结果

            {

                if(m_classifier.classifyInstance(instancesTest.instance(i))==instancesTest.instance(i).classValue())//如果预测值和答案值相等(测试中的分类列提供的须为正确答案,结果才有意义)

                {

                    right++;//正确值加1

                }

            }

            System.out.println("J48 classification precision:"+(right/sum));

        }

        catch (Exception e)

        {

 

            System.out.println("错误!"+e.getMessage());

        }

 

 

    }

4.        

 

参考文献:

 

http://blog.csdn.net/nestingchina/article/details/8946054

http://blog.csdn.net/nestingchina/article/details/8946054

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有