首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多元KNN预测

多元KNN预测
EN

Stack Overflow用户
提问于 2018-05-03 20:29:58
回答 1查看 954关注 0票数 2

因此,如果我有一个功能来预测下一个结果的数据,那么我有适用于knn.predict()的代码。为了将其放到上下文中,我有股票数据(公开、高、低、收盘),其中我使用"Open“作为"X”数据,"Close“作为" Y”数据,knn.predict将预测Y的下一个值。

当我尝试对我的X数据使用"Open,High,Low“列(3个特性)时,我会得到以下错误:

代码语言:javascript
复制
File "sklearn\neighbors\binary_tree.pxi", line 1294, in sklearn.neighbors.kd_tree.BinaryTree.query
ValueError: query data dimension must match training data dimension

我相信这是因为我的X.shape和Y.shape,X和Y的大小不一样,但我不知道如何修复它。如果X和Y必须是相同大小的话,如何使用KNN进行多特征分析?

“刑法”的一些内容:

代码语言:javascript
复制
df = df[['Date','Time', 'Open', 'High', 'Low', 'Close']]
df.head()

# Predictor Variables
df['Open'] = df.Open
df['High'] = df.High
df['Low'] = df.Low
df['Close'] = df.Close
df = df.dropna()
#Data = np.delete(arr = df, obj=0, axis = 0)
X = np.array(df.ix[:, 2:6])
#X.head()
print X.shape

# Target Variable
Y = np.where(df['Close'].shift(-1)>df['Close'],1,-1)
#print (Y)

#Predict
u = df['Close'].iloc[-1]
#print u
new_prediction = knn.predict(u)
print new_prediction
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-03 20:49:02

为了训练,你用

代码语言:javascript
复制
X = np.array(df.ix[:, 2:6])

也就是说,一个6-2=4列的矩阵,意味着邻居是4-元组.

为了预测,你用

代码语言:javascript
复制
u = df['Close'].iloc[-1]

这是一个标量。

最近的邻居没有定义,而滑雪板是非常不快乐的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50163386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档