أول مشروع Machine Learning لك باستعمال لغة ال Python خطوة بخطوة.

4٬445

هل تريد أن تتعلم ال Machine Learning باستخدام لغة البرمجة ال Python لكن تواجه مشاكل في البداية؟

في نهاية هذا المقال ستكمل اول مشروع لك في ال Machine Learning باستخدام لغة ال Python.

في خلال ذلك ستقوم ب:

  1. تحميل وتنصيب Python SciPy والحصول على أفضل الحزم البرمجية لل Machine Learning في ال Python.
  2. تحميل البيانات وفهم الهيكل الخاص بها عن طريق الملخصات الإحصائية وتصوير البيانات في مخططات بيانية متعددة.
  3.  تجربة 6 نمازج مختلفة لل Machine learning وانتقاء الافضل منهم والادق من حيث النتيجة.

إذا كنت من المبتدئين في Machine Leaning وتطًلع إلى البدء باستخدام ال Python، فقد تم تصميم هذا المقال التعليمي لك.

هيا بنا نبدأ!

كيف ابدا ال Machine Leaning باستخدام ال Python؟

أفضل طريقة لتعلم ال Machine Leaning هي عن طريق تصميم واستكمال المشاريع الصغيرة.

هل من الممكن ان تكون ال Python مخيفة عندما تبدأ؟

ال Python لغة برمجية سهلة، مشهورة وقوية جدا كلغة interpreted – اي ليست لغة تجميع ك ال ++C – وأيضا عكس لغة البرمجة ال R ف ال Python لغة متكاملة فتستطيع استخدامها في كلاُ من البحث والتطوير. هناك أيضا الكثير من الوحدات والمكتبات البرمجية للاختيار من بينها، وتوفر طرق متعددة للقيام بكل مهمة.

أفضل طريقة للبدء باستخدام ال Python في ال Machine Learning هي إكمال المشروع وان كان بسيطا، ولهذا فوائد كثيرة.:

  1. حيث أنك ستخوض تجربة استعمال لغة ال Python وتنصيبها على جهازك.
  2. سيعطيك نظرة عامة حول كيفية تنفيذ مشروع صغير.
  3. سيعطيك الثقة، لتذهب إلى مشاريعك الصغيرة الخاصة.

يحتاج المبتدئون إلى مشروع صغير من البداية إلى النهاية.

اللجوء دائما للكتب والدورات قد يكون أمر محبط. لأنهم يعطونك الكثير من الوصفات والمقتطفات، لكنك لا تستطيع أن ترى كيف تتلاءم مع بعضها.

عندما تقوم بتطبيق ال Machine Learning على مجموعات البيانات الخاصة بك، فأنت تعمل على مشروع.

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

  1. تحديد المشكلة.
  2. تحضير البيانات.
  3. تقييم الخوارزميات.
  4. تحسين النتائج.
  5. عرض النتائج.

أفضل طريقة للتعامل مع اي نظام أو أداة جديدة هي العمل عليها، فمن خلال تطبيق مشروع في ال Machine Leaning من البداية إلى النهاية وتغطية الخطوات الأساسية. أي، من تحميل البيانات، تلخيص البيانات، تقييم الخوارزميات وإجراء بعض التوقعات.

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

 Machine Leaning اهلا بك.

نستطيع القول إن أفضل مشروع صغير من الممكن ان تبدأ به هو تصنيف الزهور القزحية the iris flowers

هذا مشروع جيد لأنه مفهوم جيدًا.

  • تتكون السمات من وحدات رقمية حتى يمكنك معرفة كيفية تحميل البيانات ومعالجتها.
  • إنها مشكلة تصنيف في الاساس، مما يسمح لك بالتدرب مع نوع أسهل من خوارزمية التعلم تحت ال إشرافsupervised learning.
  • إنها مشكلة تصنيف متعددة الطبقات التي قد تتطلب بعض التحويلات في البيانات وبعض التدابير الخاصة.
  • لديها فقط 4 صفات و150 صف، وهذا يعني أنها صغيرة وتناسبها بسهولة في الذاكرة (وشاشة أو صفحة A4).
  • جميع السمات الرقمية في نفس الوحدات ونفس الحجم، لا تتطلب أي تغيير أو تحويلات خاصة للبدء.

