You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/ar/2-Regression/3-Linear/README.md

30 KiB

بناء نموذج انحدار باستخدام Scikit-learn: أربعة أنواع من الانحدار

مخطط معلوماتي عن الانحدار الخطي مقابل الانحدار متعدد الحدود

مخطط معلوماتي من إعداد Dasani Madipalli

اختبار ما قبل المحاضرة

هذا الدرس متوفر بلغة R!

المقدمة

حتى الآن، قمت باستكشاف مفهوم الانحدار باستخدام بيانات عينة مأخوذة من مجموعة بيانات تسعير القرع التي سنستخدمها طوال هذا الدرس. كما قمت بتصورها باستخدام مكتبة Matplotlib.

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

في هذا الدرس، ستتعلم المزيد عن نوعين من الانحدار: الانحدار الخطي الأساسي و_الانحدار متعدد الحدود_، بالإضافة إلى بعض الرياضيات التي تدعم هذه التقنيات. ستتيح لنا هذه النماذج التنبؤ بأسعار القرع بناءً على بيانات إدخال مختلفة.

تعلم الآلة للمبتدئين - فهم الانحدار الخطي

🎥 انقر على الصورة أعلاه لمشاهدة فيديو قصير عن الانحدار الخطي.

خلال هذا المنهج، نفترض معرفة رياضية بسيطة، ونسعى لجعلها متاحة للطلاب القادمين من مجالات أخرى، لذا انتبه للملاحظات، 🧮 التنبيهات، الرسوم البيانية، وأدوات التعلم الأخرى التي تساعد على الفهم.

المتطلبات الأساسية

يجب أن تكون الآن على دراية ببنية بيانات القرع التي نقوم بفحصها. يمكنك العثور عليها محملة مسبقًا ومنظفة مسبقًا في ملف notebook.ipynb الخاص بهذا الدرس. في الملف، يتم عرض سعر القرع لكل سلة في إطار بيانات جديد. تأكد من أنك تستطيع تشغيل هذه الدفاتر في النواة الخاصة بـ Visual Studio Code.

التحضير

كتذكير، تقوم بتحميل هذه البيانات لطرح أسئلة عليها.

  • متى يكون أفضل وقت لشراء القرع؟
  • ما السعر المتوقع لصندوق من القرع الصغير؟
  • هل يجب أن أشتريه في سلال نصف البوشل أم في صناديق 1 1/9 بوشل؟ دعنا نستمر في استكشاف هذه البيانات.

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

ألقِ نظرة على البيانات المحملة مسبقًا في دفتر الملاحظات المرافق لهذا الدرس. البيانات محملة مسبقًا وتم رسم مخطط مبعثر أولي لإظهار بيانات الأشهر. ربما يمكننا الحصول على مزيد من التفاصيل حول طبيعة البيانات من خلال تنظيفها أكثر.

خط الانحدار الخطي

كما تعلمت في الدرس الأول، الهدف من تمرين الانحدار الخطي هو رسم خط لـ:

  • إظهار العلاقات بين المتغيرات. إظهار العلاقة بين المتغيرات.
  • إجراء التنبؤات. إجراء تنبؤات دقيقة حول مكان وقوع نقطة بيانات جديدة بالنسبة لذلك الخط.

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

نقوم بذلك لأننا نريد نمذجة خط يحتوي على أقل مسافة تراكمية من جميع نقاط البيانات لدينا. كما نقوم بتربيع المصطلحات قبل جمعها لأننا نهتم بحجمها بدلاً من اتجاهها.

🧮 أرني الرياضيات

يمكن التعبير عن هذا الخط، المسمى خط أفضل تطابق، بواسطة معادلة:

Y = a + bX

X هو "المتغير التوضيحي". Y هو "المتغير التابع". ميل الخط هو b وa هو نقطة تقاطع المحور Y، والتي تشير إلى قيمة Y عندما يكون X = 0.

حساب الميل

أولاً، احسب الميل b. مخطط معلوماتي من إعداد Jen Looper

بعبارة أخرى، وبالإشارة إلى السؤال الأصلي لبيانات القرع: "توقع سعر القرع لكل بوشل حسب الشهر"، سيكون X يشير إلى السعر وY يشير إلى شهر البيع.

إكمال المعادلة

احسب قيمة Y. إذا كنت تدفع حوالي 4 دولارات، فلا بد أن يكون أبريل! مخطط معلوماتي من إعداد Jen Looper

