إنشاء السمات التفاعلية ومتعددة الحدود
PolynomialFeatures، وحدود التفاعل اليدوية، وسمات النسبة، وتقسيم المتغيرات المستمرة إلى فئات.
إنشاء السمات التفاعلية ومتعددة الحدود درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
لماذا نُنشئ سمات جديدة
لا تلتقط النماذج الخطية سوى العلاقات المستقيمة. ومن خلال إنشاء سمات التفاعل والحدود متعددة الحدود، تتيح للنماذج البسيطة التعبير عن المنحنيات والتأثيرات المشتركة بين المتغيرات.
ما سمات التفاعل
يعمل التفاعل على ضرب سمتين، مثل area = length * width. وهو يلتقط التأثيرات التي تعتمد على المدخلين معًا، والتي لا يفسرها أي منهما بمفرده.
أساسيات PolynomialFeatures
ينشئ PolynomialFeatures تلقائيًا قوى السمات وحواصل ضربها حتى قيمة degree محددة. وتضيف الدرجة 2 المربعات وحواصل الضرب الثنائية.
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2وضع interaction_only
يؤدي ضبط interaction_only=True إلى الاحتفاظ بحواصل الضرب المتبادلة، مع حذف القوى الخالصة مثل x1^2. وهذا مفيد عندما تريد التأثيرات المشتركة فقط، لا الانحناء.
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)انتبه إلى تضخم عدد السمات
تُنشئ الدرجات العالية عددًا كبيرًا من السمات وتزيد خطر فرط التخصيص. فعند وجود 10 مدخلات، تنتج الدرجة 3 مئات الأعمدة. حافظ على درجة منخفضة (2 أو 3)، واجمع ذلك مع اختيار السمات أو التنظيم.
سمات النسب اليدوية
غالبًا ما تتفوق معرفة المجال على القوة الغاشمة. فالنسب المصممة يدويًا، مثل السعر لكل متر مربع أو النقرات لكل ظهور، ترمّز معنى لا يستطيع التوسيع متعدد الحدود اكتشافه.
import pandas as pd
df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]التقسيم إلى فئات باستخدام pd.cut
يحوّل التقسيم إلى فئات متغيرًا مستمرًا إلى فئات. تقسم pd.cut العمود إلى فواصل، وهو أمر مفيد لالتقاط التأثيرات غير الخطية أو لتجميع الأعمار والدخول وما إلى ذلك.
import pandas as pd
df["age_group"] = pd.cut(
df["age"],
bins=[0, 18, 35, 60, 120],
labels=["minor", "young", "adult", "senior"],
)التقسيم متساوي التكرار
تنشئ pd.qcut فئات ذات أعداد متقاربة (كميات مئينية)، وهو مفيد عندما يكون التوزيع منحرفًا وتريد مجموعات متوازنة.
import pandas as pd
df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)معالجة الانحراف بالتحويل اللوغاريتمي
تؤثر السمات المنحرفة إلى اليمين، مثل الدخول والأسعار والأعداد، سلبًا في كثير من النماذج. يعمل التحويل اللوغاريتمي على ضغط القيم الكبيرة وجعل التوزيع أكثر تماثلًا.
import numpy as np
# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])الجذر التربيعي والتحويلات الأخرى
يقلل تحويل الجذر التربيعي الانحراف أيضًا، لكنه يفعل ذلك بدرجة ألطف من التحويل اللوغاريتمي، ولذلك يناسب بيانات العدّ. اختر التحويل الذي يجعل المدرج التكراري أكثر تماثلًا.
import numpy as np
df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skewجمع الأساليب معًا
اجمع بين الأساليب: طبّق تحويلًا لوغاريتميًا على الأعمدة المنحرفة، وقسّم إلى فئات عندما تكون الحدود مهمة، وأضف النسب المستندة إلى معرفة المجال، واستخدم PolynomialFeatures للتفاعلات. تحقّق دائمًا من أن السمات الجديدة تحسّن درجات التحقق المتقاطع فعلًا.
اختبار سريع
اختبر معرفتك بهندسة السمات.
خلاصة
خلاصة: صمّم السمات لمساعدة النماذج البسيطة. يضيف PolynomialFeatures باستخدام degree وinteraction_only حواصل الضرب والقوى، لكن انتبه إلى تضخم عدد السمات. أنشئ النسب اليدوية بالاستناد إلى معرفة المجال، وقسّم إلى فئات باستخدام pd.cut/pd.qcut، وعالج الانحراف بتحويلات لوغاريتمية أو بتحويل الجذر التربيعي. تحقّق دائمًا من التحسينات.
الأسئلة الشائعة
هل درس «إنشاء السمات التفاعلية ومتعددة الحدود» مجاني؟
نعم — نص درس «إنشاء السمات التفاعلية ومتعددة الحدود» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «إنشاء السمات التفاعلية ومتعددة الحدود»؟
PolynomialFeatures، وحدود التفاعل اليدوية، وسمات النسبة، وتقسيم المتغيرات المستمرة إلى فئات. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «إنشاء السمات التفاعلية ومتعددة الحدود»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساليب اختيار السمات
- إنشاء السمات التفاعلية ومتعددة الحدود
- ترميز الهدف ومعالجة الفئات المتقدمة
- هندسة الميزات المؤتمتة باستخدام Featuretools