多項式迴歸曲線我是新來sklearn和我有一個適當的簡單的任務:給定的15點的散點圖,我需要故障配件在sklearn
- 把他們的11作爲我的訓練樣本',
- 通過這11個點擬合3次多項式曲線;
- 在15個點上畫出得到的多項式曲線。
但是我陷入了第二步。
這是數據圖:
%matplotlib notebook
import numpy as np from sklearn.model_selection
import train_test_split from sklearn.linear_model
import LinearRegression from sklearn.preprocessing import PolynomialFeatures
np.random.seed(0)
n = 15
x = np.linspace(0,10,n) + np.random.randn(n)/5
y = np.sin(x)+x/6 + np.random.randn(n)/10
X_train, X_test, y_train, y_test = train_test_split(x, y, random_state=0)
plt.figure() plt.scatter(X_train, y_train, label='training data')
plt.scatter(X_test, y_test, label='test data')
plt.legend(loc=4);
我再取11分X_train
和度數3的聚特點如下改造他們:
degrees = 3
poly = PolynomialFeatures(degree=degree)
X_train_poly = poly.fit_transform(X_train)
然後我儘量合身通過變換點的線(注意:X_train_poly.size
= 364)。
linreg = LinearRegression().fit(X_train_poly, y_train)
,我得到以下錯誤:
ValueError: Found input variables with inconsistent numbers of samples: [1, 11]
我已閱讀,解決類似的和更爲複雜的問題(例如Multivariate (polynomial) best fit curve in python?)的各種問題,但我不能提取它們的解決方案。
可能重複:https://stackoverflow.com/questions/32097392/sklearn-issue-found-arrays-with-inconsistent-numbers -of次採樣時,這樣做,REGR – Moritz