اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

 طبيعة المشكلة تصنيف ثنائية binary classification مع بيانات غير متوازنة، لذا عليك التعامل مع عدم توازن البيانات باستخدام SMOTE وهي من أفضل تقنيات معالجة عدم توازن البيانات، حيث تقوم بإنشاء عينات جديدة من فئة الأقلية بطريقة ذكية.

from imblearn.over_sampling import SMOTE
smote = SMOTE(random_state=42)
X_train, y_train = smote.fit_resample(X_train, y_train)

حاول تجربة أساليب اختيار ميزات أخرى بالإضافة إلى Random Forest، مثل Recursive Feature Elimination (RFE)

أو Feature Importance from Linear Models لاستخدام معاملات النماذج الخطية (مثل Logistic Regression) لتحديد أهمية الميزات.

إليك مثال  RFE مع التحقق المتقاطع cross-validation لاختيار أفضل عدد من الميزات و تجنب فرط التخصيص:

 

from sklearn.feature_selection import RFECV
estimator = LogisticRegression(solver='liblinear')
selector = RFECV(estimator, cv=5, scoring='accuracy')  #  استخدام 5 طيات للتحقق المتقاطع
selector = selector.fit(X, y)
selected_features = X.columns[selector.support_]
X = X[selected_features]

ثم جرب بنية أعمق قليلاً مع طبقات Dropout لتجنب فرط التخصيص.

model = Sequential()
model.add(Dense(128, input_dim=X_train.shape[1], activation='relu', kernel_regularizer='l2'))
model.add(Dropout(0.4))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.3))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

ثم تحسين عملية التدريب ويُعد مُحسِّن Adam خيارًا جيدًا لمعظم مشاكل الشبكات العصبية، أيضًا استخدم Early Stopping لإيقاف التدريب عندما يتوقف أداء النموذج عن التحسن على بيانات التحقق.

 

from tensorflow.keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(patience=10)  #  إيقاف التدريب بعد 10 حقب بدون تحسن
history = model.fit(..., callbacks=[early_stopping])

ولا تعتمد على الـ accuracy فقط، بل استخدم مُقاييس أخرى مثل precision, recall, F1-score, و AUC لتقييم أداء النموذج بشكل شامل، خاصةً مع البيانات غير المتوازنة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...