-2

问题出在这里: 它需要2个变量输入,并预测结果。在Python中使用机器学习来加载自定义数据集?

例如pricevolume作为输入和买入/卖出的result决定。

我试着用K-Neighbors来实现这个没有成功。你会怎么做呢?

X = cleanedData['ES1 End Price'] #only accounts for 1 variable, don't know how to use input another. 
y = cleanedData["Result"] 
print(X.shape, y.shape) 
kmm = KNeighborsClassifier(n_neighbors = 5) 
kmm.fit(X,y) #ValueError for size inconsistency, but both are same size. 

谢谢!

+0

请出示cleanedData' –

+0

的'的定义是对问题的自定义数据,或如何从分类器中获得预测? – doctorlove

+0

这是相同的原始计数?什么是错误? –

回答

2

X需要一个matrix/2d array其中每列代表一个功能,这似乎并没有真正从您的代码,试图重塑XX[:,None]到2d:

kmm.fit(X[:,None], y) 

或不借助于重塑,您最好总是使用列表从数据框中提取特征:

X = cleanedData[['ES1 End Price']] 

或与m矿石多于一个的列:

X = cleanedData[['ES1 End Price', 'volume']] 

然后X将是一个二维数组,并且可以在fit可以直接使用:

kmm.fit(X, y) 
+0

这帮助了这个错误,但我想知道如何将X声明为两列。到目前为止,我所拥有的只是X = clearedData ['ES1 End Price'],但我还需要包含音量。有什么想法吗?上述建议是否还有另一个维度? – Akashdas221

+0

如果你有一个数据框,你可以执行'cleanData [['ES1 End Price','volume']]''这次不需要重新设计。 – Psidom

+0

感谢您的回复 - 刚才实现了上述功能,但是现在我在kmm.fit(X [:,None],y)行上得到了TypeError:难以置信的类型。建议? – Akashdas221