Machine Learning باستعمال لغة ال Python خطوة بخطوة.

لنبدأ من هنا

في هذا القسم، سوف نعمل من خلال مشروع ال Machine Learning صغير من البداية إلى النهاية.

فيما يلي نظرة عامة على ما سنقوم بتغطيته:

  1. تثبيت ال Python وSciPy.
  2. تحميل مجموعة البيانات.
  3. تلخيص مجموعة البيانات.
  4. عرض مجموعة البيانات.
  5. تقييم بعض الخوارزميات.
  6. اجراء بعض التوقعات.

1- تثبيت ال Python وSciPy:

احصل على ال Python وSciPy على النظام الخاص بك إذا لم تكن مثبتة بالفعل.

لا أريد أن أغطي هذا بتفصيل كبير، لأن الآخرين لديهم بالفعل. هذا الأمر بسيط جدًا، خاصةً إذا كنت مطورًا.

1.1- تثبيت مكتبات SciPy البرمجية:

اعتمادا على أنك تملك نسخة 2.7 او 3.5 من ال Python

سأعطيك الان 5 اسماء لمكتبات برمجية ستحتاج لتثبيتها:

  • scipy
  • numpy
  • matplotlib
  • pandas
  • sklearn

هناك العديد من الطرق لتثبيت هذه المكتبات. أفضل نصيحة هي اختيار طريقة ذات نمط ثابت في تثبيت كل مكتبة.

توفر صفحة تثبيت SciPy تعليمات ممتازة لتثبيت المكتبات المذكورة أعلاه على منصات مختلفة، مثل Linux وMac OS X وWindows. إذا كان لديك أي شكوك أو أسئلة، يرجى الرجوع إلى هذا الدليل، وقد تبعها آلاف الأشخاص.

في نظام التشغيل Mac OS X، يمكنك استخدام macports لتثبيت Python 2.7 وهذه المكتبات. لمزيد من المعلومات حول macports، راجع الصفحة الرئيسية.

في Linux، يمكنك استخدام مدير الحزم الخاص بك، مثل yum على Fedora لتثبيت RPMs.

إذا كنت تستخدم نظام التشغيل Windows أو كنت غير متأكد، فإنني أوصيك بتثبيت الإصدار المجاني من Anaconda الذي يتضمن كل ما تحتاجه.

1.2- بدء ال Python والتحقق من الإصدارات

إنها فكرة جيدة للتأكد من تثبيت بيئة ال Python بنجاح، وتعمل كما هو متوقع.

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

افتح نافذة سطور الأوامر وابدأ بتشغيل ال Python

Python

أوصي بالعمل مباشرة في نافذة سطور الأوامر أو كتابة البرامج النصية الخاصة بك وتشغيلها على نافذة سطور الأوامر بدلاً من المحررين الكبار وIDEs. اجعل الأمور بسيطة وركز على ال Machine Leaning.

اكتب أو قم بنسخ البرنامج النصي التالي ولصقه:

#Python version
import sys print('Python: {}'.format(sys.version))# scipy
import scipy print('scipy: {}'.format(scipy.__version__))# numpy
import numpy print('numpy: {}'.format(numpy.__version__))# matplotlib
import matplotlib print('matplotlib: {}'.format(matplotlib.__version__))# pandas
import pandas print('pandas: {}'.format(pandas.__version__))# scikit - learn
import sklearn print('sklearn: {}'.format(sklearn.__version__))

وهذا هو الناتج الذي حصلت عليه على جهازي

Python: 2.7.11(default, Mar 1 2016, 18: 40: 10)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2(clang - 700.1.81)]
scipy: 0.17.0
numpy: 1.10.4
matplotlib: 1.5.1
pandas: 0.17.1
sklearn: 0.18.1

قارن الناتج أعلاه إلى إصداراتك.

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

