2017-07-08 4 views
1

私は、リニアレグレッションと多項式回帰をscikit learnで研究しています。私は2次多項式データセットを生成し、3次多項式モデルを訓練しました。元のデータを使ってプロットをオーバーフィットしたいと思っています。しかしプロットは3度の曲線のようには見えません。度を1に変更すると、それは良い線を表示します。私はここで何が欠けていますか?なぜ私の3度ポリモニアルの描画はとても奇妙ですか?

# over fit 
poly_features_3 = PolynomialFeatures(degree=3, include_bias=False) 
X_poly_3 = poly_features_3.fit_transform(X) 
lin_reg_3 = LinearRegression() 
lin_reg_3.fit(X_poly_3, y) 
y_predict = lin_reg_3.predict(X_poly_3) 
plt.scatter(X, y, color='black') 
plt.plot(X, y_predict, color='red') 
plt.show() 

enter image description here

答えて

2

値は、プロットが前後にジャンプするようにソートされていません。

私はあなたが

plt.plot(np.sort(X), y_predict[np.argsort(X)], color='red') 
+0

は 'np.argsort()'存在を知っていたことはありませんプロットしたいと思います。ニフティ! –

関連する問題