我的問(wèn)題的小樣本在repo 中。我在.data文件中有以下數(shù)據(jù)集:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,Action0,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"數(shù)據(jù)集有 16 個(gè)int特征,最后一列是String. 我想使用前 16 個(gè)特征來(lái)預(yù)測(cè)最后一列knn。我已經(jīng)根據(jù)這個(gè)鏈接成功地訓(xùn)練了我的模型。 knn = new KNearestNeighbors(5); knn.buildClassifier(data);但是現(xiàn)在,我需要測(cè)試我的模型。因此,TestData 的格式是 16 個(gè)整數(shù),我希望knn模型能夠預(yù)測(cè)動(dòng)作。樣本測(cè)試數(shù)據(jù)為:4,4,0,0,2,0,0,0,0,0,0,0,0,0,0,2基于代碼,我需要有一個(gè)來(lái)自的Instance 接口對(duì)象net.sf.javaml.core.Instance,但問(wèn)題是:我想知道如何創(chuàng)建這樣的實(shí)例?
1 回答

犯罪嫌疑人X
TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
那么你可以簡(jiǎn)單地使用SparseInstance方法,該方法要求一個(gè)雙精度數(shù)組。如果您將 TestData 轉(zhuǎn)換為Double,那么這將非常容易:
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);
我在你的 repo 上嘗試了上面的代碼,它給了我:
Result is: Left
添加回答
舉報(bào)
0/150
提交
取消