zbning0827 2015-12-03 09:50 采纳率: 0%
浏览 4043

java weka 朴素贝叶斯算法 数据分类问题

现在有一个需求需要实现如下功能:
根据x,y,z的值得到状态,比如:0.5,0.1,0.2 状态是sit;0.6,0.1,0.2 状态是stand.
后来上网查到weka这个东西,因为我对算法确实不太了解,也没看懂,只能模仿。

我有一个训练样本,命名test1.arff,内容的一部分如下:
@relation test1

@attribute x numeric
@attribute y numeric
@attribute z numeric
@attribute status {sit, sit_down, stand, stand_up, walk}

@data
-0.09375,0.01178,-0.96912,sit
-0.09375,0.01178,-1.0003,sit
-0.078125,0.027283,-1.0004,sit
-0.10931,0.027283,-1.0004,sit
-0.1875,0.01178,-0.96948,sit
-0.21844,0.089783,-1.0009,sit
-0.21844,0.074158,-0.9541,sit
-0.24976,0.074341,-1.0009,sit

采集的数据我放到一个.csv文件中,命名testcsv.csv,内容如下:
x y z
-0.31317 -0.15991 -0.92328
-0.34442 -0.15991 -0.92328
-0.34442 -0.15991 -0.92328
-0.34442 -0.15997 -0.9389
-0.34442 -0.15997 -0.92328
-0.34442 -0.17554 -0.92322
-0.32886 -0.17554 -0.92322
-0.3288 -0.15985 -0.90759
-0.34442 -0.15997 -0.9389
-0.34442 -0.1756 -0.92328
-0.34448 -0.15991 -0.92322

现在就是想能通过weka的朴素贝叶斯算法,根据训练样本数据的状态分类,得到我采集的这些数据的状态。请问该如何实现呢。

// 读入训练样本
File file = new File("D:\wekaTest\test1.arff");
ArffLoader loader = new ArffLoader();
loader.setFile(file);
ins = loader.getDataSet();
ins.setClassIndex(ins.numAttributes() - 1);
// 初始化分类器
cfs = (Classifier) Class.forName("weka.classifiers.bayes.NaiveBayes").newInstance();

        // 使用训练样本进行分类
        cfs.buildClassifier(ins);
        System.out.println(cfs.toString());

        下面就不会写了。。。。

        非常着急啊,weka的API也没看懂,全英文。。。
        请大神指点。
  • 写回答

4条回答 默认 最新

  • zbning0827 2015-12-03 09:56
    关注

    System.out.println(cfs.toString()); 打印出来的如下图:
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 求解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果