一、資料理解(很重要!關係到如何分析與挖掘資料)
二、變數型別
1.名義變數
無順序程度的差別,如:安卓與ios、動作片與愛情片
2.定序變數
有一定程度的排序,如:優良差、教育程度(小學、初中、高中、大學及以上)
如何處理?
從模型角度,有的處理模型可直接處理分類變數,如決策樹,但對於其他模型,就需要對分類變數進行轉換成數值變數
1.對於名義變數:
0-1 型啞變數
變數取值範圍僅兩個時,可用0和1代替
變數取值範圍為k(k>2)個時,可構造k-1個啞變數來決定乙個名義變數,如教育程度有四種,考慮三個啞變數x1、x2、x3
各自取1分別代表前三種教育程度,都取0代表第四種教育程度
!!值得注意的是,定義啞變數的時候要盡量避免啞變數過多
如中國56個民族,不能定義55個啞變數,可以考慮把頻數較少的都歸『其他類』,那麼只需乙個啞變數
2.對於定序變數
直接按順序轉換為數值即可,如1、2、3
可直接進行代數運算的變數,如固定資本、銷售收入等
需要注意的是,用數值表示的不一定就是數值變數,如年份通常是作為名義變數的
如何處理?有的時候數值變數也需要轉化為分類變數,即「
資料分箱」,有以下三個原因:
資料存在誤差,所以按照數值的取值範圍歸為一類,是一種有效的平滑手段
資料存在大量不重複的取值,資料分箱可以幫助提高演算法效率
有些演算法只能處理分類變數
資料分箱的代表值:分箱內的均值、中位數、臨界值等;也可以直接定義為定序變數(低、中、高)
如何資料分箱?等寬分箱、等頻分箱、基於k均值聚類的分箱等,以及一些監督學習的方法,如使得最終結果達到最小熵
三、質量檢查
從合理性角度可將缺失分為
允許缺失與
不允許缺失
允許缺失是合理的,如使用者沒有購買商品,所以商品評價一欄為空,是允許缺失的
不允許缺失是本來應該有資料的,可能因為漏報等原因而丟失資料
再從缺失程度的角度看缺失
若缺失程度較高,如達到70%,可直接剔除資料
若缺失程度在接受範圍內,可採用
缺失值插補的方法進行補救
缺失值插補:
原則:使資料最大程度的還原真實值,所以在有途徑獲得真實值的情況下應該優先選擇獲得真實值,沒有途徑則選擇插補方法
方法:分為對數值變數與對分類變數
數值變數
用已觀測值的均值、中位數等來填補缺失值;
分類變數
用已觀測值中比例較高的類別進行插補
以上是比較簡單的插補方法,複雜一點的還有建立模型進行插補,如利用待插補變數與其他變數之間的關係建立統計模型,如回歸、決策樹等,將插補值作為**值進行學習與訓練
資料理解常用函式
1 資料的相關性 通常用來計算兩個屬性的相關性的方法是皮爾遜相關係數,介於 1 1之間。通過dataframe的corr 方法來計算資料相關性,如果資料屬性之間關聯性過高,則進行降維處理。from pandas import read csv filename iris.csv names sepa...
資料預處理
現實世界中資料大體上都是不完整,不一致的髒資料,無法直接進行資料探勘,或挖掘結果差強人意。為了提前資料探勘的質量產生了資料預處理技術。資料預處理有多種方法 資料清理,資料整合,資料變換,資料歸約等。這些資料處理技術在資料探勘之前使用,大大提高了資料探勘模式的質量,降低實際挖掘所需要的時間。一 資料清...
資料預處理
常見的資料預處理方法,以下通過sklearn的preprocessing模組來介紹 變換後各維特徵有0均值,單位方差。也叫z score規範化 零均值規範化 計算方式是將特徵值減去均值,除以標準差。sklearn.preprocessing scale x 一般會把train和test集放在一起做標...