تصویر بذریعہ ایڈیٹر
Scikit-learn python میں بنائی گئی سب سے زیادہ استعمال ہونے والی مشین لرننگ لائبریریوں میں سے ایک ہے۔ اس کی مقبولیت کو اس کے آسان اور مستقل کوڈ کی ساخت سے منسوب کیا جا سکتا ہے جو کہ ابتدائی ڈویلپرز کے لیے دوستانہ ہے۔ نیز، تھرڈ پارٹی فنکشنلٹیز کو مربوط کرنے کے لیے لچک کے ساتھ ساتھ اعلیٰ سطح کی سپورٹ دستیاب ہے جو لائبریری کو مضبوط اور پیداوار کے لیے موزوں بناتی ہے۔ لائبریری میں درجہ بندی، ریگریشن، اور کلسٹرنگ کے لیے متعدد مشین لرننگ ماڈلز شامل ہیں۔ اس ٹیوٹوریل میں، ہم مختلف الگورتھم کے ذریعے ملٹی کلاس کی درجہ بندی کے مسئلے کو تلاش کریں گے۔ آئیے سیدھے اس میں غوطہ لگائیں اور اپنے اسکِٹ لرن ماڈلز بنائیں۔
pip install scikit-learn
ہم scikit-learn کے ڈیٹاسیٹس ماڈیول میں دستیاب "Wine" ڈیٹاسیٹ استعمال کریں گے۔ یہ ڈیٹا سیٹ کل 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_neighbours=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 - سکیٹ لرن کے ساتھ مشین لرننگ کا تعارف, سکیٹ لرن کے ساتھ ازگر میں مشین لرننگ.
یشا شاستری۔ ایک پرجوش AI ڈویلپر اور مصنف ہے جو Université de Montréal سے مشین لرننگ میں ماسٹرز کر رہا ہے۔ یشا ان چیلنجوں کو حل کرنے کے لیے ذمہ دار AI تکنیکوں کو دریافت کرنے کے لیے پرعزم ہے جو معاشرے کو فائدہ پہنچاتے ہیں اور اپنی تعلیم کو کمیونٹی کے ساتھ بانٹتے ہیں۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو بلاک چین۔ Web3 Metaverse Intelligence. علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: 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
- قابلیت
- ہمارے بارے میں
- مطلق
- درستگی
- حاصل
- اپنانے
- اعلی درجے کی
- AI
- یلگورتم
- یلگوردمز
- پہلے ہی
- ہمیشہ
- اور
- نقطہ نظر
- آٹو
- دستیاب
- بنیادی
- فائدہ
- BEST
- بہتر
- بوٹسٹریپ
- تعمیر
- تعمیر
- چیلنجوں
- تبدیل کرنے
- میں سے انتخاب کریں
- کلاس
- درجہ بندی
- clustering کے
- کوڈ
- عام طور پر
- کمیونٹی
- پیچیدہ
- پیچیدگیاں
- غور کریں
- متواتر
- پر مشتمل ہے
- پر مشتمل ہے
- تبدیل
- اعداد و شمار
- ڈیٹاسیٹس
- فیصلہ
- کمی
- ڈیولپر
- ڈویلپرز
- مختلف
- مختلف
- براہ راست
- دستاویزات
- ہر ایک
- انجنیئرنگ
- کافی
- Ether (ETH)
- اندازہ
- اندازہ
- تجربہ
- تلاش
- نمایاں کریں
- چند
- آخر
- لچک
- جنگل
- دوستانہ
- سے
- افعال
- مزید
- حاصل
- حاصل کرنے
- عظیم
- گرڈ
- سر
- ہائی
- کس طرح
- کیسے
- HTML
- HTTPS
- ہائپر پیرامیٹر ٹیوننگ
- خیال
- عملدرآمد
- درآمد
- کو بہتر بنانے کے
- in
- انسٹال
- ضم
- IT
- رکھیں
- جانیں
- سیکھا ہے
- سیکھنے
- سطح
- لائبریریوں
- لائبریری
- لنکڈ
- مشین
- مشین لرننگ
- میکرو
- بناتا ہے
- ماسٹر کی
- ماڈل
- ماڈل
- ماڈیول
- زیادہ
- سب سے زیادہ
- ایک سے زیادہ
- مشاہدہ
- حاصل کی
- تجویز
- سرکاری
- ایک
- پیرامیٹر
- پیرامیٹرز
- جذباتی
- کارکردگی
- کارکردگی کا مظاہرہ
- کارکردگی کا مظاہرہ
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- مقبولیت
- صحت سے متعلق
- مسئلہ
- پیداوار
- ازگر
- بے ترتیب
- پڑھیں
- نمائندگی
- ذمہ دار
- باقی
- نتائج کی نمائش
- واپسی
- مضبوط
- سائنٹ سیکھنا
- تلاش کریں
- سیکنڈ اور
- شوز
- اسی طرح
- سادہ
- ایک
- سوسائٹی
- حل
- کچھ
- خلا
- شروع
- حکمت عملیوں
- ساخت
- موزوں
- حمایت
- تکنیک
- ٹیسٹ
- ٹیسٹنگ
- ۔
- ان
- تیسری پارٹی
- کے ذریعے
- کرنے کے لئے
- کل
- ٹرین
- ٹریننگ
- سچ
- سبق
- استعمال کی شرائط
- قیمت
- اقدار
- مختلف
- جس
- گے
- مصنف
- X
- زیفیرنیٹ