来自分类或回归算法模型的相关系数或特征重要性
Posted
技术标签:
【中文标题】来自分类或回归算法模型的相关系数或特征重要性【英文标题】:correlation coefficients or feature importances from classification or regression algorithm model 【发布时间】:2017-10-16 01:13:53 【问题描述】:我为机器学习创建了我的示例数据,只是为了检查分类和回归模型的工作原理。
我的示例数据有 50 行,其中包含 Memory
、CPU
、Responsetime
的列。我使用公式Memory*2 + CPU*0.7
生成了Responsetime
。
现在,当我使用这些数据生成使用不同算法(如 DecisionTree、RandomForest、SVM、NaiveBayes,SGD,LogisticRegression,在决策树、随机森林的情况下,我从模型和特征重要性中得到 kappa 和相关系数 ( 对于回归,线性回归确实给了我与我的公式匹配的正确系数。model.coef_
)。
Memory
和 CPU
返回的系数值与我用来生成这些响应时间值的公式相差甚远。在这种情况下,我无法理解我生成的模型是否适合用于预测。
【问题讨论】:
model.coef_
不给出相关系数。他们给出了特征的最终权重。此外,这只是一个回归问题,而不是分类(您没有将数据分类为 2 个或更多固定类别)。
我对分类模型生成的解释不完整。我通过添加一个条件,例如如果 ResponseTime > 200,则将响应时间列转换为新的真/假列,否则为假。并删除了原始的 ResponseTime 列。所以现在我有“内存”、“CPU”和“真/假”列,我正在上面运行分类算法。使用 DecisionTree 例如 kappa=1,为内存和 CPU 生成的系数结果是 1 和 0。对于随机森林,内存为 0.2,CPU 为 0.7,Kappa=1
【参考方案1】:
您给出了一个线性公式:(Memory*2 + CPU*0.7)
和线性回归,一种学习y_i = B_0*1 + B_1*X_i_1 + ... + B_n*X_i_n
中的B_j
值的方法,能够使用您期望的系数对其进行建模。这是因为线性回归模型的形式与方程的形式相匹配,因此直接匹配系数是有意义的。
对于您的分类算法,不仅方程的形式与您的线性方程不匹配,而且问题也不是真正的分类问题。您给出了一个明显是回归问题的示例。
【讨论】:
感谢您的快速回复。 我对分类模型生成的解释不完整。我通过添加一个条件,如如果 ResponseTime > 200,则将响应时间列转换为新的真/假列,否则为假。并删除了原始的 ResponseTime 列。所以现在我有“内存”、“CPU”和“真/假”列,我正在上面运行分类算法。使用决策树(例如 kappa=1),为内存和 CPU 生成的系数结果为 1 和 0。对于随机森林,内存为 0.2,CPU 为 0.7,Kappa=1以上是关于来自分类或回归算法模型的相关系数或特征重要性的主要内容,如果未能解决你的问题,请参考以下文章
R语言评估回归模型预测因素(变量特征)的相对重要性(Relative importance)将回归模型的预测变量标准化(scale)之后构建模型获得标准化回归系数来评估预测变量的相对重要性