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

السؤال

نشر

السلام عليكم

زاي احفظ البيانات بعد ما تعالجها (بـ IterativeImputer مثلاً)، علشان لما تقفل الدفتر على Kaggle وتفتحه تاني، ما تعيدش تنفيذ كود المعالجة من أول وجديد.

وده الكود 

def handle_missing_values(data):

    numeric_features = data.select_dtypes(include=['number']).columns.tolist()
    text_features = data.select_dtypes(include=['object']).columns.tolist()

    preprocessor = ColumnTransformer(
        transformers=[
            ('num',IterativeImputer(),numeric_features),
            ('text', 'passthrough', text_features),
        ]
    )

    df_transformed = preprocessor.fit_tranform(data)

    features_names = numeric_features + text_features
    data = pd.DataFrame(df_transformed, columns=features_names)

    return data

 

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله تعالى وبركاته،

في بيئة Kaggle Notebook لدينا ثلاث مجلدات رئيسية:

  • /kaggle/input/ وهو مجلد البيانات المدخلة نستخدمه للقراءة فقط إذ لا يمكن الكتابة فيه
  • /kaggle/working/ وهو مجلد العمل الخاص بك إذ يمكن الكتابة والقراءة منه
  • /kaggle/tmp/ وهو مجلد مؤقت وهو الذي يحذف عند إعادة التشغيل

لذا عندما تعالج البيانات ب IterativeImputer يمكنك حفظها في /kaggle/working/ كملف CSV ثم في بداية الدفتر يمكنك التحقق من وجود الملف المحفوظ:

  • إذا كان موجود ستقوم بتحميله مباشرة
  • إذا لم يكن موجود نفذ المعالجة واحفظه

وهذا يوفر عليك وقت إعادة تنفيذ المعالجة في كل مرة تفتح فيها الدفتر، لأن الملفات في /kaggle/working/ تبقى محفوظة حتى لو أغلقت الدفتر وفتحته مرة أخرى لعمل ذلك يمكنك بداية استيراد المكتبة os:

import os

ثم في بداية الدالة بعد السطر الأول تضيف شرط التحقق من وجود الملف:

if os.path.exists('/kaggle/working/processed_data.csv'):
   return pd.read_csv('/kaggle/working/processed_data.csv')

ثم في النهاية وقبل return data تضيف السطر الذي يقوم بالحفظ كالتالي:

data.to_csv('/kaggle/working/processed_data.csv', index=False)
  • 0
نشر
بتاريخ 9 دقائق مضت قال Ali Ahmed55:

تمام جدا

بس ليه نعمل الشرطه ده ؟

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...