import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv('poly.csv')
x = dataset.iloc[:,1:2].values
y = dataset.iloc[:,3:4].values
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x,y,train_size = 0.8, shuffle= False, random_state = 0)
from sklearn.preprocessing import PolynomialFeatures
poly_reg = PolynomialFeatures(degree=3)
x_poly = poly_reg.fit_transform(x)
poly_reg.fit(x_poly, y)
from sklearn.linear_model import LinearRegression
reg = LinearRegression()
reg.fit(x_poly, y)
reg.predict([[13000]])
数据集
https://drive.google.com/open?id=10kbNBEEvShSZ_svxrYxPNXinB9Jw1f61
错误:
...:reg.predict([[13000]])C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ sklearn \ model_selection_split.py:2026:FutureWarning:从版本0.21开始,test_size将始终作为补充除非同时指定了train_size。 FutureWarning)追溯(大多数最近通话结束):
文件“”,第24行,在reg.predict([[13000]])
文件“ C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ sklearn \ linear_model \ base.py”,预测中的第256行返回self._decision_function(X)
文件“ C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ sklearn \ linear_model \ base.py”,_decision_function中的第241行density_output = True)+ self.intercept _
文件“ C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ sklearn \ utils \ extmath.py”,第140行,在safe_sparse_dot中返回np.dot(a,b)
ValueError:形状(1,1)和(4,1)不对齐:1(dim 1)!= 4(dim 0)
您首先需要变换要对其进行预测的x值。因此,您只需要将最后一行更改为:
reg.predict(poly_reg.fit_transform([[13000]]))
然后应该可以正常工作。