ValueError: Ожидаемый 2D-массив, вместо него получен скалярный массив: array = 5.5 - PullRequest
1 голос
/ 01 мая 2019

Почему я получаю ошибку ниже?

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 голосов
/ 01 мая 2019

попробуйте использовать это, чтобы предсказать:

  tree_reg.predict([[5.5]])  

обратите внимание на использование [[]] в качестве 2d-массива, например: (sample_num, feature_num)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...