Meezo ML نشر 9 يونيو 2021 أرسل تقرير نشر 9 يونيو 2021 كيف نقوم بتطبيق خوارزمية LogisticRegression باستخدام مكتبة sklearn؟ اقتباس
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 اقتباس
السؤال
Meezo ML
كيف نقوم بتطبيق خوارزمية LogisticRegression باستخدام مكتبة sklearn؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.