إذا ظهرت لك رسالة خطأ، فتوقف. حان الوقت لإصلاحها.

إذا لم تتمكن من تشغيل البرنامج النصي أعلاه بشكل نظيف، فلن تتمكن من إكمال هذا المقال.

أفضل نصيحة لي هي البحث في Google عن رسالة الخطأ أو نشر سؤال على Stack Exchange.

2- تحميل البيانات

سوف نستخدم مجموعة بيانات الزهور القزحية. تشتهر مجموعة البيانات هذه بأنها تستخدم كثيرا عندما تريد ان تبدأ مشروع في ال Machine Leaning لأول مرة من قِبل الجميع تقريبًا.

تحتوي مجموعة البيانات على 150 ملاحظة للزهور القزحية. هناك أربعة أعمدة من قياسات الزهور في السنتيمترات. العمود الخامس هو لأنواع الزهور التي لوحظت. جميع الزهور الملاحظة تنتمي إلى واحد من ثلاثة أنواع.

وتستطيع التعرف أكثر عن هذه الزهور من هنا

في هذه الخطوة، سنقوم بتحميل بيانات القزحية من العنوان “URL” الملف الخاص بها CSV.

2.1- استيراد المكتبات

أولاً، لنستورد جميع الوحدات والوظائف التي سنستخدمها في هذا المقال.

#Load libraries
import pandas from pandas.plotting
import scatter_matrix
import matplotlib.pyplot as plt from sklearn
import model_selection from sklearn.metrics
import classification_report from sklearn.metrics
import confusion_matrix from sklearn.metrics
import accuracy_score from sklearn.linear_model
import LogisticRegression from sklearn.tree
import DecisionTreeClassifier from sklearn.neighbors
import KNeighborsClassifier from sklearn.discriminant_analysis
import LinearDiscriminantAnalysis from sklearn.naive_bayes
import GaussianNB from sklearn.svm
import SVC

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

2.2- تحميل مجموعة البيانات

يمكننا تحميل البيانات مباشرة من مستودع البيانات ال خاص ب ال Machine Learning UCI.

نحن نستخدم ال panda لتحميل البيانات. كما سنستخدم ال Panda كي نستكشف البيانات ونقوم بعملية إحصاء وصفي وعرض البيانات في مخططات بيانية.

لاحظ أننا نحدد أسماء كل عمود عند تحميل البيانات. سيساعد هذا في وقت لاحق عندما نستكشف البيانات.

#Load dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class'] dataset = pandas.read_csv(url, names = names)

يجب تحميل مجموعة البيانات دون وقوع أي حادث.

إذا كان لديك مشاكل في الشبكة، يمكنك تنزيل ملف iris.data إلى جهازك وتحميله باستخدام نفس الطريقة وتغيير عنوان URL إلى اسم الملف المحلي.

3- تلخيص مجموعة البيانات

الآن حان الوقت لإلقاء نظرة على البيانات.

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

  1. أبعاد مجموعة البيانات.
  2. إلقاء نظرة خاطفة على البيانات نفسها.
  3. ملخص إحصائي لجميع السمات.
  4. تقسيم البيانات حسب الصنف.

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

3.1- أبعاد مجموعة البيانات

يمكننا الحصول على فكرة سريعة عن عدد الحالات (الصفوف) وعدد الصفات (الأعمدة) التي تحتوي عليها البيانات.

#shape
print(dataset.shape)

يجب أن ترى 150 حالة و5 سمات:

(150, 5)

3.2- نظرة خاطفة على البيانات

كما أنه من المستحسن دائمًا فحص بياناتك.

 

يجب أن ترى أول 20 صفًا من البيانات:

