फीचर चयन के लिए आर में स्टेपएआईसी का उपयोग कैसे करें
अकाइक सूचना मानदंड ( एआईसी ) एक मीट्रिक है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि कोई मॉडल डेटा सेट में कितनी अच्छी तरह फिट बैठता है।
इसकी गणना इस प्रकार की जाती है:
एआईसी = 2K – 2 एलएन (एल)
सोना:
- K: मॉडल मापदंडों की संख्या। K का डिफ़ॉल्ट मान 2 है, इसलिए केवल एक भविष्यवक्ता चर वाले मॉडल का K मान 2+1 = 3 होगा।
- एलएन (एल) : मॉडल की लॉग-संभावना। अधिकांश सांख्यिकीय सॉफ़्टवेयर स्वचालित रूप से आपके लिए इस मान की गणना कर सकते हैं।
एआईसी को उस मॉडल को खोजने के लिए डिज़ाइन किया गया है जो डेटा में सबसे अधिक भिन्नता की व्याख्या करता है, जबकि अत्यधिक संख्या में मापदंडों का उपयोग करने वाले मॉडल को दंडित करता है।
आप R में MASS पैकेज से स्टेपAIC() फ़ंक्शन का उपयोग रिग्रेशन मॉडल से भविष्यवक्ता चर को पुनरावृत्त रूप से जोड़ने और हटाने के लिए कर सकते हैं जब तक कि आपको भविष्यवक्ता चर (या “फीचर्स”) का सेट नहीं मिल जाता है जो सबसे कम AIC मान वाला मॉडल तैयार करता है।
यह फ़ंक्शन निम्नलिखित मूल सिंटैक्स का उपयोग करता है:
स्टेपएआईसी (वस्तु, दिशा,…)
सोना:
- ऑब्जेक्ट : एक समायोजित मॉडल का नाम
- दिशा : उपयोग करने के लिए चरण खोज का प्रकार (“पिछड़ा”, “आगे” या “दोनों”)
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस फ़ंक्शन का उपयोग कैसे करें।
उदाहरण: आर में फ़ीचर चयन के लिए स्टेपएआईसी() का उपयोग करना
इस उदाहरण के लिए, हम R में निर्मित mtcars डेटासेट का उपयोग करेंगे, जिसमें 32 अलग-अलग कारों के लिए 11 अलग-अलग विशेषताओं पर माप शामिल हैं:
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
मान लीजिए कि हम एचपी को प्रतिक्रिया चर और निम्नलिखित संभावित भविष्यवक्ता चर के रूप में उपयोग करके एक प्रतिगमन मॉडल फिट करना चाहते हैं:
- एमपीजी
- वज़न
- मल
- क्यूसेक
हम मॉडल से विभिन्न भविष्यवक्ता चर को जोड़ने और घटाने के लिए MASS पैकेज से स्टेपएआईसी () फ़ंक्शन का उपयोग कर सकते हैं जब तक कि हम न्यूनतम संभव एआईसी मान वाले मॉडल पर नहीं पहुंच जाते:
library (MASS)
#fit initial multiple linear regression model
model <- lm(hp ~ mpg + wt + drat + qsec, data=mtcars)
#use both forward and backward selection to find model with lowest AIC
stepAIC(model, direction=" both ")
Start: AIC=226.88
hp ~ mpg + wt + drat + qsec
Df Sum of Sq RSS AIC
- drat 1 94.9 28183 224.98
- mpg 1 1519.4 29608 226.56
none 28088 226.88
- wt 1 3861.9 31950 229.00
-qsec 1 28102.2 56190 247.06
Step: AIC=224.98
hp ~ mpg + wt + qsec
Df Sum of Sq RSS AIC
- mpg 1 1424.5 29608 224.56
none 28183 224.98
+ drat 1 94.9 28088 226.88
- wt 1 3797.9 31981 227.03
-qsec 1 29625.1 57808 245.97
Step: AIC=224.56
hp ~ wt + qsec
Df Sum of Sq RSS AIC
none 29608 224.56
+ mpg 1 1425 28183 224.98
+ drat 1 0 29608 226.56
- wt 1 43026 72633 251.28
-qsec 1 52881 82489 255.35
Call:
lm(formula = hp ~ wt + qsec, data = mtcars)
Coefficients:
(Intercept) wt qsec
441.26 38.67 -23.47
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
(1) सबसे पहले, हम चार भविष्यवक्ता चर के साथ एक प्रतिगमन मॉडल को फिट करके शुरू करते हैं। इस मॉडल का AIC मान 226.88 है।
(2) इसके बाद, स्टेपएआईसी यह निर्धारित करता है कि भविष्यवक्ता चर के रूप में ड्रैट को हटाने से एआईसी मान 224.98 तक कम हो जाएगा।
(3) इसके बाद, स्टेपएआईसी मॉडल यह निर्धारित करता है कि एमपीजी को भविष्यवक्ता चर के रूप में हटाने से एआईसी मान 224.56 तक कम हो जाएगा।
(4) अंत में, स्टेपएआईसी यह निर्धारित करता है कि वेरिएबल्स को जोड़कर या हटाकर एआईसी मूल्य को और कम करने का कोई तरीका नहीं है।
इसलिए अंतिम मॉडल है:
एचपी = 441.26 + 38.67 (वजन) – 23.47 (क्यूसेकंड)
इस मॉडल का AIC मान 224.56 है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:
आर में मल्टीपल लीनियर रिग्रेशन कैसे करें
आर में टुकड़ेवार प्रतिगमन कैसे करें
आर में स्प्लाइन रिग्रेशन कैसे करें