Ali Ahmed55 نشر 28 يناير أرسل تقرير نشر 28 يناير السلام عليكم ازي اقدر استخدم التقنيه دي Multiple Imputation by Chained Equations (MICE) في باثيون ؟ واي المكتبه دي fancyimpute ؟ 1 اقتباس
0 Mustafa Suleiman نشر 28 يناير أرسل تقرير نشر 28 يناير للتوضيح، التقنية بإختصار شديد، طريقة إحصائية ذكية لـ ملء الفراغات (القيم المفقودة) في مجموعة البيانات، عن طريق: تخمين القيم المفقودة بشكل متكرر باستخدام علاقات المتغيرات الأخرى. تكرار العملية عدة مرات لإنشاء عدة نسخ من البيانات المكتملة (لتقليل الخطأ). دمج النتائج من جميع النسخ للحصول على تقدير أدق للقيم المفقودة. وتتوفر في مكتبات مختلفة أولها مكتبة statsmodels تحتوي على دعم مُدمج لـ MICE عبر IterativeImputer. أو sklearn في إصدارات حديثة (≥0.24)، متوفر استخدام IterativeImputer من sklearn.impute. أو fancyimpute وهي مكتبة خارجية تُوَدِّع خوارزميات متقدمة للتعامل مع البيانات المفقودة، بما في ذلك MICE. مثلاً من خلال IterativeImputer من sklearn: import pandas as pd import numpy as np from sklearn.experimental import enable_iterative_imputer from sklearn.impute import IterativeImputer data = pd.DataFrame({ 'A': [1, 2, np.nan, 4, 5], 'B': [np.nan, 2, 3, 4, 5], 'C': [1, 2, 3, np.nan, 5] }) imputer = IterativeImputer( max_iter=10, random_state=42, initial_strategy='mean' ) imputed_data = imputer.fit_transform(data) imputed_df = pd.DataFrame(imputed_data, columns=data.columns) print(imputed_df) أو من خلال fancyimpute التي توفر خوارزميات متقدمة مثل Matrix Factorization وKNN وMICE، لكنها أبطأ مع البيانات الكبيرة. from fancyimpute import IterativeImputer imputer = IterativeImputer(n_imputations=5, max_iter=10) imputed_data = imputer.fit_transform(data) imputed_df = pd.DataFrame(imputed_data, columns=data.columns) print(imputed_df) بمعنى sklearn أسرع لكن بها دعم محدود للنماذج وهي أفضل للمجموعات الصغيرة، بينما fancyimpute تدعم نماذج معقدة لكن أبطأ بسبب اعتمادها على TensorFlow وليس دائمًا بسبب ذلك، بل بسبب التطبيقات الداخلية، وتتطلب موارد حاسوبية أعلى. عامًة sklearn مُفضَّلة في معظم الحالات من حيث السرعة والكفاءة بالنسبة للبيانات الصغيرة أو متوسطة الحجم أي أقل من ١٠٠ ألف عينة. أما fancyimpute لو أردت تجربة خوارزميات غير موجودة في sklearn (مثل MatrixFactorization)، أو بحاجة إلى خيارات متقدمة للبيانات المعقدة مثل الصور أو النصوص. 1 اقتباس
0 Ali Ahmed55 نشر 29 يناير الكاتب أرسل تقرير نشر 29 يناير بتاريخ 13 ساعة قال Mustafa Suleiman: للتوضيح، التقنية بإختصار شديد، طريقة إحصائية ذكية لـ ملء الفراغات (القيم المفقودة) في مجموعة البيانات، عن طريق: تخمين القيم المفقودة بشكل متكرر باستخدام علاقات المتغيرات الأخرى. تكرار العملية عدة مرات لإنشاء عدة نسخ من البيانات المكتملة (لتقليل الخطأ). دمج النتائج من جميع النسخ للحصول على تقدير أدق للقيم المفقودة. وتتوفر في مكتبات مختلفة أولها مكتبة statsmodels تحتوي على دعم مُدمج لـ MICE عبر IterativeImputer. أو sklearn في إصدارات حديثة (≥0.24)، متوفر استخدام IterativeImputer من sklearn.impute. أو fancyimpute وهي مكتبة خارجية تُوَدِّع خوارزميات متقدمة للتعامل مع البيانات المفقودة، بما في ذلك MICE. مثلاً من خلال IterativeImputer من sklearn: import pandas as pd import numpy as np from sklearn.experimental import enable_iterative_imputer from sklearn.impute import IterativeImputer data = pd.DataFrame({ 'A': [1, 2, np.nan, 4, 5], 'B': [np.nan, 2, 3, 4, 5], 'C': [1, 2, 3, np.nan, 5] }) imputer = IterativeImputer( max_iter=10, random_state=42, initial_strategy='mean' ) imputed_data = imputer.fit_transform(data) imputed_df = pd.DataFrame(imputed_data, columns=data.columns) print(imputed_df) أو من خلال fancyimpute التي توفر خوارزميات متقدمة مثل Matrix Factorization وKNN وMICE، لكنها أبطأ مع البيانات الكبيرة. from fancyimpute import IterativeImputer imputer = IterativeImputer(n_imputations=5, max_iter=10) imputed_data = imputer.fit_transform(data) imputed_df = pd.DataFrame(imputed_data, columns=data.columns) print(imputed_df) بمعنى sklearn أسرع لكن بها دعم محدود للنماذج وهي أفضل للمجموعات الصغيرة، بينما fancyimpute تدعم نماذج معقدة لكن أبطأ بسبب اعتمادها على TensorFlow وليس دائمًا بسبب ذلك، بل بسبب التطبيقات الداخلية، وتتطلب موارد حاسوبية أعلى. عامًة sklearn مُفضَّلة في معظم الحالات من حيث السرعة والكفاءة بالنسبة للبيانات الصغيرة أو متوسطة الحجم أي أقل من ١٠٠ ألف عينة. أما fancyimpute لو أردت تجربة خوارزميات غير موجودة في sklearn (مثل MatrixFactorization)، أو بحاجة إلى خيارات متقدمة للبيانات المعقدة مثل الصور أو النصوص. طيب معليش عندي سوالين 1- هو الازم ان تكون البيانات كلها عبار عن ارقم ؟ 2- بعد استخدم الخورزميه دي هيعمل نسخ جديد من البيانات والا هعويض القيمه الNull بلقيمه الجديد ؟ اقتباس
0 Mustafa Suleiman نشر 29 يناير أرسل تقرير نشر 29 يناير بتاريخ 5 ساعة قال Ali Ahmed55: طيب معليش عندي سوالين 1- هو الازم ان تكون البيانات كلها عبار عن ارقم ؟ 2- بعد استخدم الخورزميه دي هيعمل نسخ جديد من البيانات والا هعويض القيمه الNull بلقيمه الجديد ؟ تقنية MICE تعمل بشكل أفضل مع البيانات الرقمية، وذلك لاستخدام العلاقات الإحصائية بين المتغيرات لملء القيم المفقودة، أما البيانات الفئوية Categorical فتستطيع التعامل معها ولكنها تتطلب بعض المعالجة المسبقة، مثل تحويلها إلى أرقام باستخدام الترميز Encoding. وسيتم استبدال القيم الفارغة Null بالقيم الجديدة، لأنّ MICE تقوم بملء الفراغات، فالهدف الرئيسي لها هو ملء القيم المفقودة في مجموعة البيانات الأصلية، ولا تقوم بإنشاء نسخ جديدة كاملة من البيانات، بل تحديث القيم المفقودة في البيانات الأصلية حسب التقديرات التي تم الحصول عليها من خلال العملية التكرارية. 1 اقتباس
0 Ali Ahmed55 نشر 29 يناير الكاتب أرسل تقرير نشر 29 يناير بتاريخ 34 دقائق مضت قال Mustafa Suleiman: تقنية MICE تعمل بشكل أفضل مع البيانات الرقمية، وذلك لاستخدام العلاقات الإحصائية بين المتغيرات لملء القيم المفقودة، أما البيانات الفئوية Categorical فتستطيع التعامل معها ولكنها تتطلب بعض المعالجة المسبقة، مثل تحويلها إلى أرقام باستخدام الترميز Encoding. وسيتم استبدال القيم الفارغة Null بالقيم الجديدة، لأنّ MICE تقوم بملء الفراغات، فالهدف الرئيسي لها هو ملء القيم المفقودة في مجموعة البيانات الأصلية، ولا تقوم بإنشاء نسخ جديدة كاملة من البيانات، بل تحديث القيم المفقودة في البيانات الأصلية حسب التقديرات التي تم الحصول عليها من خلال العملية التكرارية. الف شكرااا جدا لحضرتك جزاك الله كل خير اقتباس
0 Ali Ahmed55 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ On 28/1/2025 at 23:30 قال Mustafa Suleiman: enable_iterative_imputer هو ليه هنا عملين import الداله دي ؟ اقتباس
السؤال
Ali Ahmed55
السلام عليكم
ازي اقدر استخدم التقنيه دي Multiple Imputation by Chained Equations (MICE) في باثيون ؟
واي المكتبه دي fancyimpute ؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.