EDA 分析

分析數據-設置驗證集-檢查數據泄露

分析步驟

  • 瞭解領域知識
    • 搜索關鍵詞,搜索數據的含義
  • 檢查數據是否存在異常值,超出範圍的值
  • 理解如何生成特徵

分析匿名數據(Anonymized data)

        對於某些數據集中的特徵被匿名的情況,我們需要通過一定的手段來推測特徵的含義或者特徵的類型。例如下表中,原始的text信息被使用一定的加密手段加密,給出了加密後的encode信息

Anonymized data

對於匿名數據的探究可以從以下幾個方面進行:
  1. 猜想每列的物理含義
  2. 猜測每列的數據類型:數值類型、類別變量、時間類型
  3. 試圖尋找特徵列之間的關係
  4. 試圖尋找特徵羣

pandas中提供的常用的函數:

 

數據可視化

不要相信單個可視化的結果,當對某種情況做出假設時,嘗試着用不同的圖去驗證猜想
可視化的手段:
  • 單個特徵
    • 直方圖:plt.hist(X)
    • plot:plt.plot()
    • 統計學:df.describe()

 
  • 類別變量直方圖分佈sns.countplot(train_df['device.operatingSystem'])

  • 特徵之間的關係
    • 相關性分析:df.corr()
    • 點圖:plt.scatter()
plt.scatter(x1,x2)
pd.scatter_matrix(df)
df.corr(),plt.matshow(..)
df.mean().sort_values().plot(style='.')

 

  • Explore individual features
    • Histogram
    •  Plot (index vs value)
    • Statistics
  •  Explore feature relations
    •  Pairs
    • Scatter plot, scatter matrix
    • Corrplot
  •  Groups
    • Corrplot + clustering
    • Plot (index vs feature statistics)
 

數據清洗和Check

  • 常值特徵:constant feature
train.nunique(axis=1)==1
  • 策略:remove it
  • 重複特徵列:duplicated feature

 
        可以看出連個數值特徵的取值完全相同,所以通過drop_duplicates()刪除一列特徵。對於類別變量,雖然其對應的取值不一定相同,但是類別變量的取值集合相同,同樣表明是重複列,因此也需要刪除,但是此時直接使用drop_duplicates()是無法刪除的因爲其不是具有一一對應相等,所以需要先對類別特徵進行label encoding
 

 
  • 重複數據行:對於數據中存在多個相同數據行時,最好刪除多餘的行
  • 檢查數據集是否是shuffle
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章