sepal - length sepal - width petal - length petal - width class
0 5.1 3.5 1.4 0.2 Iris - setosa
1 4.9 3.0 1.4 0.2 Iris - setosa
2 4.7 3.2 1.3 0.2 Iris - setosa
3 4.6 3.1 1.5 0.2 Iris - setosa
4 5.0 3.6 1.4 0.2 Iris - setosa
5 5.4 3.9 1.7 0.4 Iris - setosa
6 4.6 3.4 1.4 0.3 Iris - setosa
7 5.0 3.4 1.5 0.2 Iris - setosa
8 4.4 2.9 1.4 0.2 Iris - setosa
9 4.9 3.1 1.5 0.1 Iris - setosa
10 5.4 3.7 1.5 0.2 Iris - setosa
11 4.8 3.4 1.6 0.2 Iris - setosa
12 4.8 3.0 1.4 0.1 Iris - setosa
13 4.3 3.0 1.1 0.1 Iris - setosa
14 5.8 4.0 1.2 0.2 Iris - setosa
15 5.7 4.4 1.5 0.4 Iris - setosa
16 5.4 3.9 1.3 0.4 Iris - setosa
17 5.1 3.5 1.4 0.3 Iris - setosa
18 5.7 3.8 1.7 0.3 Iris - setosa
19 5.1 3.8 1.5 0.3 Iris - setosa

3.3- ملخص إحصائي

الآن يمكننا إلقاء نظرة على ملخص لكل سمة. يتضمن هذا العدد والوسط والقيم min وmax وكذلك بعض النسب المئوية.

#descriptions
print(dataset.describe())

يمكننا أن نرى أن جميع القيم العددية لها نفس المقياس (السنتيمترات) ونطاقات مماثلة بين 0 و8 سنتيمترات.

sepal - length sepal - width petal - length petal - width
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.054000 3.758667 1.198667
std 0.828066 0.433594 1.764420 0.763161
min 4.300000 2.000000 1.000000 0.100000
25 % 5.100000 2.800000 1.600000 0.300000
50 % 5.800000 3.000000 4.350000 1.300000
75 % 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000

3.4- تقسيم الفصول

دعنا الآن نلقي نظرة على عدد الزهور (الصفوف) التي تنتمي إلى كل فصيل. يمكننا عرض هذا كعدد مطلق.

#class distribution
print(dataset.groupby('class').size())

يمكننا أن نرى أن كل فصيل له نفس عدد الحالات (50 أو 33٪ من مجموعة البيانات).

class
Iris - setosa 50
Iris - versicolor 50
Iris - virginica 50

4- عرض المخططات البيانية للبيانات

لدينا الآن فكرة أساسية عن البيانات. نحن بحاجة إلى تمديد ذلك مع بعض المخططات.

سننظر في نوعين من المخططات:

  1. المخططات ذات متغير واحد لفهم كل سمة بشكل أفضل.
  2. المخططات متعددة المتغيرات لفهم العلاقات بين السمات بشكل أفضل.

4.1- المخططات ذات متغير واحد

نبدأ مع بعض المخططات ذات متغير واحد.

وبالنظر إلى أن المتغيرات المدخلة رقمية، يمكننا إنشاء مخططات الصندوق الطولية لكل منها.

#box and whisker
plots dataset.plot(kind = 'box', subplots = True, layout = (2, 2), sharex = False, sharey = False)
plt.show()

يمكننا أيضًا إنشاء مخطط التكرار لكل متغير للحصول على فكرة عن التوزيع.

#histograms
dataset.hist()
plt.show()

يبدو أن اثنين من المتغيرات المدخلة لها توزيع غوسي. من المفيد ملاحظة أنه يمكننا استخدام الخوارزميات التي يمكنها استغلال هذا الافتراض.

4.2- متعدد المتغيرات المؤامرات

الآن يمكننا أن ننظر إلى التفاعلات بين المتغيرات.

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

#scatter plot
matrix scatter_matrix(dataset)
plt.show()

لاحظ التجميع القطري لبعض أزواج السمات. هذا يشير إلى علاقة عالية الارتباط ويمكن التنبؤ بها.

5- تقييم بعض الخوارزميات

لقد حان الوقت الآن لإنشاء بعض نماذج البيانات وتقدير دقتها على البيانات غير المرئية.

