logo
Loading...

Day_026_HW 準確度反而上升的結果解釋 - Cupoy

老師們您好,關於day 26作業上的執行,我使用與解答略為不同的方式進行經度實際距離cos轉換,我的...

ml100-2, 觀察結果,ml100-2-d26

Day_026_HW 準確度反而上升的結果解釋

2019/05/20 11:46 PM
機器學習新手論壇
梁文宣
觀看數:0
回答數:2
收藏數:0
ml100-2
觀察結果
ml100-2-d26

老師們您好,

關於day 26作業上的執行,我使用與解答略為不同的方式進行經度實際距離cos轉換,我的程式碼如下:

df['distance_real'] = ((df['pickup_latitude'].map(lambda x: math.cos(x/180*math.pi))*df['longitude_diff'])**2 + df['latitude_diff']**2)**0.5




我得到的結果看在gradient boosting看來跟解答情況類似,但是linear regression的結果卻提昇了將近10倍,達到23%。



但是只跑real distance單變量時(作業2),結果也跟解答差不多,R^2都不到1%


想知道:

1. 會發生原因,是因為找出real distance與2D distance 對Fare 的 mask association嗎?

2. 為什麼gradient boosting跟Linear regression面對「多一個變數的變化」會差這麼多?

3. 在真實世界中,這算是個aha-moment嗎?還是有什麼實際操作來更審慎的看待這個發現?


完整程式碼:

import math

df['distance_real'] = ((df['pickup_latitude'].map(lambda x: math.cos(x/180*math.pi))*df['longitude_diff'])**2 + df['latitude_diff']**2)**0.5

# 觀察結果 

train_X = scaler.fit_transform(df)

print(f'Linear Reg Score : {cross_val_score(Linear, train_X, train_Y, cv=5).mean()}')

print(f'Gradient Boosting Reg Score : {cross_val_score(GDBT, train_X, train_Y, cv=5).mean()}')