2017-11-03 5 views
0

私はthis linear regression tutorialに従っています。ここに私のコードです:私は、スクリプトを実行するとすべてのMatplotlibポイントは、y値に関係なく、グラフの一番下に表示されます

import pandas as pd 
from sklearn import linear_model 
import matplotlib.pyplot as plt 

dataframe = pd.read_fwf('brain_body.txt') 
x_values = dataframe[['Brain']] 
y_values = dataframe[['Body']] 

body_reg = linear_model.LinearRegression() 
body_reg.fit(x_values, y_values) 

plt.scatter(x_values, y_values) 
plt.plot(x_values, body_reg.predict(x_values)) 
plt.show() 

が、私はエラーを取得していないが、しかし、グラフはy値を考慮していないようです。私は3つにデータポイントを低減しますので、見に簡単です:

enter image description here

私は手動でplt.ylim([-1000,7000])が、運とy軸を変更しようとしました。

ありがとうございました!

+0

あなたが桁違いに他のすべてを超えている一つの値を持っています。 –

答えて

1

コードには何も問題はありません。データの残りの部分に関して極端な値がいくつかあります。 Matplotlibは極端な値を表示するためにグラフを展開しますが、それは他のすべての束を集めることに終わります。あなたのylimのみ効果を高めるだろう広げる - しようとずっと小さくylim、代わりにxlim

plt.ylim([0, 20]) 
plt.xlim([0, 2]) 

plot

関連する問題