هذا ما سنقوم بتغطيته في هذه الخطوة:

  1. فصل مجموعة من البيانات الاختبار للتحقق من الصحة النموذج فيما بعد.
  2. قم بتقسيم بيانات الاختبار لاستخدام التحقق من دقة النموذج عن طريق مقاطع من 10 مجموعات.
  3. بناء 5 نماذج مختلفة للتنبؤ الأنواع من قياسات الزهور
  4. اختيار أفضل نموذج.

5.1- إنشاء مجموعة بيانات التحقق من الصحة

نحتاج أن نعرف أن النموذج الذي أنشأناه جيد.

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

أي أننا سنحتفظ ببعض البيانات التي لن تتمكن الخوارزميات من رؤيتها وسوف نستخدم هذه البيانات للحصول على فكرة ثانية ومستقلة عن مدى دقة النموذج الأفضل في الواقع.

سنقوم بتقسيم مجموعة البيانات التي تم تحميلها إلى قسمين، 80٪ منها سنستخدم لتدريب نماذجنا و20٪ سنحتفظ بها كمجموعة بيانات للتحقق.

#Split - out validation dataset
array = dataset.values
X = array[: , 0: 4]
Y = array[: , 4]
validation_size = 0.20
seed = 7
X_train, X_validation, Y_train, Y_validation = model_selection.train_test_split(X, Y, test_size = validation_size, random_state = seed)

لديك الآن بيانات تدريب في X_train وY_train لإعداد النماذج ومجموعة X_validation وY_validation التي يمكننا استخدامها لاحقًا.

5.2- تقسيم وحدات الاختبار

سنستخدم البيانات المقسمة لتقدير الدقة.

سيؤدي ذلك إلى تقسيم مجموعة البيانات إلى 10 أجزاء، ثم التدريب على 9 واختبار 1 وتكرار جميع تركيبات مع باقي الانقسامات.

#Test options and evaluation metric
seed = 7
scoring = 'accuracy'

لا تهتم ان قمنا بتحديد قيمة لل seed التي من المفترض ان تكون عشوائية، تعلم المزيد عن مولدات الأرقام شبه المزيفة هنا:

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

5.3- بناء النماذج

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

دعنا نقيم 6 خوارزميات مختلفة:

  • Logistic Regression (LR)
  • Linear Discriminant Analysis (LDA)
  • K-Nearest Neighbors (KNN).
  • Classification and Regression Trees (CART).
  • Gaussian Naive Bayes (NB).
  • Support Vector Machines (SVM).

هذا هو مزيج جيد من الخوارزميات الخطية البسيطة (LR وLDA) والخوارزمية غير الخطية (KNN وCART وNB وSVM). نقوم بإعادة تعيين قيمة ال seed بالأعداد العشوائية قبل كل تشغيل لضمان إجراء تقييم كل خوارزمية باستخدام تقسيمات البيانات نفسها بالضبط. يضمن أن النتائج قابلة للمقارنة مباشرة.

دعونا نبني ونقيم نماذجنا الخمس:

#Spot Check Algorithms
models = []
models.append(('LR', LogisticRegression()))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC()))
#evaluate each model in turn
results = []
names = []
for name, model in models:
kfold = model_selection.KFold(n_splits = 10, random_state = seed)
cv_results = model_selection.cross_val_score(model, X_train, Y_train, cv = kfold, scoring = scoring)
results.append(cv_results)
names.append(name)
msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())
print(msg)

5.4- اختيار أفضل نموذج

لدينا الآن 6 نماذج وتقديرات دقيقة لكل منها. نحتاج لمقارنة النماذج ببعضها البعض واختيار أكثرها دقة.

بتشغيل المثال أعلاه، نحصل على النتائج الأولية التالية:

LR: 0.966667(0.040825)
LDA: 0.975000(0.038188)
KNN: 0.983333(0.033333)
CART: 0.975000(0.038188)
NB: 0.975000(0.053359)
SVM: 0.981667(0.025000)

لاحظ أنه قد تختلف النتائج.

يمكننا أن نرى أنه يبدو أن KNN لديها أكبر درجة دقة تقديرية.

