树与回归算法——哪个更适合具有主要分类特征的模型?
Tree vs Regression algorithm- which works better for a model with mostly categorical features?
我正在研究预测产品售价的回归问题。这些功能是 4 级产品层次结构和建议价格。总之,有 4 个分类特征和 1 个数值特征。总共大约有1000K行。
我认为决策树或随机森林在这种情况下比回归更有效。原因是只有一个数值特征。另外,我计划将数字特征(建议价格)转换为价格桶,使其成为另一个分类特征。
我的推理有道理吗?还有其他值得尝试的算法吗?还有其他值得尝试的巧妙特征工程吗?
注1:这其实是一个challenge problem(和Kaggle一样),所以特征都被masked和encoded了。看数据,我可以肯定地说有4级产品层次,但我不太确定一个数字特征(我认为是建议的价格),因为有很多差异此数字与售价(y 变量)之间的某些情况。还有,这个专栏有很多异常值(估计是强行引入混淆)
我不建议对提议的价格变量进行分类,因为人们会期望该变量包含预测售价所需的大部分信息。当变量有噪声时,将该变量分箱是有利的,但它是有代价的,因为您会丢弃有价值的信息。您不必对连续变量进行分箱,Trees 会为您完成(RF 也一样)。如果你的分类变量是有序的,你不需要做任何事情,但是如果它们不是,你可以考虑对变量进行编码(将不同的值映射到一个热向量——0,0,1)并以这种方式尝试其他回归量,例如来自 https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html 的 SVR(在这种情况下,您可以考虑将变量缩放到 [0,1])。
编辑:一般来说,RF 比树木要好,只要确保您知道自己在做什么即可。并确保您了解 RF 是许多树组合在一起。
我正在研究预测产品售价的回归问题。这些功能是 4 级产品层次结构和建议价格。总之,有 4 个分类特征和 1 个数值特征。总共大约有1000K行。
我认为决策树或随机森林在这种情况下比回归更有效。原因是只有一个数值特征。另外,我计划将数字特征(建议价格)转换为价格桶,使其成为另一个分类特征。
我的推理有道理吗?还有其他值得尝试的算法吗?还有其他值得尝试的巧妙特征工程吗?
注1:这其实是一个challenge problem(和Kaggle一样),所以特征都被masked和encoded了。看数据,我可以肯定地说有4级产品层次,但我不太确定一个数字特征(我认为是建议的价格),因为有很多差异此数字与售价(y 变量)之间的某些情况。还有,这个专栏有很多异常值(估计是强行引入混淆)
我不建议对提议的价格变量进行分类,因为人们会期望该变量包含预测售价所需的大部分信息。当变量有噪声时,将该变量分箱是有利的,但它是有代价的,因为您会丢弃有价值的信息。您不必对连续变量进行分箱,Trees 会为您完成(RF 也一样)。如果你的分类变量是有序的,你不需要做任何事情,但是如果它们不是,你可以考虑对变量进行编码(将不同的值映射到一个热向量——0,0,1)并以这种方式尝试其他回归量,例如来自 https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html 的 SVR(在这种情况下,您可以考虑将变量缩放到 [0,1])。
编辑:一般来说,RF 比树木要好,只要确保您知道自己在做什么即可。并确保您了解 RF 是许多树组合在一起。