【问题标题】:How to handle missing numerical features when using Spark MLlib Decision Trees?使用 Spark MLlib 决策树时如何处理缺失的数字特征?
【发布时间】:2017-10-18 19:16:09
【问题描述】:

在 Spark MLlib 中使用决策树时如何处理缺失的数字特征?

我正在考虑用其他值的平均值替换缺失的特征,但是我不确定对模型质量有什么影响。 Spark MLlib 是否为这个常见问题提供任何支持?

【问题讨论】:

    标签: scala apache-spark apache-spark-mllib feature-extraction


    【解决方案1】:

    每个 DataFrame 都可以利用 DataFrameNaFunctions,它可以drop 违规记录(不是整列),fill 可以用静态“虚拟数据”填充违规数据或 replace 可以替换违规记录具有指定数据的基准。

    https://spark.apache.org/docs/2.1.1/api/scala/#org.apache.spark.sql.DataFrameNaFunctions

    scala> df.na
    res20: org.apache.spark.sql.DataFrameNaFunctions = org.apache.spark.sql.DataFrameNaFunctions@e7e9006
    
    scala> df.na.
    drop   fill   replace
    

    【讨论】:

    • 你会在这 3 个策略中推荐什么策略?用平均值填充/替换怎么样?
    • 这是一个值得自己回答[和讨论]的问题...这是python/pandas中的相关讨论:stackoverflow.com/questions/27824954/…
    • 我认为这 3 个中的任何一个都不如将 NULL/missing 视为特殊值。换句话说,树应该在 NULL 值上与其他数字拆分分开。
    猜你喜欢
    • 2016-09-04
    • 1970-01-01
    • 2017-11-04
    • 2016-11-06
    • 2017-12-11
    • 2016-10-07
    • 2017-07-11
    • 2015-10-25
    • 2017-11-09
    相关资源
    最近更新 更多