سكيت ليرن
سكيت-ليرن هي مكتبة تعلم الآلة للغة Python. تتضمن عدة خوارزميات للتحويل، والتصنيف والتجميع بما في ذلك SVMs، التعزيز التدريجي، k-means، الغابات العشوائية و DBSCAN. تم تصميمها للعمل مع Python نامباي و سايباي. بدأ مشروع سكيت-ليرن كمشروع في برنامج جوجل لصيف الكود (المعروف أيضًا بـ GSoC) من قبل دافيد كورنابيو باسم scikits.learn. اشتق اسمه من “سكيت”، وهو امتداد مستقل لسايباي.
Python سكيت-ليرن
سكيت مكتوب بلغة Python (معظمه) وبعض خوارزمياته الأساسية مكتوبة بلغة سايثون لأداء أفضل حتى. يستخدم سكيت-ليرن لبناء النماذج وليس مستحسنًا استخدامه لقراءة البيانات، وتلاعبها، وتلخيصها لأن هناك أطر أفضل متاحة لهذا الغرض. إنه مفتوح المصدر ويتم إصداره بترخيص BSD.
تثبيت Scikit Learn
يفترض Scikit أن لديك منصة Python تعمل بنسخة 2.7 أو أحدث مع حزم NumPY (1.8.2 وما فوق) و SciPY (0.13.3 وما فوق) على جهازك. بمجرد تثبيت هذه الحزم، يمكننا المتابعة مع التثبيت. لتثبيت باستخدام pip، قم بتشغيل الأمر التالي في الطرفية:
pip install scikit-learn
إذا كنت تفضل conda
، يمكنك أيضًا استخدام conda لتثبيت الحزم، قم بتشغيل الأمر التالي:
conda install scikit-learn
استخدام Scikit-Learn
بمجرد الانتهاء من التثبيت، يمكنك استخدام scikit-learn بسهولة في كود Python الخاص بك من خلال استيراده كالتالي:
import sklearn
تحميل مجموعة البيانات في Scikit Learn
لنبدأ بتحميل مجموعة بيانات للعب. دعنا نحمل مجموعة بيانات بسيطة تسمى Iris. إنها مجموعة بيانات عن زهرة، تحتوي على 150 ملاحظة حول قياسات مختلفة للزهرة. دعنا نرى كيفية تحميل المجموعة البيانات باستخدام scikit-learn.
# استيراد scikit learn
from sklearn import datasets
# تحميل البيانات
iris= datasets.load_iris()
# طباعة شكل البيانات للتأكد من أن البيانات تم تحميلها
print(iris.data.shape)
نحن نقوم بطباعة شكل البيانات للسهولة، يمكنك أيضًا طباعة البيانات بأكملها إذا كنت ترغب في ذلك، تشغيل الأوامر يعطي نتيجة مثل هذا:
Scikit Learn SVM – التعلم والتنبؤ
الآن لقد قمنا بتحميل البيانات، دعونا نحاول التعلم منها والتنبؤ بالبيانات الجديدة. لهذا الغرض يجب علينا إنشاء مقدر ثم استدعاء طريقة fit الخاصة به.
from sklearn import svm
from sklearn import datasets
# تحميل مجموعة البيانات
iris = datasets.load_iris()
clf = svm.LinearSVC()
# التعلم من البيانات
clf.fit(iris.data, iris.target)
# التنبؤ بالبيانات الغير مرئية
clf.predict([[ 5.0, 3.6, 1.3, 0.25]])
# يمكن تغيير معلمات النموذج باستخدام السمات التي تنتهي بشرطة سفلية
print(clf.coef_ )
هنا ما نحصل عليه عند تشغيل هذا النص:
Scikit Learn الانحدار الخطي
إن إنشاء نماذج متنوعة بسيط باستخدام scikit-learn. دعونا نبدأ بمثال بسيط على الانحدار.
#import النموذج
from sklearn import linear_model
reg = linear_model.LinearRegression()
# استخدمه لملاءمة البيانات
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# لنلقِ نظرة على البيانات الملائمة
print(reg.coef_)
يجب أن يُعيد تشغيل النموذج نقطة يمكن رسمها على نفس الخط:
k-Nearest neighbour classifier
لنجرب خوارزمية تصنيف بسيطة. يستخدم هذا المصنف خوارزمية تستند إلى أشجار الكرة لتمثيل العينات التدريبية.
from sklearn import datasets
# تحميل مجموعة البيانات
iris = datasets.load_iris()
# إنشاء وتناسق مصنف الجار الأقرب
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()
knn.fit(iris.data, iris.target)
# تنبؤ وطباعة النتيجة
result=knn.predict([[0.1, 0.2, 0.3, 0.4]])
print(result)
لنقم بتشغيل المصنف والتحقق من النتائج، يجب أن يعيد المصنف 0. لنجرب المثال:
K-means clustering
هذه هي أبسط خوارزمية تجميع. يتم تقسيم المجموعة إلى ‘k’ مجموعات ويتم تعيين كل ملاحظة إلى مجموعة. يتم ذلك تكرارياً حتى تتقارب المجموعات. سنقوم بإنشاء نموذج تجميع واحد من هذا النوع في البرنامج التالي:
from sklearn import cluster, datasets
# تحميل البيانات
iris = datasets.load_iris()
# إنشاء مجموعات ل k=3
k=3
k_means = cluster.KMeans(k)
# ملاءمة البيانات
k_means.fit(iris.data)
# طباعة النتائج
print( k_means.labels_[::10])
print( iris.target[::10])
عند تشغيل البرنامج سنرى مجموعات منفصلة في القائمة. إليك الناتج لمقتطف الكود أعلاه:
الاستنتاج
في هذا البرنامج التعليمي، رأينا أن Scikit-Learn يجعل من السهل العمل مع العديد من خوارزميات تعلم الآلة. لقد رأينا أمثلة على التحوُّف، والتصنيف، والتجميع. ما زال Scikit-Learn في مرحلة التطوير ويتم تطويره وصيانته من قبل متطوعين لكنه شديد الشهرة في المجتمع. اذهب وجرّب أمثلتك الخاصة.
Source:
https://www.digitalocean.com/community/tutorials/python-scikit-learn-tutorial