異常值偵測如何判斷資料特性 繪製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()
```