用户工具

站点工具


model:preprocess:impute

使用SimleImputer进行空值填充

缺失值填充主要采用SimpleImputer来完成,示例代码如下:

# #############################################################
# File: 02-preprocess-08-SimpleImpute
# Author: 郝金隆
# Date: 2019-12-04
# SimpleImpute: 基础的插值补充
# 主要内容:
#     1. import语句
#     2. 加载示例数据
#     3. 基础用法
#     4. 与DataFrameMapper配合使用
# #############################################################
 
# 1. import语句
from sklearn.preprocessing import LabelBinarizer, OrdinalEncoder
from sklearn.impute import SimpleImputer
from sklearn_pandas import DataFrameMapper
import numpy as np
import pandas as pd
 
# 2. 加载示例数据
df = pd.DataFrame({'pet': ['fish', 'dog', 'dog', 'fish', 
                           'cat', 'dog', 'cat', 'fish', 'goose', 'null', '-1'],
                   'age': [1, 2, 4, np.NaN, 3, np.NaN, 3, 2, np.NaN, 2, 1]
                  })
 
 
# 3. 与DataFrameMapper结合使用
mapper = DataFrameMapper([
    (['pet'], [SimpleImputer(missing_values='null', 
                             fill_value='others', 
                             strategy='constant'),
               SimpleImputer(missing_values='-1', 
                             fill_value='others', 
                             strategy='constant')
              ]),  #  连续替换
    (['age'], [SimpleImputer(missing_values=np.NaN, 
                             strategy='mean')]), # 均值替换
    (['age'], [SimpleImputer(missing_values=np.NaN, 
                             strategy='median')]) # 中位数替换
    (['age'], [SimpleImputer(missing_values=np.NaN, 
                             strategy='most_frequent')]) # 最多数
], df_out=True)
mapper.fit_transform(df)
model/preprocess/impute.txt · 最后更改: 2020/07/12 12:07 (外部编辑)