ValueError:预期的2D数组,改为标量数组:array = 5.5

时间:2019-05-01 09:25:26

标签: python machine-learning python-3.7

为什么我会看到下面的错误?

  

ValueError:预期的2D数组,而是标量数组:array = 5.5。   如果您的数据有一个数组,请使用array.reshape(-1,1)重塑数据。   单一要素或array.reshape(1,-1)(如果其中包含单个样本)。

这是我的代码:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

df = pd.read_csv("decision-tree-regression-dataset.csv",sep = ";",header = None)
x = df.iloc[:,0].values.reshape(-1,1)
y = df.iloc[:,1].values.reshape(-1,1)

# decision tree regression
from sklearn.tree import DecisionTreeRegressor
tree_reg = DecisionTreeRegressor()   # random sate = 0
tree_reg.fit(x,y)
tree_reg.predict(5.5)
x_ = np.arange(min(x),max(x),0.01).reshape(-1,1)
y_head = tree_reg.predict(x_)

# visualize
plt.scatter(x,y,color="red")
plt.plot(x_,y_head,color = "green")
plt.xlabel("tribun level")
plt.ylabel("ucret")
plt.show()

1 个答案:

答案 0 :(得分:0)

尝试使用它来预测:

  tree_reg.predict([[5.5]])  

请注意使用[[]]作为2d数组,例如(sample_num,feature_num)