Meezo ML نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 (معدل) كيف نقوم باستخدام الصف SimpleImputer من مكتبة Sklearn للتعامل مع القيم المفقودة في البيانات؟ تم التعديل في 21 يونيو 2021 بواسطة Meezo ML اقتباس
1 Ali Haidar Ahmad نشر 21 يونيو 2021 أرسل تقرير نشر 21 يونيو 2021 توفر مكتبة Sklearn الكلاس SimpleImputer للتعامل مع القيم المفقودة، من خلال الموديول impute: sklearn.impute.SimpleImputer الصيغة: sklearn.impute.SimpleImputer(missing_values=nan, strategy='mean', fill_value=None,copy=True) strategy:تعني الطريقة التي سيتم التعامل بها مع القيم المفقودة mean , median , most_frequent , constant. mean سيعوض القيمة المفقودة بال mean للقيم المجاورة. most_frequent سيعوضها بالقيمة الأكثر تكراراً. constant بقيمة ثابتة أنت تحددها. median سيعوضها بال median للقيم المجاورة. copy: فيحال ضبطها على true سيتم إنشاء نسخة من البيانات أي لن يكون التعديل على البيانات الأصلية. missing_values: تحديد القيم التي تعتبرها كقيم مفقودة في بياناتك (مثلاً وجود NAN يعني أن القيمة مفقودة أو 0 مثلاً). ويأخذ القيم : "int, float, str, np.nan or None, default="np.nan fill_value: نستخدم هذا الوسيط في حالة استخدمنا استراتيجية constant حيث نسند له القيمة التي نريد الاستبدال بها. افتراضياً None. نستخدم التابع fit للقيام بعملية ال fitting على الداتا (اكتشاف القيم المفقودة و العمليات اللازمة للتعامل مع القيم المفقودة ) نستخدم التابع transform(data) لتطبيق التحويل (استبدال القيم المفقودة) مثال: #استيراد المكتبات اللازمة import numpy as np from sklearn.impute import SimpleImputer # إنشاء داتا بسيطة بقيمة مفقودة data=[[3, 4], [np.nan, 6]] #SimpleImputer تطبيق الكلاس imp = SimpleImputer(missing_values=np.nan, strategy='constant',fill_value=5) #على البيانات fitting عمل imp.fit(data) # تطبيق التحويل data=imp.transform(data) print(data) ''' [[3. 4.] [5. 6.]] ''' 1 اقتباس
1 ريم المهدي نشر 22 يونيو 2021 أرسل تقرير نشر 22 يونيو 2021 لابد أن تعلم عزيزي أن هنالك طرق مختلفة للتعامل مع القيم المفقودة، منها طريقة تضمين أو توليد بيانات جديدة بإستخدام البيانات الموجودة أصلا. و يمكننا التعامل معها على مستوى عمود واحد (وهي الطريقة التي يوفرها SimpleImputer) فهو أحد طرق التضمين لمتغير واحد Univariate Imputation. يمكن ايضاً للدالة SimpleImputer التعامل مع البيانات الفئوية Categorical Variables، راجع المثال التالي والذي يقوم بإستبدال القيم غير المعرفة nan values بالقيمة الأكثر شيوعاً حسب ما هو موضح في الإستراتيجية strategy. import pandas as pd df = pd.DataFrame([["a", "x"], [np.nan, "y"], ["a", np.nan], ["b", "y"]], dtype="category") imp = SimpleImputer(strategy="most_frequent") print(imp.fit_transform(df)) يمكنك ملاحظة أن القيمة الأكثر شيوعاً في العمود الأول مختلفة عن العمود الثاني، و بالتالي في حال وجود أكثر من قيمة غير معرفة في عمودين مختلفين يتم التعامل مع كل واحد على حدة، فالأول يأخذ قيمة a و يبدلها معم كل قيمة غير معرفة ، أما الثاني فهو يأخذ القيمة y و يبدلها مع كل قيمة غير معرفة. 1 اقتباس
السؤال
Meezo ML
كيف نقوم باستخدام الصف SimpleImputer من مكتبة Sklearn للتعامل مع القيم المفقودة في البيانات؟
تم التعديل في بواسطة Meezo ML2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.