如何使用TestData在javaml中创建实例?
我的问题的一个小例子是 我在如何使用TestData在javaml中创建实例?,java,machine-learning,knn,Java,Machine Learning,Knn,我的问题的一个小例子是 我在.data文件中有以下数据集: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,Action 0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,"Up" 2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,"Left" 4,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,"Left" 4,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,"Up" 4,4,0,0,2,0,0,0,0,0,0,
.data
文件中有以下数据集:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,Action
0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,"Up"
2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,"Left"
4,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,"Left"
4,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,"Up"
4,4,0,0,2,0,0,0,0,0,0,0,0,0,0,2,"Up"
8,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,"Left"
数据集有16个int
特性,最后一列是String
。我想使用前16个特性,使用knn
预测最后一列
我已经成功地基于以下内容训练了我的模型
但是现在,我需要测试我的模型。因此,TestData的格式是,16个整数,我希望knn
model能够预测动作
样本测试数据为:
4,4,0,0,2,0,0,0,0,0,0,0,0,0,0,2
基于代码,我需要从net.sf.javaml.core.Instance
获得一个实例接口的对象,但问题是:
我想知道如何创建这样的实例?好吧,您可以简单地使用要求一个双精度数组的方法。如果将测试数据转换为双精度
,则非常容易:
double[] testData = {32,16,8,2,16,8,2,2,8,2,0,0,0,0,0,0};
Instance inst=new SparseInstance(testData);
Object predictedClassValue = knn.classify(inst);
System.out.println("Result is: "+predictedClassValue);
我在您的回购协议上尝试了上述代码,它给了我:
Result is: Left
Result is: Left