आर में glmnet का उपयोग कर भविष्यवाणियों


13

मैं glmnetआर में पैकेज का उपयोग करके कुछ डेटा मॉडल करने की कोशिश कर रहा हूं । मान लीजिए कि मेरे पास निम्न डेटा है

training_x <- data.frame(variable1 = c(1, 2, 3, 2, 3),
                         variable2 = c(1, 2, 3, 4, 5))
y <- c(1, 2, 3, 4, 5)

(यह एक सरलीकरण है; मेरा डेटा बहुत अधिक जटिल है।) फिर मैंने glmnet मॉडल बनाने के लिए निम्न कोड का उपयोग किया।

x <- as.matrix(training_x)
library(glmnet)
GLMnet_model_1 <- glmnet(x, y, family="gaussian", alpha=0.755,
                         nlambda=1000, standardize=FALSE, maxit=100000)

मैं उपयोग कर रहा हूं standardize=FALSEक्योंकि मेरा वास्तविक जीवन डेटा पहले से ही मानकीकृत है। फिर मैं डेटा के एक नए सेट पर भविष्यवाणी करना चाहता हूं। मान लीजिए कि मेरा नया डेटा हैं:

newdata <- as.matrix(data.frame(variable1 = c(2, 2, 1, 3), 
                                variable2 = c(6, 2, 1, 3)))
results <- predict(object=GLMnet_model_1, newx, type="response")

मुझे उम्मीद है कि परिणामों में 4 तत्व (पूर्वानुमान newdata) होंगे, लेकिन इसके बजाय यह मुझे 4x398 मैट्रिक्स देता है। मैं क्या गलत कर रहा हूं?

जवाबों:


14

आपको यह निर्दिष्ट करने की आवश्यकता है कि लैम्बडा के किस मूल्य पर आप प्रतिक्रिया की भविष्यवाणी करना चाहते हैं। इसके लिए आपको बस कॉल करना होगा जैसे:

results <-predict(GLMnet_model_1, s=0.01, newx, type="response")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.