logo
Loading...

關於 羅吉斯回歸的問題 - Cupoy

我在跑自己資料時遇到一些疑問問題一  我在跑羅吉斯回歸時 有出現錯誤 https://stackov...

ml100-2

關於 羅吉斯回歸的問題

2019/05/30 下午 02:50
機器學習共學討論版
cathyy
觀看數:9
回答數:2
收藏數:0
ml100-2

我在跑自己資料時遇到一些疑問

問題一  

我在跑羅吉斯回歸時 有出現錯誤 

https://stackoverflow.com/questions/45346550/valueerror-unknown-label-type-unknown 

並在網址上找到解答 他說應變數 Y 要改成數值型 我改了也有跑成功 

但是應變數 Y (0 1 0 0 1)這些label應該是類別型才對吧  就像鐵答尼號 預測是否生存一樣 

為什跑模型要轉成數值 ?? 


問題二   

https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html 

這網址有介紹 在跑預測值時  有三種寫法 一種會跑出 1 或 0 一種會跑出機率 

predict(self, X)    Predict class labels for samples in X. 

predict_log_proba(self, X)    Log of probability estimates. 

predict_proba(self, X)    Probability estimates. 

請問哪一種寫法 會得出最好的預測結果 也比較部會overfitting ?? 

回答列表

  • 2019/05/30 下午 05:28
    Jimmy
    贊同數:3
    不贊同數:0
    留言數:0

    Hi Cathyy!


    不管是分類問題還是回歸問題,都是丟數值的資料進去,差別在於,分類問題會丟正整數,假設有三類,就會是 [1, 2, 1, 3, 1],代表五筆資料,每一筆都對應某個類別。回歸則是丟實數進去,看起來會像 [15.5, 168.1, 70.5],但都是要丟數值進去。


    這三種寫法是讓你模型以不同方式呈現預測結果。第一種直接幫你找出最大機率的類別,第二種回傳 log 後的機率給你,第三種回傳所有類別的機率給你,端看你想要哪種而已。所以這只是不同型態的預測結果,並不會影響訓練,也就沒有 overfitting 的情況喔!

  • 2019/05/31 上午 10:05
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    但是應變數 Y (0 1 0 0 1)這些label應該是類別型才對吧  就像鐵答尼號 預測是否生存一樣為什跑模型要轉成數值 ?? 


    => 因為大部分模型是基於數學做計算的,所以必須轉成數值才可以運算。雖然在套件上有些模型會幫你處理這一段,不過還是要知道這件事的脈絡。像字串型資料必須要做「One-Hot Encoding」或「 Label Encoding」也是一樣的原因~