【问题标题】:ValueError: Expected 2D array, got scalar array instead: array=11ValueError:预期的 2D 数组,得到了标量数组:array=11
【发布时间】:2019-09-11 15:03:56
【问题描述】:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

dataset = pd.read_csv('C:/Users/Dell/Desktop/Salary.csv')

X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 1].values

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3, 
random_state=0)
from sklearn.linear_model import LinearRegression
simplelinearRegresson = LinearRegression()
simplelinearRegresson.fit(X_train, y_train)
y_predict = simplelinearRegresson.predict(X_test)

下面一行有错误:

 y_predict_val = simplelinearRegresson.predict(11)

【问题讨论】:

  • 您需要这方面的任何其他帮助吗?
  • 请将您需要的问题放在问题正文中,以便从社区获得答案。

标签: python pandas numpy scikit-learn


【解决方案1】:

您需要将标量转换为形状为(number of samples, number of features) 的二维数组。

y_predict_val = simplelinearRegresson.predict([[11]])

这是predict 方法所期望的。请参阅docs 了解更多信息。

【讨论】:

  • y_predict_val = LinearRegression.predict([[11]]) TypeError: predict() missing 1 required positional argument: 'X
  • simplelinearRegresson.predict([[11]]),不是LinearRegression.predict([[11]])
猜你喜欢
  • 2021-11-15
  • 2019-09-19
  • 2018-12-11
  • 2021-09-02
  • 2020-03-19
  • 2021-12-29
  • 1970-01-01
  • 2018-12-21
  • 2019-06-15
相关资源
最近更新 更多