هل تود أن تبدأ مع آلة التعلم?
لقد قمت بإنشاء برنامج تعليمي بسيط وسهل للمبتدئين. معًا ، سنتطرق إلى الخطوات الأساسية لتدريب نموذج التعلم الآلي.
أثناء شرح خطوات تدريب نموذج واحدًا تلو الآخر ، سأقدم أيضًا مثالًا أساسيًا جدًا لمشكلة التعلم الآلي أيضًا. لذلك ، إذا كنت ترغب في المتابعة ، يمكنك تنزيل عينة مجموعة البيانات هذه من هذا الصفحة .
هذه مجرد مجموعة بيانات نموذجية لمساعدتك على البدء في التعلم الآلي.
لدينا 18 قيمة لأشخاص من مختلف الأعمار والأجناس تم تحديد موسيقاهم المفضلة. باستخدام ميزات "العمر" و "الجنس" سنحاول تخمين نوع الموسيقى المفضل لديهم.
ملاحظة: تم تخصيص 1 و 0 للأجناس كإناث وذكور في مجموعة البيانات هذه.
ومع ذلك ، إذا كنت لا ترغب في اتباع المثال ، فهذا جيد أيضًا. سأشرح كل هذه الخطوات بالتفصيل. لذا ، دعنا نتعمق!
أول الأشياء التي يجب معرفتها
قبل الخوض في خطوات تدريب النموذج ، دعنا نوضح بعض النقاط. التعلم الآلي هو الذكاء الاصطناعي الانضباط الذي يركز على تطوير الخوارزميات التي يمكن أن تتعلم من البيانات.
للقيام بذلك ، يتم تدريب نماذج التعلم الآلي على مجموعة بيانات تعلم النموذج كيفية عمل تنبؤات صحيحة أو التصنيفات على بيانات حديثة غير معروفة من قبل.
إذن ، ما هي هذه النماذج؟ أ نموذج التعلم الآلي تشبه الوصفة التي يستخدمها الكمبيوتر لإنشاء تنبؤات البيانات أو الخيارات.
يتبع النموذج ، مثل الوصفة ، مجموعة من التعليمات لتقييم البيانات وإنشاء تنبؤات أو أحكام بناءً على الأنماط الموجودة في البيانات. كلما زاد عدد البيانات التي يتم تدريب النموذج عليها ، أصبحت تنبؤاته أكثر دقة.
ما نوع النماذج التي يمكننا تدريبها؟
دعونا نرى ما هي نماذج التعلم الآلي الأساسية.
- الانحدار الخطي: نموذج يتنبأ بمتغير هدف مستمر من واحد أو أكثر من متغيرات الإدخال.
- الشبكات العصبية: شبكة من العقد المرتبطة يمكنها تعلم اكتشاف الأنماط المعقدة في البيانات.
- أشجار القرار: نهج لصنع القرار مبني على سلسلة من البيانات المتفرعة إذا كان آخر.
- التجميع: مجموعة من النماذج التي تجمع نقاط البيانات القابلة للمقارنة بناءً على التشابه.
- الانحدار اللوجستي: نموذج لمشاكل التصنيف الثنائي حيث يكون للمتغير الهدف قيمتان محتملتان.
- أشجار القرار: نهج لصنع القرار مبني على سلسلة من البيانات المتفرعة إذا كان آخر.
- Random Forest: نموذج مجموعة مكون من العديد من أشجار القرار. يتم استخدامها بشكل متكرر لتطبيقات التصنيف والانحدار.
- K-Nearest Neighbours: نموذج يتنبأ بالمتغير المستهدف باستخدام أقرب نقاط بيانات k في مجموعة التدريب.
اعتمادًا على مشكلتنا ومجموعة البيانات لدينا ، نقرر نموذج التعلم الآلي الذي يناسب وضعنا أكثر. ومع ذلك ، سنعود إلى هذا لاحقًا. الآن ، لنبدأ في تدريب نموذجنا. آمل أن تكون قد قمت بالفعل بتنزيل ملف بيانات إذا كنت ترغب في اتباع مثالنا.
أيضا ، أوصي بامتلاك مفكرة Jupyter مثبتة على جهازك المحلي واستخدامها لمشاريع التعلم الآلي الخاصة بك.
1: تحديد المشكلة
المرحلة الأولى في تدريب التعلم الآلي النموذج هو تحديد المشكلة التي سيتم حلها. يستلزم ذلك تحديد المتغيرات التي ترغب في التنبؤ بها (المعروفة باسم المتغير المستهدف) والمتغيرات التي سيتم استخدامها لإنشاء تلك التنبؤات (المعروفة باسم الميزات أو المتنبئات).
يجب عليك أيضًا تحديد نوع مشكلة التعلم الآلي التي تحاول معالجتها (التصنيف ، والانحدار ، والتجميع ، وما إلى ذلك) ونوع البيانات التي ستحتاج إلى جمعها أو تدريب نموذجك.
سيتم تحديد نوع النموذج الذي تستخدمه حسب نوع مشكلة التعلم الآلي التي تهدف إلى حلها. التصنيف والانحدار والتكتل هي الفئات الثلاث الأساسية لـ تحديات التعلم الآلي. عندما تريد توقع متغير فئوي ، مثل ما إذا كان البريد الإلكتروني بريدًا عشوائيًا أم لا ، فإنك تستخدم التصنيف.
عندما ترغب في توقع متغير مستمر ، مثل سعر المنزل ، فإنك تستخدم الانحدار. يستخدم التجميع لتجميع عناصر البيانات القابلة للمقارنة بناءً على القواسم المشتركة بينها.
إذا نظرنا إلى مثالنا ؛ التحدي الذي نواجهه هو تحديد الأسلوب الموسيقي المفضل للشخص من خلال جنسه وعمره. سنستخدم مجموعة بيانات من 18 شخصًا لهذا المثال ومعلومات عن العمر والجنس والأسلوب الموسيقي المفضل لديهم.
2. تحضير البيانات
بعد تحديد المشكلة ، ستحتاج إلى تجهيز البيانات لتدريب النموذج. هذا يستلزم تنظيف ومعالجة البيانات. لذلك ، يمكننا التأكد من أنه بتنسيق خوارزمية التعلم الآلي يمكن استخدام.
قد يشمل ذلك أنشطة مثل حذف القيم المفقودة ، وتحويل البيانات الفئوية إلى بيانات رقمية ، وقياس أو تسوية البيانات لضمان أن جميع الخصائص على نفس المقياس.
على سبيل المثال ، هذه هي الطريقة التي تحذف بها القيم المفقودة:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
ملاحظة صغيرة: في السطر "import pandas as pd",
نستورد مكتبة Pandas ونخصص لها الاسم المستعار "pd" لتسهيل الرجوع إلى وظائفها وكائناتها لاحقًا في الكود.
Pandas هي وحدة نمطية معروفة في Python لمعالجة البيانات وتحليلها ، لا سيما عند العمل مع البيانات المنظمة أو الجدولية.
في مثالنا لتحديد أنواع الموسيقى. سنقوم أولاً باستيراد مجموعة البيانات. لقد قمت بتسميته music.csv ، ومع ذلك ، يمكنك تسميته كما تريد.
لإعداد البيانات لتدريب نموذج التعلم الآلي ، قمنا بتقسيمه إلى سمات (العمر والجنس) وأهداف (نوع الموسيقى).
سنقوم أيضًا بتقسيم البيانات إلى مجموعات تدريب واختبار 80:20 لتقييم أداء نموذجنا وتجنب التجهيز الزائد.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. اختر نموذجًا للتعلم الآلي.
بعد أن تقوم بإعداد البيانات ، يجب عليك اختيار نموذج للتعلم الآلي يناسب مهمتك.
هناك العديد من الخوارزميات للاختيار من بينها ، مثل أشجار القرار ، والانحدار اللوجستي ، وآلات ناقلات الدعم ، والشبكات العصبية ، وغيرها. سيتم تحديد الخوارزمية التي تختارها حسب نوع المشكلة التي تحاول الإجابة عليها ، ونوع البيانات التي لديك ، واحتياجات الأداء الخاصة بك.
سنستخدم مصنف شجرة قرار لهذا المثال لأننا نعمل مع مشكلة تصنيف (توقع البيانات الفئوية).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
فيما يلي تصور لكيفية عمل مصنف شجرة القرار:
4. تدريب النموذج
يمكنك البدء في تدريب النموذج عندما تختار خوارزمية تعلم آلي مقبولة. يستلزم ذلك استخدام البيانات التي تم إنشاؤها مسبقًا لتثقيف الخوارزمية حول كيفية عمل تنبؤات على بيانات جديدة غير مرئية من قبل.
ستقوم الخوارزمية بتعديل معلماتها الداخلية أثناء التدريب لتقليل الفرق بين قيمها المتوقعة والقيم الفعلية في بيانات التدريب. يمكن أن يكون لكمية البيانات المستخدمة للتدريب ، وكذلك المعلمات المحددة للخوارزمية ، تأثير على دقة النموذج الناتج.
في مثالنا المحدد ، الآن بعد أن قررنا طريقة ما ، يمكننا تدريب نموذجنا باستخدام بيانات التدريب.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. تقييم النموذج
بعد تدريب النموذج ، يجب تقييمه بناءً على بيانات جديدة للتأكد من أنه دقيق ويمكن الاعتماد عليه. يستلزم ذلك اختبار النموذج بالبيانات التي لم يتم استخدامها أثناء التدريب ومقارنة قيمه المتوقعة بالقيم الفعلية في بيانات الاختبار.
يمكن أن تساعد هذه المراجعة في تحديد أي عيوب في النموذج ، مثل فرط التجهيز أو عدم التجهيز ، ويمكن أن تؤدي إلى أي ضبط دقيق قد يكون مطلوبًا.
باستخدام بيانات الاختبار ، سنقوم بتقييم صحة نموذجنا.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
درجة الدقة ليست سيئة للغاية في الوقت الحالي. 🙂 لتحسين درجة الدقة ، يمكنك دائمًا تنظيف البيانات أكثر أو تجربة نماذج مختلفة للتعلم الآلي لمعرفة أي منها يعطي أعلى درجة.
6. صقل النموذج
إذا كانت كفاءة النموذج غير كافية ، يمكنك ضبطه عن طريق تغيير معلمات الخوارزمية المختلفة أو عن طريق تجربة خوارزميات جديدة بالكامل.
قد يشمل هذا الإجراء تجربة معدلات التعلم البديلة ، أو تعديل إعدادات التنظيم ، أو تغيير عدد أو حجم الطبقات المخفية في الشبكة العصبية.
7. استخدم النموذج
بمجرد أن تشعر بالرضا عن أداء النموذج ، يمكنك البدء في استخدامه لإنشاء تنبؤات بشأن البيانات الجديدة.
قد يستلزم ذلك تغذية بيانات جديدة في النموذج واستخدام المعلمات المكتسبة للنموذج لتوليد تنبؤات بشأن تلك البيانات ، أو دمج النموذج في تطبيق أو نظام أوسع.
يمكننا استخدام نموذجنا لتوليد تنبؤات بشأن البيانات الجديدة بعد أن نكون سعداء بدقتها. يمكنك تجربة قيم مختلفة للجنس والعمر.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
يتم إحتوائه
لقد انتهينا من تدريب نموذج التعلم الآلي الأول لدينا.
أتمنى أن تكون قد وجدتها مفيدة. يمكنك الآن تجربة استخدام نماذج مختلفة للتعلم الآلي مثل Linear Regression أو Random Forest.
هناك العديد من مجموعات البيانات والتحديات في Kaggle إذا كنت ترغب في تحسين الترميز وفهم التعلم الآلي.
اترك تعليق