بسم الله الرحمن الرحيم

003 النماذج الخطية Linear Models

تاريخ النشر : April 13, 2024

جمع وترتيب : محمود جابر, أخر تعديل بتاريخ 28 إبريل 2024


النماذج الخطية Linear models تمثل أحد أساسيات تعلم الآلات، حيث تستخدم بشكل واسع في حل مشكلات الانحدار regression والتصنيف classification بفعالية. إحدى مميزات هذه النماذج هي بساطتها ووضوحها، مما يجعلها سهلة التفسير بالنسبة للمستخدمين وسريعة التنفيذ عند التدريب والتطبيق العملي. بفضل هذه الخصائص، تُعد النماذج الخطية الخيار الأول والأساسي في بداية أي تدفق عمل لتدريب النماذج الجديدة.

linear model in machine learning.webp

الدور الأساسي للنماذج الخطية Linear models في تدفقات workflow عمل التدريب:

  1. النموذج الأساسي baseline : تُستخدم النماذج الخطية كنقطة انطلاق في مشاريع تعلم الآلات لتقديم معيار يُمكن من خلاله قياس تحسينات النماذج اللاحقة.
  2. سهولة النشر: نظرًا لبساطتها، يمكن نشر النماذج الخطية بسرعة في البيئات الإنتاجية دون الحاجة إلى موارد حوسبية كبيرة.
  3. التدريب السريع: النماذج الخطية لا تتطلب الكثير من البيانات للتدريب، مما يجعلها مثالية للمشاريع ذات الموارد المحدودة.

قيود النماذج الخطية:

على الرغم من فوائدها، فإن النماذج الخطية تواجه بعض القيود:

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

استخدام النماذج الخطية في البيئات التعليمية والعملية:

تُعتبر النماذج الخطية أداة تعليمية قيمة لفهم أساسيات تعلم الآلات وتوفر منصة ممتازة للتجارب الأولية في مشاريع التعلم العميق. كما أنها توفر أساسًا قويًا للبناء عليه وتجريب تقنيات أكثر تقدمًا.

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

مثال باستخدام الكود على Linear Model

هذا الكود يقوم بتوضيح كيفية استخدام مكتبة pandas لتحميل البيانات ومكتبة sklearn لتطبيق نموذجين من النماذج الإحصائية الخطية: الانحدار الخطي والانحدار اللوجستي. سأقوم بشرح كل جزء من الكود خطوة بخطوة:

1- استيراد الحزم اللازمة:

import pandas as pd
from sklearn.linear_model import LinearRegression, LogisticRegression

يتم استيراد حزمة pandas للتعامل مع البيانات في صورة جداول (DataFrames)، وكذلك يتم استيراد LinearRegression و LogisticRegression من sklearn.linear_model لبناء نماذج الانحدار الخطي واللوجستي.

2. إنشاء DataFrame:

df = pd.DataFrame(
    [[1, 2, 0], [3, 4, 1], [5, 6, 0], [7, 8, 1]],
    columns=["num", "amount", "target"]
)

هنا، يتم إنشاء جدول بيانات DataFrame يحتوي على ثلاثة أعمدة: num, amount, و target. الأعمدة num و amount هي المتغيرات المستقلة، بينما target هو المتغير التابع الذي يتم التنبؤ به.

3. بناء نموذج الانحدار الخطي:

# regression model
reg = LinearRegression().fit(df[["num", "amount"]], df["target"])
reg.score(df[["num", "amount"]], df["target"])

تم إنشاء نموذج الانحدار الخطي LinearRegression وتدريبه (fit) باستخدام المتغيرات num و amount كمتغيرات مستقلة و target كمتغير تابع. بعد ذلك، يتم تقييم النموذج باستخدام طريقة score، والتي تقيس مدى جودة تنبؤات النموذج مقارنةً بالبيانات الفعلية.

4. بناء نموذج الانحدار اللوجستي:

#classification model
clf = LogisticRegression().fit(df[["num", "amount"]], df["target"])
clf.score(df[["num", "amount"]], df["target"])

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

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

Additional Resources

العودة إلي 005 Algorithms and Tools