संपादक द्वारा छवि
स्किकिट-लर्न, पायथन में निर्मित सबसे अधिक उपयोग की जाने वाली मशीन-लर्निंग लाइब्रेरी में से एक है। इसकी लोकप्रियता का श्रेय इसकी आसान और सुसंगत कोड संरचना को दिया जा सकता है जो शुरुआती डेवलपर्स के लिए अनुकूल है। इसके अलावा, तृतीय-पक्ष कार्यक्षमताओं को एकीकृत करने के लचीलेपन के साथ-साथ उच्च स्तर का समर्थन भी उपलब्ध है जो लाइब्रेरी को मजबूत और उत्पादन के लिए उपयुक्त बनाता है। लाइब्रेरी में वर्गीकरण, प्रतिगमन और क्लस्टरिंग के लिए कई मशीन लर्निंग मॉडल शामिल हैं। इस ट्यूटोरियल में, हम विभिन्न एल्गोरिदम के माध्यम से मल्टीक्लास वर्गीकरण की समस्या का पता लगाएंगे। आइए इसमें गहराई से उतरें और अपने स्किकिट-लर्न मॉडल बनाएं।
pip install scikit-learn
हम स्किकिट-लर्न के डेटासेट मॉड्यूल में उपलब्ध "वाइन" डेटासेट का उपयोग करेंगे। इस डेटासेट में कुल 178 नमूने और 3 वर्ग शामिल हैं। डेटासेट पहले से ही पूर्व-संसाधित है और फीचर वैक्टर में परिवर्तित हो गया है, इसलिए, हम सीधे अपने मॉडल को प्रशिक्षित करने के लिए इसका उपयोग कर सकते हैं।
from sklearn.datasets import load_wine X, y = load_wine(return_X_y=True)
हम 67% डेटा प्रशिक्षण के लिए और शेष 33% परीक्षण के लिए रखेंगे।
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.33, random_state=42
)
अब, हम अलग-अलग जटिलताओं वाले 5 अलग-अलग मॉडलों के साथ प्रयोग करेंगे और अपने डेटासेट पर उनके परिणामों का मूल्यांकन करेंगे।
model_lr = LogisticRegression()
model_lr.fit(X_train, y_train)
y_pred_lr = model_lr.predict(X_test) print("Accuracy Score: ", accuracy_score(y_pred_lr, y_test))
print(classification_report(y_pred_lr, y_test))
उत्पादन
Accuracy Score: 0.9830508474576272 precision recall f1-score support 0 1.00 0.95 0.98 21 1 0.96 1.00 0.98 23 2 1.00 1.00 1.00 15 accuracy 0.98 59 macro avg 0.99 0.98 0.98 59
weighted avg 0.98 0.98 0.98 59
model_knn = KNeighborsClassifier(n_neighbors=1)
model_knn.fit(X_train, y_train)
y_pred_knn = model_knn.predict(X_test) print("Accuracy Score:", accuracy_score(y_pred_knn, y_test))
print(classification_report(y_pred_knn, y_test))
उत्पादन
Accuracy Score: 0.7796610169491526 precision recall f1-score support 0 0.90 0.78 0.84 23 1 0.75 0.82 0.78 22 2 0.67 0.71 0.69 14 accuracy 0.78 59 macro avg 0.77 0.77 0.77 59
weighted avg 0.79 0.78 0.78 59
पैरामीटर 'n_neighbors=2' बदलने पर हम सटीकता के मूल्य में कमी देखते हैं। इसलिए, यह दर्शाता है कि डेटा काफी सरल है और विचार करने के लिए एक ही पड़ोसी के साथ बेहतर सीख प्राप्त करता है।
उत्पादन
Accuracy Score: 0.6949152542372882 precision recall f1-score support 0 0.90 0.72 0.80 25 1 0.75 0.69 0.72 26 2 0.33 0.62 0.43 8 accuracy 0.69 59 macro avg 0.66 0.68 0.65 59
weighted avg 0.76 0.69 0.72 59
from sklearn.naive_bayes import GaussianNB model_nb = GaussianNB()
model_nb.fit(X_train, y_train)
y_pred_nb = model_nb.predict(X_test) print("Accuracy Score:", accuracy_score(y_pred_nb, y_test))
print(classification_report(y_pred_nb, y_test))
उत्पादन
Accuracy Score: 1.0 precision recall f1-score support 0 1.00 1.00 1.00 20 1 1.00 1.00 1.00 24 2 1.00 1.00 1.00 15 accuracy 1.00 59 macro avg 1.00 1.00 1.00 59
weighted avg 1.00 1.00 1.00 59
from sklearn.tree import DecisionTreeClassifier model_dtclassifier = DecisionTreeClassifier()
model_dtclassifier.fit(X_train, y_train)
y_pred_dtclassifier = model_dtclassifier.predict(X_test) print("Accuracy Score:", accuracy_score(y_pred_dtclassifier, y_test))
print(classification_report(y_pred_dtclassifier, y_test))
उत्पादन
Accuracy Score: 0.9661016949152542 precision recall f1-score support 0 0.95 0.95 0.95 20 1 1.00 0.96 0.98 25 2 0.93 1.00 0.97 14 accuracy 0.97 59 macro avg 0.96 0.97 0.97 59
weighted avg 0.97 0.97 0.97 59
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import RandomizedSearchCV def get_best_parameters(): params = { "n_estimators": [10, 50, 100], "max_features": ["auto", "sqrt", "log2"], "max_depth": [5, 10, 20, 50], "min_samples_split": [2, 4, 6], "min_samples_leaf": [2, 4, 6], "bootstrap": [True, False], } model_rfclassifier = RandomForestClassifier(random_state=42) rf_randomsearch = RandomizedSearchCV( estimator=model_rfclassifier, param_distributions=params, n_iter=5, cv=3, verbose=2, random_state=42, ) rf_randomsearch.fit(X_train, y_train) best_parameters = rf_randomsearch.best_params_ print("Best Parameters:", best_parameters) return best_parameters parameters_rfclassifier = get_best_parameters() model_rfclassifier = RandomForestClassifier( **parameters_rfclassifier, random_state=42
) model_rfclassifier.fit(X_train, y_train) y_pred_rfclassifier = model_rfclassifier.predict(X_test) print("Accuracy Score:", accuracy_score(y_pred_rfclassifier, y_test))
print(classification_report(y_pred_rfclassifier, y_test))
उत्पादन
Best Parameters: {'n_estimators': 100, 'min_samples_split': 6, 'min_samples_leaf': 4, 'max_features': 'log2', 'max_depth': 5, 'bootstrap': True}
Accuracy Score: 0.9830508474576272 precision recall f1-score support 0 1.00 0.95 0.98 21 1 0.96 1.00 0.98 23 2 1.00 1.00 1.00 15 accuracy 0.98 59 macro avg 0.99 0.98 0.98 59
weighted avg 0.98 0.98 0.98 59
इस एल्गोरिदम में, हमने सर्वोत्तम सटीकता प्राप्त करने के लिए कुछ हाइपरपैरामीटर ट्यूनिंग का प्रदर्शन किया। हमने एक पैरामीटर ग्रिड को परिभाषित किया है जिसमें प्रत्येक पैरामीटर के लिए चुनने के लिए कई मान शामिल हैं। इसके अलावा, हमने मॉडल के लिए सर्वोत्तम पैरामीटर स्थान खोजने के लिए रैंडमाइज्ड सर्च सीवी एल्गोरिदम का उपयोग किया। अंत में हम प्राप्त मापदंडों को क्लासिफायरियर को फीड करते हैं और मॉडल को प्रशिक्षित करते हैं।
मॉडल | शुद्धता | टिप्पणियों |
रसद प्रतिगमन | 98.30% तक | अत्यधिक सटीकता प्राप्त करता है. मॉडल परीक्षण डेटासेट पर अच्छी तरह से सामान्यीकरण करने में सक्षम है। |
K-निकटतम पड़ोसी | 77.96% तक | एल्गोरिदम डेटा प्रतिनिधित्व को अच्छी तरह से सीखने में सक्षम नहीं है। |
भोले भाले | 100% तक | मॉडल कम जटिल है इसलिए यह पूर्ण सटीकता प्राप्त करने के लिए डेटा को ओवरफिट करता है। |
निर्णय वृक्ष वर्गीकरण | 96.61% तक | अच्छी सटीकता प्राप्त करता है. |
यादृच्छिक वन वर्गीकरण | 98.30% तक | एक समूह-आधारित दृष्टिकोण होने के कारण यह डिसीज़न ट्री से बेहतर प्रदर्शन करता है। हाइपरपैरामीटर ट्यूनिंग करने से यह लॉजिस्टिक रिग्रेशन के समान सटीकता प्राप्त करता है। |
In this tutorial, we learned how to get started to build and train machine learning models in scikit-learn. We implemented and evaluated a few algorithms to get a basic idea about their performance. One can always adopt advanced strategies for feature engineering, hyperparameter tuning or training to improve performance. To read more about the functionalities that scikit-learn offers, head over to the official documentation - स्किकिट-लर्न के साथ मशीन लर्निंग का परिचय, स्किकिट-लर्न के साथ पायथन में मशीन लर्निंग.
यश शास्त्री यूनिवर्सिटी डी मॉन्ट्रियल से मशीन लर्निंग में मास्टर की पढ़ाई करने वाला एक भावुक एआई डेवलपर और लेखक है। समाज को लाभ पहुंचाने वाली चुनौतियों को हल करने और समुदाय के साथ अपनी सीख साझा करने के लिए जिम्मेदार एआई तकनीकों का पता लगाने के लिए येशा इच्छुक हैं।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- स्रोत: https://www.kdnuggets.com/getting-started-with-scikit-learn-for-classification-in-machine-learning.html?utm_source=rss&utm_medium=rss&utm_campaign=getting-started-with-scikit-learn-for-classification-in-machine-learning
- 1
- 10
- 100
- 67
- 77
- 84
- 9
- 98
- a
- योग्य
- About
- पूर्ण
- शुद्धता
- पाना
- अपनाना
- उन्नत
- AI
- कलन विधि
- एल्गोरिदम
- पहले ही
- हमेशा
- और
- दृष्टिकोण
- स्वत:
- उपलब्ध
- बुनियादी
- लाभ
- BEST
- बेहतर
- जूते का फीता
- निर्माण
- बनाया गया
- चुनौतियों
- बदलना
- चुनें
- कक्षाएं
- वर्गीकरण
- गुच्छन
- कोड
- सामान्यतः
- समुदाय
- जटिल
- जटिलताओं
- विचार करना
- संगत
- मिलकर
- शामिल हैं
- परिवर्तित
- तिथि
- डेटासेट
- निर्णय
- कमी
- डेवलपर
- डेवलपर्स
- विभिन्न
- भिन्न
- सीधे
- दस्तावेज़ीकरण
- से प्रत्येक
- अभियांत्रिकी
- पर्याप्त
- ईथर (ईटीएच)
- मूल्यांकन करें
- मूल्यांकित
- प्रयोग
- का पता लगाने
- Feature
- कुछ
- अंत में
- लचीलापन
- वन
- अनुकूल
- से
- कार्यक्षमताओं
- आगे
- मिल
- मिल रहा
- महान
- ग्रिड
- सिर
- हाई
- कैसे
- How To
- एचटीएमएल
- HTTPS
- हाइपरपरमेटर ट्यूनिंग
- विचार
- कार्यान्वित
- आयात
- में सुधार
- in
- स्थापित
- एकीकृत
- IT
- रखना
- जानें
- सीखा
- सीख रहा हूँ
- स्तर
- पुस्तकालयों
- पुस्तकालय
- लिंक्डइन
- मशीन
- यंत्र अधिगम
- मैक्रो
- बनाता है
- मास्टर की
- आदर्श
- मॉडल
- मॉड्यूल
- अधिक
- अधिकांश
- विभिन्न
- निरीक्षण
- प्राप्त
- ऑफर
- सरकारी
- ONE
- प्राचल
- पैरामीटर
- आवेशपूर्ण
- प्रदर्शन
- प्रदर्शन
- प्रदर्शन
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- लोकप्रियता
- शुद्धता
- मुसीबत
- उत्पादन
- अजगर
- यादृच्छिक
- पढ़ना
- प्रतिनिधित्व
- जिम्मेदार
- बाकी
- परिणाम
- वापसी
- मजबूत
- scikit सीखने
- Search
- Share
- दिखाता है
- समान
- सरल
- एक
- समाज
- हल
- कुछ
- अंतरिक्ष
- शुरू
- रणनीतियों
- संरचना
- उपयुक्त
- समर्थन
- तकनीक
- परीक्षण
- परीक्षण
- RSI
- लेकिन हाल ही
- तीसरे दल
- यहाँ
- सेवा मेरे
- कुल
- रेलगाड़ी
- प्रशिक्षण
- <strong>उद्देश्य</strong>
- ट्यूटोरियल
- उपयोग
- मूल्य
- मान
- विभिन्न
- कौन कौन से
- मर्जी
- लेखक
- X
- जेफिरनेट