parsnip से मॉडल विनिर्देश
प्रशिक्षण चरण से स्वतंत्र रूप से मॉडल के प्रकार और इंजन निर्दिष्ट करें।
parsnip से मॉडल विनिर्देश, CoddyKit पर R Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह R Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
parsnip क्या है?
parsnip सैकड़ों मॉडल इंजनों के लिए एकीकृत इंटरफ़ेस प्रदान करता है। हर पैकेज का अलग सिंटैक्स (glm(), randomForest(), e1071::svm()) सीखने के बजाय, आप एक सुसंगत विनिर्देशन लिखते हैं और parsnip को बताते हैं कि अंदर किस इंजन का उपयोग करना है।
इसका अर्थ है कि आप केवल एक तर्क बदलकर इंजन बदल सकते हैं — जैसे बेयज़ियन लॉजिस्टिक रिग्रेशन के लिए glm से stan पर।
library(parsnip)
# The same interface, different engines
logistic_reg() |> set_engine('glm') # base R
logistic_reg() |> set_engine('glmnet') # regularized
logistic_reg() |> set_engine('stan') # Bayesianवर्गीकरण के लिए logistic_reg()
logistic_reg() द्विआधारी वर्गीकरण के लिए लॉजिस्टिक रिग्रेशन मॉडल निर्दिष्ट करता है। R के अंतर्निहित GLM इंजन का उपयोग करने के लिए set_engine('glm') जोड़ें और कार्य के प्रकार को स्पष्ट रूप से घोषित करने के लिए set_mode('classification') जोड़ें।
जिन मॉडल प्रकारों में दोनों विकल्प समर्थित हैं, उनके लिए मोड ('classification' या 'regression') आवश्यक है।
log_spec <- logistic_reg() |>
set_engine('glm') |>
set_mode('classification')
print(log_spec)
# Logistic Regression Model Specification (classification)
# Computational engine: glmtune() के साथ rand_forest()
rand_forest() रैंडम फ़ॉरेस्ट निर्दिष्ट करता है। mtry (हर विभाजन के लिए विशेषताओं की संख्या) और trees जैसे पैरामीटरों को स्थिर रखा जा सकता है या हाइपरपैरामीटर खोज के स्थानधारक के रूप में tune() पर सेट किया जा सकता है।
जब आप tune() देते हैं, तो tidymodels क्रॉस-वैलिडेशन ट्यूनिंग के दौरान मानों के ग्रिड में खोज करेगा।
rf_spec <- rand_forest(
mtry = tune(),
trees = 500,
min_n = tune()
) |>
set_engine('ranger', importance = 'impurity') |>
set_mode('classification')
print(rf_spec)Regression के लिए linear_reg()
linear_reg() एक रैखिक प्रतिगमन मॉडल निर्दिष्ट करता है। set_engine('lm') का उपयोग करने पर साधारण न्यूनतम वर्ग विधि लागू होती है, जबकि set_engine('glmnet') penalty और mixture पैरामीटर के माध्यम से L1/L2 नियमितीकरण सक्षम करता है।
# OLS linear regression
lm_spec <- linear_reg() |>
set_engine('lm')
# Ridge regression (penalty > 0, mixture = 0)
ridge_spec <- linear_reg(penalty = 0.01, mixture = 0) |>
set_engine('glmnet')
# Lasso (penalty > 0, mixture = 1)
lasso_spec <- linear_reg(penalty = tune(), mixture = 1) |>
set_engine('glmnet')boost_tree() — ग्रेडिएंट बूस्टिंग
boost_tree() एक ग्रेडिएंट-बूस्टेड ट्री मॉडल निर्दिष्ट करता है। आप xgboost, lightgbm या C5.0 इंजन चुन सकते हैं। ट्यून किए जा सकने वाले पैरामीटर में tree_depth, learn_rate और loss_reduction शामिल हैं।
xgb_spec <- boost_tree(
trees = 500,
tree_depth = tune(),
learn_rate = tune(),
loss_reduction = tune()
) |>
set_engine('xgboost') |>
set_mode('classification')
print(xgb_spec)fit() — मॉडल को प्रशिक्षित करें
fit(spec, formula, data) वास्तविक डेटा पर मॉडल विनिर्देशन को प्रशिक्षित करता है। parsnip आंतरिक रूप से विनिर्देशन को उपयुक्त इंजन कॉल में बदलता है। परिणाम एक प्रशिक्षित parsnip मॉडल ऑब्जेक्ट होता है।
lm_spec <- linear_reg() |> set_engine('lm')
# Fit the model on training data
lm_fit <- fit(lm_spec, mpg ~ wt + hp + cyl, data = mtcars)
# The fitted object wraps the engine result
print(lm_fit)
# Access the underlying lm object
extract_fit_engine(lm_fit)fit_xy() — मैट्रिक्स इंटरफ़ेस
fit_xy(spec, x, y), fit(spec, formula, data) का एक विकल्प है। यह सीधे predictor मैट्रिक्स x और response वेक्टर y स्वीकार करता है। यह तब उपयोगी है जब आपका डेटा पहले से ही संख्यात्मक मैट्रिक्स में संसाधित हो, जैसा कि न्यूरल नेटवर्क या XGBoost के साथ आम है।
x_train <- train_baked |> select(-price)
y_train <- train_baked$price
lm_spec <- linear_reg() |> set_engine('lm')
# Matrix-style fit
lm_fit_xy <- fit_xy(lm_spec, x = x_train, y = y_train)
print(lm_fit_xy)translate() — इंजन कोड देखें
translate(spec) आपको ठीक-ठीक दिखाता है कि किसी दिए गए इंजन के लिए parsnip पर्दे के पीछे क्या कॉल करेगा। डिबगिंग करने या यह समझने के लिए यह अत्यंत उपयोगी है कि आपका parsnip विनिर्देशन इंजन के मूल इंटरफ़ेस से कैसे मेल खाता है।
rf_spec <- rand_forest(mtry = 3, trees = 500) |>
set_engine('ranger') |>
set_mode('classification')
# See what ranger() call will be generated
translate(rf_spec)
# ranger::ranger(formula = ..., data = ...,
# num.trees = 500, mtry = 3, ...)parsnip के साथ predict()
सभी प्रशिक्षित parsnip मॉडल एक ही predict() इंटरफ़ेस साझा करते हैं। वर्गीकरण के लिए type = 'class' पूर्वानुमानित वर्ग लौटाता है और type = 'prob' वर्ग की संभावनाएँ लौटाता है। यह एकरूपता parsnip के प्रमुख लाभों में से एक है।
log_fit <- fit(logistic_reg() |> set_engine('glm') |> set_mode('classification'),
species ~ ., data = train_df)
# Predicted classes
predict(log_fit, new_data = test_df, type = 'class')
# Predicted probabilities
predict(log_fit, new_data = test_df, type = 'prob')augment() — डेटा से जुड़े पूर्वानुमान
augment(fitted_model, new_data) पूर्वानुमान वाले कॉलम सीधे इनपुट डेटा फ़्रेम में जोड़ता है। यह मूल्यांकन के लिए सुविधाजनक है: परिणाम में वास्तविक मान और पूर्वानुमान साथ-साथ होते हैं और मीट्रिक की गणना के लिए तैयार रहते हैं।
log_fit <- fit(
logistic_reg() |> set_engine('glm') |> set_mode('classification'),
species ~ ., data = train_df
)
# Get predictions joined to test data
results <- augment(log_fit, new_data = test_df)
head(results[, c('species', '.pred_class', '.pred_setosa')])मॉडल विनिर्देशों की तुलना
parsnip के मुख्य लाभों में से एक मॉडल की तेज़ी से तुलना करना है। आप कई विनिर्देशन परिभाषित करके उन्हें एक ही डेटा पर प्रशिक्षित करते हैं और मीट्रिक की तुलना करते हैं। इंटरफ़ेस समान होने के कारण, मॉडल बदलने के लिए केवल विनिर्देशन की परिभाषा बदलनी पड़ती है।
specs <- list(
lm = linear_reg() |> set_engine('lm'),
ridge = linear_reg(penalty = 0.01, mixture = 0) |> set_engine('glmnet'),
rf = rand_forest(trees = 200) |> set_engine('ranger') |> set_mode('regression')
)
fits <- lapply(specs, fit, mpg ~ ., data = train_mtcars)
preds <- lapply(fits, predict, new_data = test_mtcars)
rmse_vals <- sapply(preds, function(p) {
sqrt(mean((p$.pred - test_mtcars$mpg)^2))
})
print(rmse_vals)त्वरित जाँच
parsnip में translate(spec) क्या लौटाता है?
parsnip का पुनरावलोकन
parsnip के साथ मॉडल विनिर्देशों से मुख्य बातें:
- parsnip एक एकीकृत इंटरफ़ेस देता है: मॉडल का प्रकार, इंजन और मोड अलग-अलग निर्दिष्ट करें।
set_engine()अंतर्निहित पैकेज चुनता है;set_mode()वर्गीकरण या प्रतिगमन चुनता है।- बाद में खोजे जाने वाले हाइपरपैरामीटर के स्थानापन्न के रूप में
tune()का उपयोग करें। fit(spec, formula, data)मॉडल को प्रशिक्षित करता है;fit_xy(spec, x, y)मैट्रिक्स स्वीकार करता है।predict(fit, new_data, type)सभी इंजनों में एक जैसा काम करता है।translate(spec)डिबगिंग के लिए इंजन कॉल दिखाता है।augment(fit, new_data)डेटा फ़्रेम में पूर्वानुमान जोड़ता है।
# Parsnip model comparison template
spec <- rand_forest(trees = 500, mtry = tune()) |>
set_engine('ranger', importance = 'impurity') |>
set_mode('classification')
print(translate(spec))
# When mtry is fixed:
spec_fixed <- rand_forest(trees = 500, mtry = 5) |>
set_engine('ranger') |>
set_mode('classification')
fit_fixed <- fit(spec_fixed, label ~ ., data = train_df)एआई शिक्षक के साथ R सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 43
- पाठ
- 159
अक्सर पूछे जाने वाले प्रश्न
क्या “parsnip से मॉडल विनिर्देश” पाठ निःशुल्क है?
हाँ — R Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “parsnip से मॉडल विनिर्देश” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“parsnip से मॉडल विनिर्देश” में मैं क्या सीखूँगा?
प्रशिक्षण चरण से स्वतंत्र रूप से मॉडल के प्रकार और इंजन निर्दिष्ट करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ R Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या R Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर R Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“parsnip से मॉडल विनिर्देश” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस R Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर R Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- recipes से फीचर इंजीनियरिंग
- parsnip से मॉडल विनिर्देश
- वर्कफ़्लो: रेसिपी और मॉडल का संयोजन
- rsample से पुनर्नमूनाकरण और क्रॉस-वैलिडेशन