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

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 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