मैं पैकेज glmnet उपयोग कर रहा हूँ पर लेबल जोड़ना mtcars डाटासेट से ग्राफ निम्नलिखित (अन्य चर पर एमपीजी की प्रतिगमन) प्राप्त करने के लिए प्रत्येक वक्र के चर, या तो प्रत्येक वक्र की शुरुआत में या इसके अधिकतम वाई बिंदु (एक्स-अक्ष से अधिकतम) पर? मैंने कोशिश की और मैं सामान्य रूप से किंवदंती जोड़ सकता हूं लेकिन प्रत्येक वक्र पर या इसकी शुरुआत में लेबल नहीं। आपकी सहायता के लिए धन्यवाद.आर में glmnet साजिश में घटता
उत्तर
जैसे लेबल हार्ड कोड किए गए हैं, एक त्वरित कार्य लिखना शायद आसान है। यह सिर्फ एक त्वरित शॉट है, इसलिए इसे और अधिक व्यापक रूप से बदला जा सकता है। मैं यह भी ध्यान रखें होता है कि जब लैसो का उपयोग कर वहाँ सामान्य रूप से चर का एक बहुत हैं तो वहाँ लेबल की ओवरलैप (अपने छोटे उदाहरण में दर्शाए गए) का एक बहुत हो जाएगा
lbs_fun <- function(fit, ...) {
L <- length(fit$lambda)
x <- log(fit$lambda[L])
y <- fit$beta[, L]
labs <- names(y)
text(x, y, labels=labs, ...)
}
# plot
plot(fit, xvar="lambda")
# label
lbs_fun(fit)
एक वैकल्पिक है plot_glmnet plotmo पैकेज में फ़ंक्शन। यह स्वचालित रूप से परिवर्तनीय नाम को स्थान देता है और इसमें कुछ अन्य घंटियाँ और सीटी होती है। उदाहरण के लिए, निम्नलिखित कोड
library(glmnet)
mod <- glmnet(as.matrix(mtcars[-1]), mtcars[,1])
library(plotmo) # for plot_glmnet
plot_glmnet(mod)
देता
plot http://www.milbo.org/doc/plot-glmnet-mtcars.png
चर नाम फैला दिया जाता overplotting को रोकने के लिए है, लेकिन हम अभी भी जो वक्र जो चर साथ जुड़ा हुआ है बाहर कर सकते हैं। आगे के उदाहरण अध्याय 6 में plotres vignette में पाया जा सकता है जो plotmo पैकेज में शामिल है।
यहां वक्रों को सीधे ऊपर ले जाने वाले पाठ लेबल के बजाय लाइन सेगमेंट का उपयोग करके सबसे अच्छा जवाब में संशोधन किया गया है। यह विशेष रूप से उपयोगी होता है जब बहुत सारे चर होते हैं और आप केवल उन लोगों को प्रिंट करना चाहते हैं जिनके पास पूर्ण गुणांक मान शून्य से अधिक होते हैं:
#note: the argument 'lra' is a cv.glmnet object
lbs_fun <- function(lra, ...) {
fit <- lra$glmnet.fit
L=which(fit$lambda==lra$lambda.min)
ystart <- sort(fit$beta[abs(fit$beta[,L])>0,L])
labs <- names(ystart)
r <- range(fit$beta[,100]) # max gap between biggest and smallest coefs at smallest lambda i.e., 100th lambda
yfin <- seq(r[1],r[2],length=length(ystart))
xstart<- log(lra$lambda.min)
xfin <- xstart+1
text(xfin+0.3,yfin,labels=labs,...)
segments(xstart,ystart,xfin,yfin)
}
plot(lra$glmnet.fit,label=F, xvar="lambda", xlim=c(-5.2,0), lwd=2) #xlim, lwd is optional
- 1. आर glmnet as.matrix() त्रुटि संदेश
- 2. आरओसी घटता की साजिश के लिए libsvm
- 3. गणित में सटीक साजिश घटता कैसे प्राप्त करें?
- 4. आर में अधिकतम साजिश बिंदु?
- 5. आर में glmnet() और cv.glmnet() के बीच अंतर?
- 6. Chart.js: घटता
- 7. आर में क्या गति सीमा साजिश गति?
- 8. आर ggplot: साजिश
- 9. हिस्टोग्राम-जैसी साजिश आर
- 10. scatterplot - आधार आर साजिश
- 11. बेजियर घटता में समतुल्य बिंदु
- 12. मैं साजिश में अक्ष मोटाई कैसे निर्दिष्ट करूं? (आर में)
- 13. आर: की साजिश रचने ggplot2
- 14. एक ही प्लॉट में 4 घटता, 3 y अक्षों
- 15. आर फ़ंक्शन से वापसी साजिश
- 16. दो घटता
- 17. 2 घटता
- 18. पायथन - matplotlib अंडाकार घटता
- 19. "रडार चार्ट" (उर्फ तारा साजिश; मकड़ी साजिश) बनाने के आर
- 20. गैंट शैली समय रेखा (आधार आर में) साजिश
- 21. आर: पृष्ठभूमि के रूप में पीडीएफ के साथ साजिश
- 22. आर प्लॉट - साजिश में नोट्स और विवरण कैसे जोड़ना है?
- 23. ggplot2 barplot साथ आर में एक द्विआधारी स्पार्कलाइन साजिश बिल्डिंग
- 24. पृष्ठभूमि साजिश को पुनर्निर्मित किए बिना साजिश आर में साप्ताहिक रूप से अंक जोड़ना
- 25. मैं साजिश की धुरी और आर में साजिश सामग्री के बीच साजिश मार्जिन कैसे हटा सकता हूं?
- 26. आर मानक के अनुसार तो दो हिस्टोग्राम साजिश आर
- 27. आर - साजिश मानव शरीर 2 डी
- 28. आर: पैकेज ggdendro साजिश लेबल फैलाने
- 29. साजिश का आकार बदलना आर ggplotly
- 30. आर - की साजिश रचने कई मैट्रिक्स लेआउट
लेबल के रूप में यह कठिन है। http://stackoverflow.com/questions/30460410/plot-glmnet-increase-size-of-variable-labels/30463022 – user2957945