【问题标题】:Can the use of SimpleImputer be dissociated for different columns of a dataframe?可以为数据帧的不同列分离使用 SimpleImputer 吗?
【发布时间】:2021-01-16 20:17:05
【问题描述】:

我正在研究中级机器学习课程中的 Kaggle 笔记本“缺失值”。 我正在使用SimpleImputer 来预处理数据帧。需要估算 3 列。我以相同的方式将SimpleImputer 应用于它们中的每一个。 有没有办法对每一列分别使用不同的策略(平均值、中位数...)?

这是我目前拥有的:

imputer = SimpleImputer(strategy = 'median')
imputed_X_train = pd.DataFrame(imputer.fit_transform(X_train))
imputed_X_valid = pd.DataFrame(imputer.transform(X_valid))

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    是的,您应该使用ColumnTransformer。这将对median_columns_list 中的列应用中值估算器,对mean_columns_list 中的列应用平均估算器:

    from sklearn.compose import ColumnTransformer
    from sklearn.impute import SimpleImputer
    ct = ColumnTransformer(
        [("median_imp", SimpleImputer(strategy = 'median'), median_columns_list),
         ("mean_imp", SimpleImputer(strategy = 'mean'), mean_columns_list)])
    

    【讨论】:

    • 好工具!谢谢
    猜你喜欢
    • 2021-01-09
    • 2018-06-12
    • 2023-04-07
    • 2019-03-08
    • 1970-01-01
    • 2012-11-04
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多