يجب أن توضح الرياضيات التي تحسب الخط ميل الخط، والذي يعتمد أيضًا على نقطة التقاطع، أو مكان وجود Y عندما يكون X = 0.

يمكنك مشاهدة طريقة الحساب لهذه القيم على موقع Math is Fun. قم أيضًا بزيارة آلة حاسبة المربعات الصغرى لمشاهدة كيفية تأثير قيم الأرقام على الخط.

الارتباط

مصطلح آخر يجب فهمه هو معامل الارتباط بين المتغيرين X وY المعطى. باستخدام مخطط مبعثر، يمكنك بسرعة تصور هذا المعامل. إذا كانت النقاط المبعثرة على المخطط تشكل خطًا مرتبًا، فإن الارتباط يكون عاليًا، ولكن إذا كانت النقاط مبعثرة في كل مكان بين X وY، فإن الارتباط يكون منخفضًا.

نموذج الانحدار الخطي الجيد سيكون نموذجًا يحتوي على معامل ارتباط عالٍ (أقرب إلى 1 من 0) باستخدام طريقة انحدار المربعات الصغرى مع خط الانحدار.

قم بتشغيل دفتر الملاحظات المرافق لهذا الدرس وانظر إلى المخطط المبعثر بين الشهر والسعر. هل تبدو البيانات التي تربط الشهر بالسعر لمبيعات القرع ذات ارتباط عالٍ أم منخفض، وفقًا لتفسيرك البصري للمخطط المبعثر؟ هل يتغير ذلك إذا استخدمت مقياسًا أكثر دقة بدلاً من الشهر، مثل يوم السنة (أي عدد الأيام منذ بداية السنة)؟

في الكود أدناه، سنفترض أننا قمنا بتنظيف البيانات، وحصلنا على إطار بيانات يسمى new_pumpkins، مشابه لما يلي:

ID Month DayOfYear Variety City Package Low Price High Price Price
70 9 267 PIE TYPE BALTIMORE 1 1/9 bushel cartons 15.0 15.0 13.636364
71 9 267 PIE TYPE BALTIMORE 1 1/9 bushel cartons 18.0 18.0 16.363636
72 10 274 PIE TYPE BALTIMORE 1 1/9 bushel cartons 18.0 18.0 16.363636
73 10 274 PIE TYPE BALTIMORE 1 1/9 bushel cartons 17.0 17.0 15.454545
74 10 281 PIE TYPE BALTIMORE 1 1/9 bushel cartons 15.0 15.0 13.636364

الكود لتنظيف البيانات متوفر في notebook.ipynb. قمنا بتنفيذ نفس خطوات التنظيف كما في الدرس السابق، وحسبنا عمود DayOfYear باستخدام التعبير التالي:

day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)

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

البحث عن الارتباط

تعلم الآلة للمبتدئين - البحث عن الارتباط: المفتاح للانحدار الخطي

🎥 انقر على الصورة أعلاه لمشاهدة فيديو قصير عن الارتباط.

من الدرس السابق، ربما لاحظت أن متوسط السعر للأشهر المختلفة يبدو كالتالي:

متوسط السعر حسب الشهر

يشير هذا إلى أنه قد يكون هناك ارتباط، ويمكننا محاولة تدريب نموذج انحدار خطي للتنبؤ بالعلاقة بين الشهر والسعر، أو بين يوم السنة والسعر. هنا المخطط المبعثر الذي يظهر العلاقة الأخيرة:

مخطط مبعثر للسعر مقابل يوم السنة

دعنا نرى ما إذا كان هناك ارتباط باستخدام دالة corr:

print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))

يبدو أن الارتباط صغير جدًا، -0.15 بالنسبة لـ الشهر و-0.17 بالنسبة لـ يوم الشهر، ولكن قد تكون هناك علاقة مهمة أخرى. يبدو أن هناك مجموعات مختلفة من الأسعار تتوافق مع أنواع مختلفة من القرع. لتأكيد هذه الفرضية، دعنا نرسم كل فئة من القرع بلون مختلف. عن طريق تمرير معامل ax إلى دالة الرسم المبعثر، يمكننا رسم جميع النقاط على نفس الرسم البياني:

ax=None
colors = ['red','blue','green','yellow']
for i,var in enumerate(new_pumpkins['Variety'].unique()):
    df = new_pumpkins[new_pumpkins['Variety']==var]
    ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
مخطط مبعثر للسعر مقابل يوم السنة