يمكننا أيضًا إنشاء مخطط لعرض نتائج تقييم النموذج ومقارنة التنوع ومدى الدقة لكل نموذج. هناك مجموعة من مقاييس الدقة لكل خوارزمية لأن كل خوارزمية تم تقييمها 10 مرات.

#Compare Algorithms
fig = plt.figure()
fig.suptitle('Algorithm Comparison')
ax = fig.add_subplot(111)
plt.boxplot(results)
ax.set_xticklabels(names)
plt.show()

يمكنك أن ترى من مخطط الصندوق الطول تم سحقها في الجزء العلوي من النطاق، مع العديد من العينات تحقيق دقة 100 ٪.

6- اختبار التنبؤات

كانت خوارزمية KNN هي النموذج الأكثر دقة التي اختبرناها. الآن نريد الحصول على فكرة حول دقة النموذج في مجموعة الاختبارات.

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

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

#Make predictions on validation dataset
knn = KNeighborsClassifier() knn.fit(X_train, Y_train)
predictions = knn.predict(X_validation)
print(accuracy_score(Y_validation, predictions))
print(confusion_matrix(Y_validation, predictions))
print(classification_report(Y_validation, predictions))

يمكننا أن نرى أن دقة هي 0.9 أو 90 ٪. توفر مصفوفة الارتباك مؤشرًا للأخطاء الثلاثة التي تم إجراؤها. وأخيرًا، يقدم تقرير التصنيف تحليلاً لكل فئة بالدقة، والتذكير، ودرجة F1، والدعم الذي يظهر نتائج ممتازة (تم منح مجموعة بيانات التحقق صغيرة).

0.9
[[7 0 0]
[0 11 1]
[0 2 9]]
                             precision recall        f1 -     score     support
Iris – setosa          1.00               1.00               1.00          7
Iris - versicolor      0.85               0.92               0.88        12
Iris - virginica        0.90               0.82               0.86        11
avg / total              0.90              0.90               0.90        30

يمكنك معرفة المزيد حول كيفية عمل التنبؤات وتوقع الاحتمالات هنا

يمكنك أن تعمل على ال Machine Learningعن طريق ال Python

العمل على المقال أعلاه. سوف يستغرق منك 5 إلى 10 دقائق، كحد أقصى!

لست بحاجة إلى فهم كل شيء. (على الأقل ليس الآن) هدفك هو خوض التجربة من البداية إلى النهاية والحصول على نتيجة. لست بحاجة إلى فهم كل شيء في المرة الأولى. جهز قائمة لأسئلتك بينما انت في طريقك. ساعد نفسك بالاستخدام المكثف للمساعدة (“Function Name”) في بناء الجملة في Python للتعرف على جميع الوظائف التي تستخدمها.

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

لا تحتاج أن تكون مبرمج Python. يمكن أن تكون صيغة لغة ال Python بديهية إذا كنت جديدا عليها. تمامًا مثل اللغات الأخرى، ركّز على استدعاء الوظيفة مثل ()Function والتعيين المتغيرات (على سبيل المثال a = “b”). وهذا سوف تحصل عليه في الطريق. أنت مطور، تعرف كيف تلتقط أساسيات اللغة الحقيقية بسرعة. ابدأ وغصً في التفاصيل في وقت لاحق.

لست بحاجة لأن تكون خبيرًا في ال Machine Learning. يمكنك التعرف على مزايا وقيود الخوارزميات المختلفة في وقت لاحق، وهناك الكثير من المقالات التي يمكنك قراءتها في وقت لاحق لتطوير خطواتك في انجاز أي مشروع بال Machine Learning وأهمية تقييم الدقة باستخدام العديد من الاختبارات.

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

ملخص

في هذا المقال، اكتشفت خطوة بخطوة كيفية إكمال مشروع ال Machine Learningالأول الخاص بك في ال Python.

لقد اكتشفت أن إكمال مشروع صغير من البداية الي النهاية من خلال تحميل البيانات إلى إجراء التوقعات هو أفضل طريقة للتعرف على ال Machine Learning.

تعليقات