تحديد السمات (Feature Selection) هو عملية مهمة في علم البيانات وتعلم الآلة، حيث يتم استخدامها لاختيار السمات الهامة التي تساهم في تحسين أداء النموذج. في هذا البرنامج التعليمي، سنركز على كيفية تنفيذ عملية اختيار السمات باستخدام مكتبة السايكت ليرن في Python.
خطوة 1: استيراد الحزم
أولاً، قم بتثبيت مكتبة السايكت ليرن إذا لم تكن قد قمت بذلك بعد، يمكنك تثبيتها عن طريق الأمر التالي:
pip install scikit-learn
ثم، قم بإضافة الحزم اللازمة في برنامجك:
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
خطوة 2: تحميل بيانات الدراسة
قم بتحميل مجموعة البيانات التي ترغب في تحليلها. يمكنك استخدام مجموعة بيانات الإنجليزية ستنسر من موقع Kaggle كمثال:
import pandas as pd
data = pd.read_csv(‘english_dataset.csv’)
خطوة 3: تقسيم البيانات
قبل البدء في اختيار السمات، قم بتقسيم بياناتك إلى بيانات التدريب والاختبار:
from sklearn.model_selection import train_test_split
X = data.drop(‘target’,axis=1)
y = data[‘target’]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
خطوة 4: اختيار السمات
الآن، سنقوم باستخدام مكون SelectKBest من مكتبة السايكت ليرن لاختيار أفضل السمات. في هذا المثال، سنستخدم طريقة chi-squared لاختيار السمات:
select_features = SelectKBest(score_func=chi2, k=5)
X_train_selected = select_features.fit_transform(X_train, y_train)
X_test_selected = select_features.transform(X_test)
K في هذا المثال يمثل عدد السمات التي نريد اختيارها.
خطوة 5: تنفيذ النموذج
بعد اختيار السمات، يمكنك تنفيذ نموذج التعلم على البيانات المحددة:
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train_selected, y_train)
y_pred = model.predict(X_test_selected)
خطوة 6: تقييم النموذج
أخيراً، يمكنك قياس أداء النموذج باستخدام مقاييس الأداء المناسبة مثل دقة النموذج أو مصفوفة الارتباط الاشتراكي:
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(“Accuracy of the model: “, accuracy)
وهذه هي كل الخطوات التي يجب اتباعها لتنفيذ عملية اختيار السمات باستخدام مكتبة السايكت ليرن في Python. نأمل أن يكون هذا البرنامج التعليمي مفيداً لك في تحسين أداء نماذج التعلم الآلي الخاصة بك.
عاش يحج
كيف يمكن التواصل مع حضرتك؟
سلام عليكم دكتور ممكن الاكواد البرمجيه
لو سمحت وعاشت ايدك على الشرح
هل ممكن الحصول على الكورس pdf بالعربية
هل ممكن الحصول على الكورس pdf بالعربية
شكرا جزيلا لحضرتك
لو حد ياشباب عايز يعمل دمج بين الlist بتاعتة get support , feautres يكتب الكوماند ده :
feature_names=BreastData.feature_names
featureـselection=FeatureSelection.get_support()
[feature_names for feature_names, featureـselection in zip(feature_names, featureـselection) if featureـselection]
نار💥
شكرا على التوضيح،
عندي استفسار في selectkbest بناء على ماذا نحدد قيمة عدد الفيوتشر ال K
سلام عليكم
استاذ ممكن ترفع كودات البايثون بملف لطفا
الصوت ضعيف