logo
Loading...

使用LinearRegression訓練時出現float() argument must be a string or a number, not 'pandas._libs.interval.Interval' 問題 - Cupoy

您好~我有幾個問題想請問您~1. 若按照D12的方式來做出特徵(如某欄位做等寬劃分成10分),那是否...

ml100-2,ml100-2-d12,Linear Regression

使用LinearRegression訓練時出現float() argument must be a string or a number, not 'pandas._libs.interval.Interval' 問題

2019/06/05 下午 10:20
機器學習共學討論版
孫浩倫
觀看數:41
回答數:2
收藏數:0
ml100-2
ml100-2-d12
Linear Regression

您好~

我有幾個問題想請問您~

1. 若按照D12的方式來做出特徵(如某欄位做等寬劃分成10分),那是否可以帶入模型中訓練呢? 因為我用LinearRegression訓練時會出現問題: 

float() argument must be a string or a number, not 'pandas._libs.interval.Interval'  

目前不確定是程式有錯還是這個方法不可行..? 或者我該做什麼處理呢?


2.倘若上述方法可行,那等寬劃分後,若training set 和 testing set因為資料的不同所以兩者切出的東西有可能不同? 假設不同的話該如何處理呢...?


謝謝您~~

回答列表

  • 2019/06/06 下午 00:09
    張維元 (WeiYuan)
    贊同數:3
    不贊同數:0
    留言數:0

    1. 若按照D12的方式來做出特徵(如某欄位做等寬劃分成10分),那是否可以帶入模型中訓練呢? 因為我用LinearRegression訓練時會出現問題: 

    float() argument must be a string or a number, not 'pandas._libs.interval.Interval'  

    目前不確定是程式有錯還是這個方法不可行..? 或者我該做什麼處理呢?


    => 這邊先將資料些成 N 個寬度,再把資料轉成其中一個區間嗎?從錯誤上看起來是無法判斷型態,可能要幫區間命名一下。可以參考這邊的做法:https://stackoverflow.com/questions/45273731/binning-column-with-python-pandas

  • 2019/06/06 下午 00:11
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    2.倘若上述方法可行,那等寬劃分後,若training set 和 testing set因為資料的不同所以兩者切出的東西有可能不同? 假設不同的話該如何處理呢...?


    => 有可能,不過因為我們通常要假設,training set 和 testing set 來自同一個資料分布,所以理論上這樣是有問題的。有幾種解法:(1) 只 Follow training 就好  (2) 偷用 training set + testing set  的集合來切。