python预处理缺失值_[Scikit-Learn] - 数据预处理 - 缺失值(Missing Value)处理
reference :?http://www.cnblogs.com/chaosimple/p/4153158.html
關于缺失值(missing value)的處理
在sklearn的preprocessing包中包含了對數據集中缺失值的處理,主要是應用Imputer類進行處理。
首先需要說明的是,numpy的數組中可以使用np.nan/np.NaN(Not A Number)來代替缺失值,對于數組中是否存在nan可以使用np.isnan()來判定。
使用type(np.nan)或者type(np.NaN)可以發現改值其實屬于float類型,代碼如下:
因此,如果要進行處理的數據集中包含缺失值一般步驟如下:
1、使用字符串'nan'來代替數據集中的缺失值;
2、將該數據集轉換為浮點型便可以得到包含np.nan的數據集;
3、使用sklearn.preprocessing.Imputer類來處理使用np.nan對缺失值進行編碼過的數據集。
代碼如下:
上述代碼使用數組X去“訓練”一個Imputer類,然后用該類的對象去處理數組Y中的缺失值,缺失值的處理方式是使用X中的均值(axis=0表示按列進行)代替Y中的缺失值。
當然也可以使用imp對象來對X數組本身進行處理。
通常,我們的數據都保存在文件中,也不一定都是Numpy數組生成的,因此缺失值可能不一定是使用nan來編碼的,對于這種情況可以參考以下代碼:
上述代碼line模擬從文件中讀取出來的一行數據,使用nan來代替原始數據中的缺失值編碼,將其轉換為浮點型,然后使用X中的均值填補Z中的缺失值。
總結
以上是生活随笔為你收集整理的python预处理缺失值_[Scikit-Learn] - 数据预处理 - 缺失值(Missing Value)处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python opencv轮廓提取_Py
- 下一篇: websocket python爬虫_p