logo
Loading...

異常值偵測如何判斷資料特性 繪製ECDF圖形出現AttributeError: 'ECDF' object has no attribute 'index'錯誤 - Cupoy

Hi您好, 我在 Day_009_HW 有遇到兩個問題 第一個問題: 在In[3] "# 檢視...

ecdf,ml100-3-d09,ml100-3

異常值偵測如何判斷資料特性 繪製ECDF圖形出現AttributeError: 'ECDF' object has no attribute 'index'錯誤

2019/09/05 上午 11:59
機器學習共學討論版
David Teng
觀看數:275
回答數:2
收藏數:1
ecdf
ml100-3-d09
ml100-3

回答列表

  • 2019/09/05 下午 09:25
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    第一個問題:請問這一步確定是用目視篩檢, 還是有做什麼數學演算的動作呢? 


    => 異常值偵測通常會採用「統計」或是「畫圖」的方式做檢查。例如:統計可以用值域或是分位數、畫圖可以看數值的分佈圖等等的。或是後面講是講的 cdf、ecdf 也是一種判斷方法

  • 2019/09/05 下午 09:29
    張維元 (WeiYuan)
    贊同數:5
    不贊同數:0
    留言數:0

    第二個問題,如果使用參考套件實作的範例:


    ``` 

    import statsmodels.api as sm  

    cdf = sm.distributions.ECDF(app_train['AMT_INCOME_TOTAL'])  

    plt.plot(cdf.x, cdf.y) 

    ```


    畫出來的圖會長這樣:



    不過出題專家這題不是用該套件(自己實作的樣子),所以後面的程式也需要依情況調整:


    ```

    import statsmodels.api as sm  

    cdf = sm.distributions.ECDF(app_train['AMT_INCOME_TOTAL'])  

    plt.plot(cdf.x, cdf.y) 

    plt.xlabel('Value') 

    plt.ylabel('ECDF') 

    plt.xlim([cdf.x[1], cdf.x[-1] * 1.05]) # 限制顯示圖片的範圍 

    plt.ylim([-0.05,1.05]) # 限制顯示圖片的範圍 

    plt.show() 

    ```