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

السؤال

Recommended Posts

  • 0
نشر

الدالة C() في مكتبة statsmodels تستخدم لتصنيف المتغيرات (categorical variables) في النماذج الإحصائية ويتم استخدامها لتحويل المتغيرات النوعية (categorical variables) إلى متغيرات وهمية (dummy variables) تلقائيا، مما يسمح بإدراجها في نماذج الانحدار الخطي أو غيرها من النماذج الإحصائية وعند استخدام الدالة OLS لإجراء تحليل الانحدار، فإن C() تستخدم لتضمين المتغيرات النوعية. بدلا من إدخال المتغير النوعي كرقم (مثل 1، 2، 3) أين يتم تحويله إلى متغيرات وهمية بحيث يمكن للنموذج التعامل معه بشكل صحيح.

و C() يقوم بتشفيره إلى متغيرات رقمية متعددة تمثل الفئات، مما يساعد النموذج على التعامل معها بشكل صحيح دون الحاجة لتحويلها يدويا وهذا باستخدام طرق مثل pandas.get_dummies().

ويتم استخدامه عادة عند التعامل مع المتغيرات النوعية في تحليل الانحدار أو في نماذج أكثر تعقيدا مثل النماذج المختلطة (Mixed Models) أو تحليل التباين (ANOVA) كما تتيح خيارات إضافية مثل تحديد ترتيب الفئات أو نوع الترميز المستخدم (مثل التأثيرات بدلا من الترميز الوهمي) إلى جانب OLS ويمكن استخدامها لإنشاء تفاعلات بين المتغيرات أو تخصيص تمثيل المتغيرات النوعية في أي نموذج إحصائي.

  • 0
نشر
بتاريخ 6 دقائق مضت قال ياسر مسكين:

و C() يقوم بتشفيره إلى متغيرات رقمية متعددة تمثل الفئات، مما يساعد النموذج على التعامل معها بشكل صحيح دون الحاجة لتحويلها يدويا وهذا باستخدام طرق مثل pandas.get_dummies().

 

تمام بس انا عندي عمود dri_score فيه القيمه دي

dri_score
Intermediate                                         
High                                                  
N/A - pediatric                                       
High - TED AML case <missing cytogenetics             
Low                                                    
N/A - non-malignant indication                         
Intermediate - TED AML case <missing cytogenetics

بس انا استخدمت الداله دي LabelEncoder فا حولت من نص الي ارقم زي كده

dri_score
2    
0     
6     
1     
4      
5      
3      
7 

فا استخدم اي الكود ده  يعني استخدم الC()  والا من غير الC()

model = ols(formula='efs_time ~ C(dri_score)' , data=data_train).fit()

 

  • 0
نشر
بتاريخ 17 ساعة قال Ali Ahmed55:

تمام بس انا عندي عمود dri_score فيه القيمه دي

dri_score
Intermediate                                         
High                                                  
N/A - pediatric                                       
High - TED AML case <missing cytogenetics             
Low                                                    
N/A - non-malignant indication                         
Intermediate - TED AML case <missing cytogenetics

بس انا استخدمت الداله دي LabelEncoder فا حولت من نص الي ارقم زي كده

dri_score
2    
0     
6     
1     
4      
5      
3      
7 

فا استخدم اي الكود ده  يعني استخدم الC()  والا من غير الC()

model = ols(formula='efs_time ~ C(dri_score)' , data=data_train).fit()

 

C() تستخدم لتحويل المتغيرات الفئوية إلى صيغة يفهمها النموذج وتستخدم بشكل أساسي في تحليل الانحدار الخطي واللوغاريتمي أو أي نموذج يعتمد على مكتبة statsmodels ويمكن استخدامها أيضا لتحليل التفاعلات، تخصيص الترميز، أو دمجها مع نماذج أخر.

استخدم الكود مع C(dri_score) لأن العمود dri_score يحتوي على قيم فئوية (categorical)، ويجب التعامل معها كفئات مستقلة بدون ترتيب ضمني. هذا يضمن أن النموذج يعامل كل فئة بشكل صحيح دون فرض أي علاقة رياضية بين القيم:

model = ols(formula='efs_time ~ C(dri_score)', data=data_train).fit()

 

  • 0
نشر
بتاريخ 29 دقائق مضت قال عبد الوهاب بومعراف:

C() تستخدم لتحويل المتغيرات الفئوية إلى صيغة يفهمها النموذج وتستخدم بشكل أساسي في تحليل الانحدار الخطي واللوغاريتمي أو أي نموذج يعتمد على مكتبة statsmodels ويمكن استخدامها أيضا لتحليل التفاعلات، تخصيص الترميز، أو دمجها مع نماذج أخر.

استخدم الكود مع C(dri_score) لأن العمود dri_score يحتوي على قيم فئوية (categorical)، ويجب التعامل معها كفئات مستقلة بدون ترتيب ضمني. هذا يضمن أن النموذج يعامل كل فئة بشكل صحيح دون فرض أي علاقة رياضية بين القيم:

model = ols(formula='efs_time ~ C(dri_score)', data=data_train).fit()

 

الف شكرااا جدا لحضرتك

 

بتاريخ 17 ساعة قال Ali Ahmed55:

تمام بس انا عندي عمود dri_score فيه القيمه دي

dri_score
Intermediate                                         
High                                                  
N/A - pediatric                                       
High - TED AML case <missing cytogenetics             
Low                                                    
N/A - non-malignant indication                         
Intermediate - TED AML case <missing cytogenetics

بس انا استخدمت الداله دي LabelEncoder فا حولت من نص الي ارقم زي كده

dri_score
2    
0     
6     
1     
4      
5      
3      
7 

فا استخدم اي الكود ده  يعني استخدم الC()  والا من غير الC()

model = ols(formula='efs_time ~ C(dri_score)' , data=data_train).fit()

 

الف شكراا لحضرتك جدا

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...