تشير تحقيقاتنا إلى أن النوع له تأثير أكبر على السعر الإجمالي من تاريخ البيع الفعلي. يمكننا رؤية ذلك باستخدام رسم بياني شريطي:

new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
رسم بياني شريطي للسعر مقابل النوع

دعنا نركز في الوقت الحالي فقط على نوع واحد من القرع، وهو "نوع الفطيرة"، ونرى ما هو تأثير التاريخ على السعر:

pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price') 
مخطط مبعثر للسعر مقابل يوم السنة

إذا قمنا الآن بحساب الارتباط بين السعر ويوم السنة باستخدام دالة corr، سنحصل على شيء مثل -0.27 - مما يعني أن تدريب نموذج تنبؤي يبدو منطقيًا.

قبل تدريب نموذج الانحدار الخطي، من المهم التأكد من أن بياناتنا نظيفة. لا يعمل الانحدار الخطي بشكل جيد مع القيم المفقودة، لذا من المنطقي التخلص من جميع الخلايا الفارغة:

pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()

نهج آخر سيكون ملء تلك القيم الفارغة بالقيم المتوسطة من العمود المقابل.

الانحدار الخطي البسيط

تعلم الآلة للمبتدئين - الانحدار الخطي ومتعدد الحدود باستخدام Scikit-learn

🎥 انقر على الصورة أعلاه لمشاهدة فيديو قصير عن الانحدار الخطي ومتعدد الحدود.

لتدريب نموذج الانحدار الخطي الخاص بنا، سنستخدم مكتبة Scikit-learn.

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split

نبدأ بفصل قيم الإدخال (الميزات) والنتائج المتوقعة (التسمية) في مصفوفات numpy منفصلة:

X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']

لاحظ أننا اضطررنا إلى تنفيذ reshape على بيانات الإدخال لكي يفهمها حزمة الانحدار الخطي بشكل صحيح. يتوقع الانحدار الخطي مصفوفة ثنائية الأبعاد كمدخل، حيث يمثل كل صف من المصفوفة متجهًا لميزات الإدخال. في حالتنا، بما أن لدينا مدخلًا واحدًا فقط - نحتاج إلى مصفوفة ذات شكل N×1، حيث N هو حجم مجموعة البيانات.

ثم، نحتاج إلى تقسيم البيانات إلى مجموعات تدريب واختبار، حتى نتمكن من التحقق من صحة النموذج بعد التدريب:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

أخيرًا، تدريب نموذج الانحدار الخطي الفعلي يستغرق سطرين فقط من الكود. نقوم بتعريف كائن LinearRegression، ونقوم بتدريبه على بياناتنا باستخدام دالة fit:

lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)

يحتوي كائن LinearRegression بعد عملية fit على جميع معاملات الانحدار، والتي يمكن الوصول إليها باستخدام خاصية .coef_. في حالتنا، هناك معامل واحد فقط، والذي يجب أن يكون حوالي -0.017. هذا يعني أن الأسعار تبدو وكأنها تنخفض قليلاً مع مرور الوقت، ولكن ليس كثيرًا، حوالي 2 سنت في اليوم. يمكننا أيضًا الوصول إلى نقطة التقاطع مع المحور Y باستخدام lin_reg.intercept_ - ستكون حوالي 21 في حالتنا، مما يشير إلى السعر في بداية السنة.

لرؤية مدى دقة النموذج الخاص بنا، يمكننا التنبؤ بالأسعار على مجموعة بيانات الاختبار، ثم قياس مدى قرب توقعاتنا من القيم المتوقعة. يمكن القيام بذلك باستخدام مقياس متوسط مربع الخطأ (MSE)، وهو متوسط جميع الفروقات المربعة بين القيمة المتوقعة والقيمة المتنبأ بها.

pred = lin_reg.predict(X_test)

mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')

يبدو أن الخطأ لدينا يتمحور حول نقطتين، أي حوالي 17%. ليس جيدًا جدًا. مؤشر آخر لجودة النموذج هو معامل التحديد، والذي يمكن الحصول عليه بهذه الطريقة:

score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)

إذا كانت القيمة 0، فهذا يعني أن النموذج لا يأخذ بيانات الإدخال في الاعتبار، ويعمل كـ أسوأ متنبئ خطي، وهو ببساطة متوسط ​​القيمة للنتيجة. أما إذا كانت القيمة 1، فهذا يعني أننا يمكننا التنبؤ بجميع النتائج المتوقعة بشكل مثالي. في حالتنا، معامل التحديد حوالي 0.06، وهو منخفض جدًا.

