在Python中使用机器学习来加载自定义数据集?

时间:2017-07-18 12:48:08

标签: python machine-learning scikit-learn machine-learning-model

以下是问题: 它需要2个变量输入,并预测结果。

例如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. 

谢谢!

1 个答案:

答案 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)