Ali Ahmed55 نشر 7 فبراير أرسل تقرير نشر 7 فبراير (معدل) السلام عليكم طيب انا هنا عاوز المشكله تكون انحدري (regression) فا ازي اخلي كل من الefs - efs_time كاهدف واحد ه؟ تم التعديل في 7 فبراير بواسطة Ali Ahmed55 1 اقتباس
0 Mustafa Suleiman نشر 7 فبراير أرسل تقرير نشر 7 فبراير السؤال غير واضح؟ ما المطلوب تنفيذه بالضبط؟ تقصد دمج المتغيرين efs و efs_time لإنشاء متغير هدف واحد مناسب لاستخدامه في نموذج انحدار Regression؟ 1 اقتباس
0 Ali Ahmed55 نشر 7 فبراير الكاتب أرسل تقرير نشر 7 فبراير بتاريخ الآن قال Mustafa Suleiman: السؤال غير واضح؟ ما المطلوب تنفيذه بالضبط؟ تقصد دمج المتغيرين efs و efs_time لإنشاء متغير هدف واحد مناسب لاستخدامه في نموذج انحدار Regression؟ ايوه انا اقصد كده اقتباس
0 Mustafa Suleiman نشر 7 فبراير أرسل تقرير نشر 7 فبراير لو افترضنا أنّ efs يمثل حجم التأثير لدواء جديد على مرض معين، فقيمة أعلى تعني دواء أكثر فعالية. و efs_time يمثل الوقت اللازم لبدء ظهور تأثير الدواء بالأيام، فقيمة أقل تعني ظهور التأثير بشكل أسرع. إذن نريد إنشاء متغير هدف يعكس الفاعلية الكلية للدواء مع مراعاة كل من حجم التأثير وسرعة الظهور. فسنقوم بتجربة طرق الدمج ،وهي الضرب، القسمة، الجمع الموزون من أجل إختيار أفضل طريقة: data['target_multiply'] = data['efs'] * data['efs_time'] data['target_divide'] = data['efs'] / data['efs_time'] w1 = 0.7 w2 = 0.3 data['target_weighted_sum'] = (w1 * data['efs']) + (w2 * data['efs_time']) print(data.head()) ثم تدريب نموذج انحدار خطي بسيط لكل متغير هدف قمنا بإنشائه، حيث سنستخدم efs و efs_time كمتغيرات مستقلة features، والمتغيرات الهدف التي أنشأناها في الكود السابق كمتغير هدف target. target_variables = ['target_multiply', 'target_divide', 'target_weighted_sum'] results = {} X = data[['efs', 'efs_time']] for target_name in target_variables: y = data[target_name] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) r2 = r2_score(y_test, y_pred) rmse = np.sqrt(mean_squared_error(y_test, y_pred)) mae = mean_absolute_error(y_test, y_pred) results[target_name] = {'R-squared': r2, 'RMSE': rmse, 'MAE': mae} print("\nنتائج تقييم نماذج الانحدار:") for target_name, metrics in results.items(): print(f"\nالمتغير الهدف: {target_name}") for metric_name, metric_value in metrics.items(): print(f"{metric_name}: {metric_value:.4f}") بعد تشغيل الكود، ستظهر لك نتائج تقييم الأداء لكل نموذج انحدار، حيث يمثل كل نموذج طريقة دمج مختلفة للمتغيرات efs و efs_time. قارن قيم مقاييس التقييم R-squared، RMSE، MAE بين النماذج المختلفة، حيث R-squared كلما كانت القيمة أقرب إلى 1، كان النموذج أفضل في تفسير التباين في المتغير الهدف. وRMSE و MAE كلما كانت القيم أقل، كان النموذج أفضل في التنبؤ بقيم المتغير الهدف بدقة أكبر أي أخطاء أقل. 1 اقتباس
0 Ali Ahmed55 نشر 7 فبراير الكاتب أرسل تقرير نشر 7 فبراير بتاريخ 8 دقائق مضت قال Mustafa Suleiman: لو افترضنا أنّ efs يمثل حجم التأثير لدواء جديد على مرض معين، فقيمة أعلى تعني دواء أكثر فعالية. و efs_time يمثل الوقت اللازم لبدء ظهور تأثير الدواء بالأيام، فقيمة أقل تعني ظهور التأثير بشكل أسرع. إذن نريد إنشاء متغير هدف يعكس الفاعلية الكلية للدواء مع مراعاة كل من حجم التأثير وسرعة الظهور. فسنقوم بتجربة طرق الدمج ،وهي الضرب، القسمة، الجمع الموزون من أجل إختيار أفضل طريقة: data['target_multiply'] = data['efs'] * data['efs_time'] data['target_divide'] = data['efs'] / data['efs_time'] w1 = 0.7 w2 = 0.3 data['target_weighted_sum'] = (w1 * data['efs']) + (w2 * data['efs_time']) print(data.head()) ثم تدريب نموذج انحدار خطي بسيط لكل متغير هدف قمنا بإنشائه، حيث سنستخدم efs و efs_time كمتغيرات مستقلة features، والمتغيرات الهدف التي أنشأناها في الكود السابق كمتغير هدف target. target_variables = ['target_multiply', 'target_divide', 'target_weighted_sum'] results = {} X = data[['efs', 'efs_time']] for target_name in target_variables: y = data[target_name] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) model = LinearRegression() model.fit(X_train, y_train) y_pred = model.predict(X_test) r2 = r2_score(y_test, y_pred) rmse = np.sqrt(mean_squared_error(y_test, y_pred)) mae = mean_absolute_error(y_test, y_pred) results[target_name] = {'R-squared': r2, 'RMSE': rmse, 'MAE': mae} print("\nنتائج تقييم نماذج الانحدار:") for target_name, metrics in results.items(): print(f"\nالمتغير الهدف: {target_name}") for metric_name, metric_value in metrics.items(): print(f"{metric_name}: {metric_value:.4f}") بعد تشغيل الكود، ستظهر لك نتائج تقييم الأداء لكل نموذج انحدار، حيث يمثل كل نموذج طريقة دمج مختلفة للمتغيرات efs و efs_time. قارن قيم مقاييس التقييم R-squared، RMSE، MAE بين النماذج المختلفة، حيث R-squared كلما كانت القيمة أقرب إلى 1، كان النموذج أفضل في تفسير التباين في المتغير الهدف. وRMSE و MAE كلما كانت القيم أقل، كان النموذج أفضل في التنبؤ بقيم المتغير الهدف بدقة أكبر أي أخطاء أقل. تمام جدا بس هو الefs عبار عن efs,Event-free survival,Categorical,['Event' 'Censoring'] يعني القيمه 0.0 - 1.0 الefs_time عبار عن efs_time,"Time to event-free survival, months",Numerical, فا طريقه الضرب تكون الافضل في الحال دي ؟ اقتباس
0 Mustafa Suleiman نشر 7 فبراير أرسل تقرير نشر 7 فبراير بالضبط، تجمع بين احتمالية البقاء على قيد الحياة بدون حدث والوقت المستغرق بشكل يعكس القيمة التراكمية للبقاء بدون حدث، قم بتجربتها وتقييمها، وإذا لزم الأمر، استكشف طرق دمج أخرى ومقارنة النتائج لتحديد الطريقة الأفضل للمشكلة. 1 اقتباس
0 Ali Ahmed55 نشر 7 فبراير الكاتب أرسل تقرير نشر 7 فبراير بتاريخ 2 دقائق مضت قال Mustafa Suleiman: بالضبط، تجمع بين احتمالية البقاء على قيد الحياة بدون حدث والوقت المستغرق بشكل يعكس القيمة التراكمية للبقاء بدون حدث، قم بتجربتها وتقييمها، وإذا لزم الأمر، استكشف طرق دمج أخرى ومقارنة النتائج لتحديد الطريقة الأفضل للمشكلة. تمام جدا الف شكراا جدا لحضرتك جزاك الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
طيب انا هنا عاوز المشكله تكون انحدري (regression) فا ازي اخلي كل من الefs - efs_time كاهدف واحد ه؟
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.