يمكننا أيضًا رسم بيانات الاختبار مع خط الانحدار لنرى بشكل أفضل كيف يعمل الانحدار في حالتنا:

plt.scatter(X_test,y_test)
plt.plot(X_test,pred)
الانحدار الخطي

الانحدار متعدد الحدود

نوع آخر من الانحدار الخطي هو الانحدار متعدد الحدود. في بعض الأحيان تكون هناك علاقة خطية بين المتغيرات - مثل كلما زاد حجم اليقطين، زاد السعر - ولكن في أحيان أخرى لا يمكن رسم هذه العلاقات كطائرة أو خط مستقيم.

إليك بعض الأمثلة على البيانات التي يمكن استخدام الانحدار متعدد الحدود معها.

ألقِ نظرة أخرى على العلاقة بين التاريخ والسعر. هل يبدو هذا الرسم البياني وكأنه يجب تحليله بخط مستقيم؟ ألا يمكن أن تتقلب الأسعار؟ في هذه الحالة، يمكنك تجربة الانحدار متعدد الحدود.

الحدوديات هي تعبيرات رياضية قد تتكون من متغير واحد أو أكثر ومعاملات.

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

تتضمن مكتبة Scikit-learn واجهة API للأنابيب لتجميع خطوات معالجة البيانات المختلفة معًا. الأنابيب هي سلسلة من المقدّرين. في حالتنا، سننشئ أنبوبًا يضيف أولاً ميزات متعددة الحدود إلى النموذج، ثم يدرب الانحدار:

from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline

pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())

pipeline.fit(X_train,y_train)

استخدام PolynomialFeatures(2) يعني أننا سنضيف جميع الحدوديات من الدرجة الثانية من بيانات الإدخال. في حالتنا، هذا يعني فقط DayOfYear2، ولكن إذا كان لدينا متغيران مدخلان X و Y، فسيتم إضافة X2، XY و Y2. يمكننا أيضًا استخدام حدوديات من درجات أعلى إذا أردنا.

يمكن استخدام الأنابيب بنفس الطريقة التي يتم بها استخدام كائن LinearRegression الأصلي، أي يمكننا fit الأنبوب، ثم استخدام predict للحصول على نتائج التنبؤ. إليك الرسم البياني الذي يظهر بيانات الاختبار ومنحنى التقريب:

الانحدار متعدد الحدود

باستخدام الانحدار متعدد الحدود، يمكننا الحصول على MSE أقل قليلاً ومعامل تحديد أعلى، ولكن ليس بشكل كبير. يجب أن نأخذ في الاعتبار ميزات أخرى!

يمكنك أن ترى أن أدنى أسعار اليقطين تُلاحظ في مكان ما حول عيد الهالوين. كيف يمكنك تفسير ذلك؟

🎃 تهانينا، لقد أنشأت نموذجًا يمكنه المساعدة في التنبؤ بسعر اليقطين الخاص بالفطائر. ربما يمكنك تكرار نفس الإجراء لجميع أنواع اليقطين، ولكن سيكون ذلك مرهقًا. دعنا نتعلم الآن كيفية أخذ نوع اليقطين في الاعتبار في نموذجنا!

الميزات الفئوية

في العالم المثالي، نريد أن نكون قادرين على التنبؤ بالأسعار لأنواع مختلفة من اليقطين باستخدام نفس النموذج. ومع ذلك، فإن العمود Variety يختلف قليلاً عن الأعمدة مثل Month، لأنه يحتوي على قيم غير رقمية. تُعرف هذه الأعمدة باسم الفئوية.

تعلم الآلة للمبتدئين - التنبؤ بالميزات الفئوية باستخدام الانحدار الخطي

🎥 انقر على الصورة أعلاه للحصول على نظرة عامة قصيرة حول استخدام الميزات الفئوية.

هنا يمكنك رؤية كيف يعتمد السعر المتوسط على النوع:

السعر المتوسط حسب النوع

