为什么我会看到下面的错误?
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()
答案 0 :(得分:0)
尝试使用它来预测:
tree_reg.predict([[5.5]])
请注意使用[[]]作为2d数组,例如(sample_num,feature_num)