我想知道什么变量对我的决策树模型很重要。
我通过使用插入符号包的train()获得了模型。 但是对于致命变量,属性使用的结果却很奇怪。
下面是我的代码。
set.seed(123)
ctrl <- trainControl(method = "cv", classProbs = TRUE, summaryFunction=twoClassSummary)
mDt <- train(metS ~ ., data= df_train, method = "C5.0", metric="ROC", trControl = ctrl); mDt
我通过使用C5imp()获得了属性用法。 (使用summary(mDt)得出的结果是相同的。)
C5imp(mDt$finalModel)
属性使用结果如下:
奇怪的是,一个因子变量(例如“ pi4”:具有5个级别“ 1” <“ 2” <“ 3” <“ 4” <“ 5”)的Ord.factor具有多种属性用法。 (例如“ pi4.L”,“ pi4.Q”,“ pi4.C”,“ pi ^ 4”)
对于无序因素,这是相似的。例如,“婚姻”是具有6个级别的因子(“ 1”,“ 2”,“ 3”,“ 4”,“ 5”,“ 6”),并且为“ marriage2”显示了属性用法, 'marriage3','marriage4','marriage5'和'marriage6'。
但是,结果应如下所示:
(以下结果是通过使用具有相同数据的C5.0()获得的。对于一个因子变量,显示了一种属性用法。)
mTemp <- C5.0(df_train[,-1], df_train$metS)
C5imp(mTemp)
我认为这是由C5.0()和train()应用C5.0方法时的差异引起的。
我想使用插入符号包的train(),因为它会自动应用交叉验证等。
请帮助我。