لأخذ النوع في الاعتبار، نحتاج أولاً إلى تحويله إلى شكل رقمي، أو ترميزه. هناك عدة طرق يمكننا القيام بها:

  • الترميز الرقمي البسيط سيقوم بإنشاء جدول لأنواع مختلفة، ثم استبدال اسم النوع بمؤشر في ذلك الجدول. هذه ليست أفضل فكرة للانحدار الخطي، لأن الانحدار الخطي يأخذ القيمة الرقمية الفعلية للمؤشر، ويضيفها إلى النتيجة، مضاعفًا بمعامل معين. في حالتنا، العلاقة بين رقم المؤشر والسعر غير خطية بوضوح، حتى لو تأكدنا من أن المؤشرات مرتبة بطريقة معينة.
  • الترميز الواحد الساخن سيستبدل العمود Variety بأربعة أعمدة مختلفة، واحد لكل نوع. يحتوي كل عمود على 1 إذا كانت الصف المقابل من نوع معين، و 0 خلاف ذلك. هذا يعني أنه سيكون هناك أربعة معاملات في الانحدار الخطي، واحد لكل نوع من اليقطين، مسؤول عن "السعر الأساسي" (أو بالأحرى "السعر الإضافي") لذلك النوع المحدد.

الكود أدناه يظهر كيف يمكننا ترميز النوع الواحد الساخن:

pd.get_dummies(new_pumpkins['Variety'])
ID FAIRYTALE MINIATURE MIXED HEIRLOOM VARIETIES PIE TYPE
70 0 0 0 1
71 0 0 0 1
... ... ... ... ...
1738 0 1 0 0
1739 0 1 0 0
1740 0 1 0 0
1741 0 1 0 0
1742 0 1 0 0

لتدريب الانحدار الخطي باستخدام النوع المرمز الواحد الساخن كمدخل، نحتاج فقط إلى تهيئة بيانات X و y بشكل صحيح:

X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']

بقية الكود هي نفسها التي استخدمناها أعلاه لتدريب الانحدار الخطي. إذا جربتها، سترى أن متوسط الخطأ التربيعي مشابه، ولكن نحصل على معامل تحديد أعلى بكثير (~77%). للحصول على تنبؤات أكثر دقة، يمكننا أخذ المزيد من الميزات الفئوية في الاعتبار، بالإضافة إلى الميزات الرقمية، مثل Month أو DayOfYear. للحصول على مصفوفة كبيرة من الميزات، يمكننا استخدام join:

X = pd.get_dummies(new_pumpkins['Variety']) \
        .join(new_pumpkins['Month']) \
        .join(pd.get_dummies(new_pumpkins['City'])) \
        .join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']

هنا نأخذ أيضًا في الاعتبار City ونوع Package، مما يعطينا MSE 2.84 (10%)، ومعامل تحديد 0.94!

تجميع كل شيء معًا

لإنشاء أفضل نموذج، يمكننا استخدام البيانات المجمعة (الميزات الفئوية المرمزة الواحد الساخن + الرقمية) من المثال أعلاه مع الانحدار متعدد الحدود. إليك الكود الكامل لراحتك:

# set up training data
X = pd.get_dummies(new_pumpkins['Variety']) \
        .join(new_pumpkins['Month']) \
        .join(pd.get_dummies(new_pumpkins['City'])) \
        .join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']

# make train-test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# setup and train the pipeline
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)

# predict results for test data
pred = pipeline.predict(X_test)

# calculate MSE and determination
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')

score = pipeline.score(X_train,y_train)
print('Model determination: ', score)

هذا يجب أن يعطينا أفضل معامل تحديد تقريبًا 97%، و MSE=2.23 (~8% خطأ في التنبؤ).

النموذج MSE معامل التحديد
DayOfYear خطي 2.77 (17.2%) 0.07
DayOfYear متعدد الحدود 2.73 (17.0%) 0.08
Variety خطي 5.24 (19.7%) 0.77
جميع الميزات خطي 2.84 (10.5%) 0.94
جميع الميزات متعدد الحدود 2.23 (8.25%) 0.97

🏆 أحسنت! لقد أنشأت أربعة نماذج انحدار في درس واحد، وحسنت جودة النموذج إلى 97%. في القسم الأخير حول الانحدار، ستتعلم عن الانحدار اللوجستي لتحديد الفئات.


🚀التحدي

اختبر عدة متغيرات مختلفة في هذا الدفتر لترى كيف تتوافق العلاقة مع دقة النموذج.

اختبار ما بعد المحاضرة

المراجعة والدراسة الذاتية

في هذا الدرس تعلمنا عن الانحدار الخطي. هناك أنواع أخرى مهمة من الانحدار. اقرأ عن تقنيات Stepwise، Ridge، Lasso و Elasticnet. دورة جيدة للدراسة لتعلم المزيد هي دورة التعلم الإحصائي من ستانفورد

الواجب

قم ببناء نموذج


إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.