-2

这就是问题所在: 它需要 2 个变量输入,并预测一个结果。

例如:作为输入和购买/出售的price决定。volumeresult

我尝试使用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. 

谢谢!

4

1 回答 1

2

X需要是一个矩阵/二维数组,其中每列代表一个特征,从您的代码中看起来并不正确,请尝试X使用以下方式重塑为 2d X[:,None]

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

或者不诉诸重塑,您最好始终使用列表从数据框中提取特征:

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

或多于一列:

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

那么 X 将是一个二维数组,并且可以直接用于fit

kmm.fit(X, y)
于 2017-07-18T12:52:43.140 回答