我使用脫字符比較不同的機器學習方法,但雖然方法非常不同,但我得到的變量貢獻相同。爲什麼不同的機器學習方法在插入符號中給出相同的變量重要性?
vNNet,ctree,enet,knn,M5,pcr,ridge,svmRadial給出相同的變量貢獻。
其中一些將採用重要= TRUE作爲輸入:vNNet,enet,knn,pcr,ridge,svmRadial。 其他人生成重要性爲TRUE的錯誤:ctree,M5。 (錯誤是「有些事情是錯誤的;所有的RMSE指標值是缺少」)
我的問題是,爲什麼不同的方法給同一個變量的重要性? 這看起來不對,但我看不出我做錯了什麼。
library(ggplot2)
library(caret)
library(elasticnet)
library(party)
data_set <- diamonds[1:1000, c(1, 5, 6, 7, 8, 9, 10)]
formula <- price ~ carat + depth + table + x + y + z
set.seed(100)
enet_model <- train(formula,
importance = TRUE,
data = data_set,
method = "enet",
trControl = trainControl(method = "cv"),
preProc = c("center", "scale"))
set.seed(100)
ctree_model <- train(formula,
data = data_set,
method = "ctree",
trControl = trainControl(method = "cv"))
set.seed(Set_seed_seed)
knn_model <- train(formula,
importance = TRUE,
data = data_set,
method = "knn",
preProc = c("center", "scale"),
tuneGrid = data.frame(k = 1:20),
trControl = training_control)
varImp(enet_model)
varImp(ctree_model)
varImp(knn_model)
我使用插入符號6.0-52
我們無法訪問'data_set_train'。 – 2015-07-22 08:16:23
對不起,應該是data_set。固定。 – Matt