logo
Loading...

Outliner 觀念問題 - Cupoy

# 將 GrLivArea 限制在 800 到 2500 以內, 捨棄離群值keep_indexs ...

ml100-3,ml100-3-d10

Outliner 觀念問題

2019/09/07 04:50 AM
機器學習新手論壇
魏廷儒
觀看數:0
回答數:1
收藏數:0
ml100-3
ml100-3-d10

# 將 GrLivArea 限制在 800 到 2500 以內, 捨棄離群值

keep_indexs = (df['GrLivArea']> 800) & (df['GrLivArea']< 2500)

df = df[keep_indexs]

train_Y = train_Y[keep_indexs]

sns.regplot(x = df['GrLivArea'], y=train_Y)

plt.show()


# 做線性迴歸, 觀察分數

train_X = MMEncoder.fit_transform(df)

estimator = LinearRegression()

cross_val_score(estimator, train_X, train_Y, cv=5).mean()





以上這段script,其中 len(keep_indexs) = 1344

1.)我的理解是將DataFrame 中的1344筆資料,df['GrLivArea'] 當成 x 軸,train_Y 當成 y軸做線性迴歸並座圖


2.) 將DataFrame(此時為[1344 rows x 36 columns]) 做normalize,LinearRegression() 做為kernal , 以36 個attribute + 1個常數項為 做為對train_Y迴歸的對項,去計算cross_val_score 


3.) 不知道以上的理解是否有誤,如果無誤了話,對'GrLivArea'來說是outliner 的資料點不見得對 'MSSubClass', 'LotFrontage'…來說也是outliner , 如果我把'MSSubClass'等等36個 attribute 的outilner 的點都拿掉,資料點會不會變太少,實務中這種做法會不會太浪費資料點(資料取得不易)