為了能夠對資料集有乙個更好的理解,我們可以對資料集中的每乙個產品特徵構建乙個散布矩陣(scatter matrix)。如果你發現你在上面嘗試**的特徵對於區分乙個特定的類別來說是必須的,那麼這個特徵和其它的特徵可能不會在下面的散射矩陣中顯示任何關係。相反的,如果你認為這個特徵對於識別乙個特定的類別是沒有作用的,那麼通過散布矩陣可以看出在這個資料特徵和其它特徵中有關聯性。執行下面的**以建立乙個散布矩陣。
pd.tools.plotting.scatter_matrix(data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');
上圖資料含有噪音,不是正態分佈,取對數後重新畫圖:
log_data = np.log(data)
# 為每一對新產生的特徵製作乙個散射矩陣
pd.tools.plotting.scatter_matrix(log_data, alpha = 0.3, figsize = (14,8), diagonal = 'kde');
判斷屬性關聯度的方法
對於任何的分析,在資料預處理的過程中檢測資料中的異常值都是非常重要的一步。異常值的出現會使得把這些值考慮進去後結果出現傾斜。這裡有很多關於怎樣定義什麼是資料集中的異常值的經驗法則。這裡我們將使用tukey的定義異常值的方法:乙個異常階(outlier step)被定義成1.5倍的四分位距(interquartile range,iqr)。乙個資料點如果某個特徵包含在該特徵的iqr之外的特徵,那麼該資料點被認定為異常點。
機器學習筆記15 資料預處理
乙個資料集有時可能包含至少乙個靠近某個數字的特徵,但有時也會有一些相對來說存在極大值或者極小值的不平凡分布的的特徵。演算法對這種分布的資料會十分敏感,並且如果這種資料沒有能夠很好地規一化處理會使得演算法表現不佳。對於高度傾斜分布的特徵如 capital gain 和 capital loss 常見的...
機器學習 資料預處理
均值為0,標準差為1 from sklearn import preprocessing scaler preprocessing.standardscaler scaler.fit transform x 對原始資料進行線性變換,變換到 0,1 區間 也可以是其他固定最小最大值的區間 from s...
機器學習 資料預處理
1 連續資料特徵離散化的方法 由於lr 中模型表達能力有限,可以通過特徵離散化來提高非線性學習能力。主要方法 1 等距離散 取值範圍均勻劃分成n 等分,每份的間距相等。2 等頻離散 均勻分為n 等分,每份內包含的觀察點數相同 3 優化離散 3 1 卡方檢驗方法 統計樣本的實際觀測值與理論判斷值之間的...