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

السؤال

Recommended Posts

  • 0
نشر

الأفضل فصل حساب الإحصائيات، وذلك ما يجب فعله عند التعامل مع بيانات تدريب واختبار، عليك أولاً حساب الإحصائيات من بيانات التدريب فقط.

ثم تعريف الدالة التي تستقبل الإحصائيات وبالطبع بها عليك العمل على نسخة من البيانات لتجنب تعديل البيانات الأصلية بشكل غير متوقع، وبداخلها أيضًا تُحدد الأعمدة التي تريد مِلأها.

ثم تطبيق الدالة على بيانات التدريب:

age_mean_train = train_data['Age'].mean()
embarked_mode_train = train_data['Embarked'].mode()[0] 

def fill_missing_values_ml(data, age_fill, embarked_fill, deck_fill='F'):
    data_filled = data.copy()
    
    fill_values = {
        'Age': age_fill,
        'Embarked': embarked_fill,
        'Deck': deck_fill
    }
    
    cols_to_fill = [col for col in fill_values.keys() if col in data_filled.columns]
    
    for col in cols_to_fill:
        data_filled[col].fillna(fill_values[col], inplace=True)
        
    return data_filled

train_data_processed = fill_missing_values_ml(train_data, age_mean_train, embarked_mode_train, deck_fill='F')

ولاحظ تحديد [0] لأن mode() تعيد أكثر من قيمة لو تساوت التكرارات.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...