以下是问题: 它需要2个变量输入,并预测结果。
例如:price
和volume
作为输入,并作为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 :(得分:2)
X
必须是matrix/2d array,其中每列代表一项功能,从您的代码中看似不正确,尝试使用X
重新设置X[:,None]
到2d :
kmm.fit(X[:,None], y)
或者,如果不采用重塑形式,最好始终使用列表从数据框中提取要素:
X = cleanedData[['ES1 End Price']]
包含多列的OR:
X = cleanedData[['ES1 End Price', 'volume']]
然后X将是一个二维数组,可以直接在fit
中使用:
kmm.fit(X, y)