Meezo ML نشر 9 يونيو 2021 أرسل تقرير مشاركة نشر 9 يونيو 2021 كيف نقوم بتطبيق خوارزمية LogisticRegression باستخدام مكتبة sklearn؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ali Haidar Ahmad نشر 9 يونيو 2021 أرسل تقرير مشاركة نشر 9 يونيو 2021 (معدل) يمكنك استخدامها عبر الموديول linear_model.LogisticRegression: sklearn.linear_model.LogisticRegression(penalty='l2', *, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, random_state=None, solver='lbfgs', max_iter=100, multi_class='auto', verbose=0, n_jobs=None) الوسطاء (غالباً نتركهم على الحالة الافتراضية لكن أنصح باستخدام newton-cg optimizer مع solver ): penalty: لتحديد ال norm المستخدمة في عملية ال penalization (يقصد فيهما نوع عملية التنعيم المستخدمة). ويأخذ القيم التالية: {‘l1’, ‘l2’(default), ‘elasticnet’, ‘none’} ملاحظة: sag و lbfgs و newton-cg يدعمون فقط النوع الثاني l2. elasticnet يدعم فقط saga. tol: مقدار السماحية المسموح بها في الخطأ، أي لكي تخبر النموذج متى يمكنه التوقف عند البحث عن القيمة صغرى بمجرد الوصول إلى هذه القيمة. C: معكوس التنعيم، وكلما كانت أصغر كلما زاد التنعيم. random_state: تتحكم بعملية تقسيم البيانات. max_iter: العدد الأعظمي للتكرارات الممكنة. n_jobs: لتحديد السرعة، ويقبل عدد صحيح: -1: أي أنك تريد التنفيذ على GPU [1,n]: كلما قمت بزيادة الرقم كلما زاد التسريع (يعتمد على قدرات جهازك). Solver: لتحديد خوارزمية التقارب convergence وتكون قيمتها : {‘newton-cg’, ‘lbfgs’ (default), ‘liblinear’, ‘sag’, ‘saga’} sag أو saga في حالة البيانات الكبيرة. liblinear في حالة البيانات الصغيرة. dual: يفضل وضعه على False عندما تكون عدد العينات أكبر من عدد ال features. verbose: لعرض كل التفاصيل أثناء التدريب نضع أي عدد صحيح أكبر من الصفر وإلا نضع 0. ال attributes: coef_: لعرض أوزان التدريب. intercept_: التقاطع مع المحور y وهو قيمة بوليانية، في حال ضبطه على true يتم إخذ أفضل تقاطع مع المحور y. classes_: أسماء الفئات المستخدمة، مثلاً مريض أو غير مريض أي 0 و 1. n_iter_: عدد المحاولات التي قامت بها الخوارزمية. الدوال: score(data, label): لعرض مدى كفاءة المودل. predict(data): لإخراج القيم المتوقعة لدخل معطى. fit(data,label): للقيام بعملية التدريب. مثال على بيانات أمراض سرطان الثدي (مريض|سليم) : # استيراد المكتبات اللازمة from sklearn.datasets import load_breast_cancer # استيراد الداتا from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression # تحميل الدات BreastData = load_breast_cancer() data = BreastData.data labels = BreastData.target # تقسيم البيانات X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.2, random_state=4, shuffle =True) LogisticR = LogisticRegression(max_iter=110,solver="newton-cg") # حددنا عدد التكرارات ب 110 كحد أقصى LogisticR.fit(X_train, y_train) # بدء التدريب print('train Score is : ' , LogisticR.score(X_train, y_train)) #96% # عرض الدقة على بيانات التدريب print('Test Score is : ' , LogisticR.score(X_test, y_test)) # 91% # عرض الدقة على بيانات الاختبار print('LogisticR Classes are : ' , LogisticR.classes_) # عرض الفئات الموجودة لدينا وهي 0 و 1 أي مريض وسليم print('LogisticR No. of iteratios is : ' , LogisticR.n_iter_) # عرض عدد المحاولات أوالتكرارات print('----------------------------------------------------') # حساب التوقع y_pred = LogisticR.predict(X_test) y_pred_prob = LogisticR.predict_proba(X_test) print('Predicted Value : ' , y_pred[:4]) # عرض القيم المتوقعة بعد قصرها print('Prediction Probabilities Value : ' , y_pred_prob[:4]) # عرض القيم المتوقعة كقيم احتمالية تم التعديل في 9 يونيو 2021 بواسطة Ali Haidar Ahmad اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Meezo ML
كيف نقوم بتطبيق خوارزمية LogisticRegression باستخدام مكتبة sklearn؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.