【问题标题】:Large number of features in Machine Learning is bad (regression)?机器学习中的大量特征不好(回归)?
【发布时间】:2016-03-08 15:08:48
【问题描述】:

我正在对公寓特征进行线性回归分析,然后预测公寓的价格。目前,我已经收集了我所在城市 13000 套公寓的特征。我有 23-25 个特征,我不确定在公寓价格预测中拥有这么多特征是否正常。

我有这些特征:
小区、小区、小区、建筑年份、房屋建筑材料、房间数、层数、总面积、居住面积、条件、地板材料、卫生间类型、阳台、门类型、固定电话、互联网连接类型、停车位可用性、家具可用性、天花板高度、安全性。

有这么多的回归特征是正常的吗?这些特征是否适合做公寓的线性回归分析?由于冗余,减少特征数量并去掉一些特征可能会更好吗?在我的案例中,大量特征(公寓价格预测)是否会导致过度拟合?

【问题讨论】:

    标签: machine-learning regression linear-regression feature-selection


    【解决方案1】:

    @stellasia,好的开始!

    是的,拥有这么多功能很常见:获取您认为可能需要的所有内容,然后让您的分析工具(或个人研究)建议不需要的内容。很难添加你没有的东西。

    您可以从通过线性回归建模器运行它开始。如果您没有,请针对价格运行每个功能的相关系数;这可以让您消除接近 0 的那些(没有明显效果)。

    之后,对所有剩余的特征做一个全相关矩阵; sigma 接近 +1.00 或 -1.00 的那些表示您可以消除其中任何一个因素:它们可以很好地相互预测,因此您不需要两者。

    SKLearn 不错。 SciKit 也是如此。如果您知道如何编写底层矩阵方程,Octave 和 MatLib 就非常好。

    我还可以推荐开源软件包 TrustedAnalytics(我是该项目的软件负责人之一)。 Python API 非常适合数据科学,但它一个大数据包:它位于您可能没有的其他工具之上。

    【讨论】:

      【解决方案2】:

      您是如何找到这些功能的?您是否已经在数据集上运行了特征选择算法?我真的很怀疑。我不知道你已经遵循了哪些步骤,但是当开始一个机器学习问题时,你首先必须对你的数据有一些直觉:

      1. 查看制作直方图、相关图的数据...例如,面积和房间数量可能高度相关...

      2. 如果要进行线性回归,必须确保与目标变量(即价格)的关系是真正的线性关系:可能需要使用原始特征的某些函数来获得线性关系

      3. 一旦您对似乎有贡献的功能有了更好的了解,您就可以使用一些功能选择算法(例如,如果您使用的是 python,则包含在 sklearn 中的算法)

      【讨论】:

        猜你喜欢
        • 2013-06-23
        • 2017-03-16
        • 2016-03-07
        • 2019-07-14
        • 1970-01-01
        • 1970-01-01
        • 2016-03-09
        • 1970-01-01
        • 2012-03-28
        相关资源
        最近更新 更多