【问题标题】:R - Top x Important Variable Each Individual Sample Data in ClassificationR - 分类中每个单独样本数据的前 x 重要变量
【发布时间】:2015-12-06 05:53:01
【问题描述】:

我正在使用 R 中的 C5 算法构建客户流失模型。在完成模型并成功预测数据后,我如何知道每个客户流失的前 3 个重要预测因素?所以我知道模型将 A、B、D、F 分类为正面而其他分类为负面的原因。有可能吗?

谢谢。

【问题讨论】:

    标签: r classification


    【解决方案1】:

    许多模型都有内置方法来衡量预测变量对模型的总体影响。 caret 包包含一个用于计算或返回这些值的通用类,包括 C5.0、JRip、PART、RRF、RandomForest、bagEarth、classbagg 、cubist、dsa、earth、fda、gam、gbm、glm、glmnet、lm、multinom、mvr、nnet、pamrtrained、plsda、randomForest、regbagg、rfe、rpart、sbf 和 train。

    例如,

    > library(caret)
    > set.seed(1401)
    > ctrl <- trainControl(method = 'repeatedcv' , number = 6, , repeats = 2 , classProbs = TRUE)
    > C5fit <- train(x = iris[, 1:4], y = iris$Species, method = "C5.0", metric = "ROC", trControl = ctrl)
    > varImp(C5fit, scale = FALSE)
    C5.0 variable importance
    
                 Overall
    Petal.Width      100
    Sepal.Width        0
    Petal.Length       0
    Sepal.Length       0
    

    【讨论】:

    • 我想要这样的东西:预测客户 A 会流失,因为(前 2 个预测因素):- 低端客户。 - 投诉 >20 次。预测客户 B 的流失是因为(前 2 个预测因素): - 住宅类型是公寓。 - 折扣促销已过期。我相信每个客户都有不同的理由流失。换句话说,我想知道哪些预测因素对每个客户的影响最大。
    • 将分析重点放在 C.5 模型的前 2 个最重要的预测变量上,在一般情况下,您预计它们可能会因具体观察结果而异。我是否正确理解了您的期望?
    • 是的,我想这就是我的意思。我知道 C5 模型在决策树中产生分支。但可以肯定的是,在被预测为“正面”之前,每个观察结果都可能落入不同的分支。我想知道为什么特定观察被归类为 1。影响决策树对特定观察进行预测的变量是什么。
    • 我提出了一个使用探索性因子分析的想法:除了估计因子结构之外,EFA 还将估计每个将要流失的观察的潜在因子分数(例如 Bartlett 分数)。我可以在每次观察中使用它来确定对流失者影响最大的重要因素吗?
    【解决方案2】:

    您可以在模型中绘制树。如果您使用单个 C5.0 树,这为您提供了一种简单的方法来提供树的确切推理。

    library(C50)
    set.seed(1401)
    C5tree <- C5.0(x = iris[, 1:4], y = iris$Species, trials = 1) # A single C50 tree
    C5imp(C5tree)
    plot(C5tree, trial = 0)
    

    如果您使用提升(即训练树时的试验 > 1),那么由于树的数量,这种方法可能过于复杂。

    C5boosted <- C5.0(x = iris[, 1:4], y = iris$Species, trials = 3) # Boost three trees
    C5imp(C5boosted)
    # Plot each of the trees
    for(i in 0:2){ # trials starts counting at 0, see ?plot.C5.0
    plot(C5boosted, trial = i)
    }
    

    相反,您可以依赖变量重要性来生成重要变量的一般报告,或使用部分依赖图来显示一个变量相对于所有其他变量的(非线性)影响。我建议看看 CRAN 上的包 pdp

    【讨论】:

      猜你喜欢
      • 2015-06-20
      • 2020-04-24
      • 2017-12-23
      • 2015-10-16
      • 2011-03-24
      • 1970-01-01
      • 2020-04-02
      • 2018-07-20
      • 2020-07-01
      相关资源
      最近更新 更多