无法在python中使用给定值进行预测

问题描述 投票:0回答:1
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)

python-3.x machine-learning polynomial-math
1个回答
0
投票

您首先需要变换要对其进行预测的x值。因此,您只需要将最后一行更改为:

reg.predict(poly_reg.fit_transform([[13000]]))

然后应该可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.