03 特徵清洗

2022-09-15 15:27:17 字數 1681 閱讀 9540

當資料缺失時出現的問題:

缺失機制:

如何假設乙個缺失的機制:

如何處理missing data:

在實際環境中,當很難確定缺失的機制或幾乎沒有時間深入研究每個缺失的變數時,最流行的方法是採用:

離群值是一種觀測值,它與其他觀測值相差甚遠,以至於使人懷疑它是由另一種機制引起的。根據上下文,異常值要麼值得特別注意,要麼應該完全忽略。例如,信用卡上不尋常的交易通常是欺詐活動的標誌,而高度的乙個人的1600厘公尺很可能是由於測量誤差,應該被過濾掉或用其他值代替

根據上下文,異常值要麼值得特別注意,要麼應該完全忽略。以收入**為例:如果觀察到不尋常的收入峰值,那麼最好對它們多加關注,並找出造成這種峰值的原因。同樣,信用卡上不尋常的交易通常是欺詐活動的標誌,而這正是信用卡發行商想要預防的。因此,在這樣的情況下,尋找和研究進一步的異常值是很有用的。但是,如果異常值是由於機械誤差、測量誤差或其他任何不能泛化的原因造成的,那麼最好在將資料提供給建模演算法之前過濾掉這些異常值 

離群值的問題:

離群點檢測:

應該根據上下文如何定義和對這些異常值做出反應。你的反應的意義應該由潛在的上下文決定,而不是數字本身

離群點檢測最基本的形式是一維資料的極值分析。這種方法的關鍵是確定變數底層分布的統計尾數,然後找到尾數末尾的值。在典型的情況下,該變數的分布是高斯分布,因此離群值位於平均值±3乘以該變數的標準差之外。如果不是正態分佈的變數,一般的方法是計算分位數,然後interquantile範圍(差),如下:差= 75分位數- 25分位數局外人會坐在外面以下上下邊界:上限= 75分位數+ (iqr * 1.5)下邊界= 25分位數- (iqr * 1.5)或極端情況下:上限= 75分位數+ (iqr * 3)下邊界= 25分位數- (iqr * 3)

離群點處理:

很少出現的值,在某些情況下,罕見值(如離群值)可能包含有價值的資料集資訊,因此需要特別注意。例如,交易中罕見的值可能表示欺詐。而其他情況下,罕見值或許應該去除或者用其他值代替。

罕見值的問題:

如何處理罕見值:

如果乙個特徵是用來表示類別/定性的(categorical),而且這個特徵的可能值非常多,通常用0-n的離散整數來表示,那麼它就是高基數類別特徵

高基數的問題:

如何處理高基數:

特徵工程 清洗資料

我們在進行機器學習的時候,採用的資料樣本往往是向量 特徵向量 而我們的原始資料並不是以向量的形式呈現給我們的,這是便需要將資料對映到特徵 直接對映便ok 雖然機器學習是根據浮點值進行的訓練,但是不需要將整數6轉換為6.0,這個過程是預設的 好多時候,有的特徵是字串,比如此前訓練的加利福尼亞房產資料集...

資料清洗及特徵處理

import numpy as np import pandas as pd df pd.read csv train.csv 檢視每個特徵缺失值個數 df.info df.isnull sum df.dropna df.fillna 對age列的資料缺失值進行處理 df df age none 0...

資料清洗與特徵工程

查詢空值 處理空值的辦法 1.刪除空值所在的行 2.用給定的值去填充 查詢重複值 刪除重複值 對數值型資料 連續資料進行離散化處理 文字型別處理 方法三 使用sklearn.preprocessing的labelencoder from sklearn.preprocessing import la...