मैं rfobject$importance
और importance(rfobject)
MeanDecreaseAccuracy कॉलम में अंतर नहीं पाता।
उदाहरण:
> data("iris")
> fit <- randomForest(Species~., data=iris, importance=TRUE)
> fit$importance
setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length 0.027078501 0.019418330 0.040497602 0.02898837 9.173648
Sepal.Width 0.008553449 0.001962036 0.006951771 0.00575489 2.472105
Petal.Length 0.313303381 0.291818815 0.280981959 0.29216790 41.284869
Petal.Width 0.349686983 0.318527008 0.270975757 0.31054451 46.323415
> importance(fit)
setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length 1.277324 1.632586 1.758101 1.2233029 9.173648
Sepal.Width 1.007943 0.252736 1.014141 0.6293145 2.472105
Petal.Length 3.685513 4.434083 4.133621 2.5139980 41.284869
Petal.Width 3.896375 4.421567 4.385642 2.5371353 46.323415
>
मुझे अलग-अलग मीनड्रेकसैक्युअलिटीज मिलते हैं, लेकिन वेरिएबल्स की अहमियत ( fit$importance
साथ ही साथ importance(fit)
) के लिए भी यही क्रम है :
Petal.Width
Petal.Length
Sepal.Length
Sepal.Width
लेकिन अन्य डेटासेट में मुझे कभी-कभी अलग-अलग ऑर्डर मिलते हैं। क्या कोई समझा सकता है कि यहां क्या हो रहा है? क्या यह संभवतः एक बग है?
संपादित करें ( मार्टिन ओ'लेरी के जवाब में )
ठीक है शुक्रिया! मैंने कुछ और देखा।
rfcv()
फ़ंक्शन पर एक नज़र डालते हुए मैंने देखा कि लाइन:
impvar <- (1:p)[order(all.rf$importance[, 1], decreasing = TRUE)]
इस पंक्ति के साथ हम पहले कॉलम को चुनते हैं, all.rf$importance
जो हमें कक्षा-विशिष्ट ( पहले कारक के लिए ) उपायों का क्रम देता है, जिन्हें केवल सटीकता में अवरोही के रूप में गणना किया जाता है। यह हमेशा सभी वर्गों ( MeanDecreaseAccuracy
) पर सटीकता में औसत अवरोही के रूप में एक ही क्रम नहीं है । बेहतर होगा कि MeanDecreaseAccuracy
या तो MeanDecreaseGini
कॉलम या कॉलम को चुनना बेहतर होगा , या importance()
स्केल किए गए मूल्यों के लिए -function का उपयोग करना बेहतर होगा ? इसलिए हमारे पास क्रमिक रूप से कम होने वाले भविष्यवक्ताओं की संख्या परिवर्तनीय महत्व (सभी वर्गों पर) होती है और न केवल प्रथम श्रेणी के लिए चर महत्व से रैंक की जाती है।