机器学习中的大量特征不好(回归)?
Large number of features in Machine Learning is bad (regression)?
我正在对公寓特征进行线性回归分析,然后预测公寓的价格。目前,我已经收集了我所在城市 13000 套公寓的特征。我有 23-25 个特征,我不确定在公寓价格预测中有这么多特征是否正常。
我有这些特点:
小区、微区、住宅小区、建筑年份、房屋建筑material、房间数、层数、总面积、居住面积、条件、楼层material、卫生间类型、阳台、门类型、固定电话、互联网连接类型、停车位可用性、家具可用性、天花板高度、安全性。
回归有这么多特征正常吗?这些特征适合做公寓的线性回归分析吗?由于冗余,减少功能数量并摆脱某些功能可能会更好?我的案例(公寓价格预测)中的大量特征是否可能导致过度拟合?
您是如何找到这些功能的?您是否已经 运行 数据集上的特征选择算法?我真的很怀疑。我不知道您已经遵循了哪些步骤,但是在开始机器学习问题时,您首先必须对数据有一些直觉:
看数据做直方图,相关图...比如面积和房间数可能高度相关...
如果要进行线性回归,必须确保与目标变量(即价格)的关系确实是线性的:可能需要使用原始特征的某些函数来得到线性关系
一旦你更好地了解似乎有贡献的特征,你可以使用一些特征选择算法(例如,如果你使用 python)
@stellasia,好的开始!
是的,拥有这么多功能很常见:抓住您认为 可能 需要的所有内容,然后让您的分析工具(或个人研磨)建议不需要的内容.很难添加你没有的东西。
您可以从 运行 通过线性回归建模器开始。如果你没有,运行 每个特征与价格的相关系数;这可以让你消除那些接近 0 的(没有明显的效果)。
之后,对剩下的所有特征做全相关矩阵;那些 sigma 接近 +1.00 或 -1.00 的人表明您可以消除这些因素中的任何一个:它们相互预测得很好,因此您不需要两者。
SKLearn 很好。 SciKit 也是如此。如果您知道如何编写底层矩阵方程,Octave 和 MatLib 会非常出色。
我还可以推荐开源包 TrustedAnalytics(我是该项目的软件负责人之一)。 Python API 非常适合数据科学,但它 是 一个大数据包:它位于您可能没有的其他工具之上。
我正在对公寓特征进行线性回归分析,然后预测公寓的价格。目前,我已经收集了我所在城市 13000 套公寓的特征。我有 23-25 个特征,我不确定在公寓价格预测中有这么多特征是否正常。
我有这些特点:
小区、微区、住宅小区、建筑年份、房屋建筑material、房间数、层数、总面积、居住面积、条件、楼层material、卫生间类型、阳台、门类型、固定电话、互联网连接类型、停车位可用性、家具可用性、天花板高度、安全性。
回归有这么多特征正常吗?这些特征适合做公寓的线性回归分析吗?由于冗余,减少功能数量并摆脱某些功能可能会更好?我的案例(公寓价格预测)中的大量特征是否可能导致过度拟合?
您是如何找到这些功能的?您是否已经 运行 数据集上的特征选择算法?我真的很怀疑。我不知道您已经遵循了哪些步骤,但是在开始机器学习问题时,您首先必须对数据有一些直觉:
看数据做直方图,相关图...比如面积和房间数可能高度相关...
如果要进行线性回归,必须确保与目标变量(即价格)的关系确实是线性的:可能需要使用原始特征的某些函数来得到线性关系
一旦你更好地了解似乎有贡献的特征,你可以使用一些特征选择算法(例如,如果你使用 python)
@stellasia,好的开始!
是的,拥有这么多功能很常见:抓住您认为 可能 需要的所有内容,然后让您的分析工具(或个人研磨)建议不需要的内容.很难添加你没有的东西。
您可以从 运行 通过线性回归建模器开始。如果你没有,运行 每个特征与价格的相关系数;这可以让你消除那些接近 0 的(没有明显的效果)。
之后,对剩下的所有特征做全相关矩阵;那些 sigma 接近 +1.00 或 -1.00 的人表明您可以消除这些因素中的任何一个:它们相互预测得很好,因此您不需要两者。
SKLearn 很好。 SciKit 也是如此。如果您知道如何编写底层矩阵方程,Octave 和 MatLib 会非常出色。
我还可以推荐开源包 TrustedAnalytics(我是该项目的软件负责人之一)。 Python API 非常适合数据科学,但它 是 一个大数据包:它位于您可能没有的其他工具之上。