اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

يمكنك القيام بذلك عن طريق الكلاس SVC  من الموديول SVM. أي يمكنك استخدامها عبر الموديول svm.SVC
C-Support Vector Classification
الصيغة العامة:

class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=- 1, decision_function_shape='ovr', gamma='scale', break_ties=False, random_state=None)

الوسطاء:
يوجد عدة أنواع ‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’ ننصح دوما باستخدام rbf لأنها الأفضل.
degree: وهو في حال أردنا جعل ال regressor غير خطي أي Polynomial نضبطه بالدرجة التي نريدها(default=3).
بحال استخدام الkernel=poly فيجب تحديد درجة كثير الحدود.
 tol: عدد يمثل نقطة إيقاف التعلم  بحال تجاوز هذه القيمه فيتوقف svr.
kernel: النواة أو المعادلة المستخدمة تكافئ فكرة تابع التنشيط في الشبكات العصبونية.
C: معامل التنعيم أفضل القيم للتجريب 0.1,0.001,10,1
max_iter: العدد الأقصى للتكرارت إذا وضعت -1 فأنه يأخذ الحد الأعلى ويفضل ذلك
epsilon: ضمن هذا المقدار لن يتم تطبيق أي penalty على تابع التكلفة. أي هي هامش للسماحية بدون تطبيق penalty. افتراضياً default=0.1.
cache_size: تحديد حجم ال kernel cache وافتراضياً 200 MB.
gamma: معمل النواة وهي إما {‘scale’, ‘auto’}أو float وتكون افتراضياً 'default=’scale.
coef0: مصطلح مستقل يتعلق بدالة النواة ويعمل فقط في حالة كانت الدالة هي sigmoid و poly.
shrinking: لتحديد فيما إذا كنت تريد استخدام shrinking heuristic أو لا.
decision_function_shape: إما ova أو ovo وافتراضياً 'default='ovr  وهي تمثل شكل تابع القرار الذي سيتم إرجاعه one-vs-rest أو one-vs-one.
ال attributes:
intercept_ : التقاطع مع المحور الاحداثي أي الثوابت في معادلة الفرضية.
coef_: أوزان التدريب.
التوابع:
(data,labels)fit: للقيام بعملية التدريب.
(y-true,y_pred)score: لتقييم دقة النموذج.
(data)predict: للتوقع.
مثال على بيانات breast cancer وهي بيانات لأمراض سرطان الثدي.

from sklearn.metrics import confusion_matrix
import seaborn
import matplotlib
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
# تحميل الداتا 
data = load_breast_cancer().data
labels = load_breast_cancer().target
# تقسيم البيانات 
X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.2, random_state=2021, shuffle =True)
# SVC تطبيق ال 
SVCM = SVC(kernel= 'rbf', max_iter=100, C=1.0, gamma='auto')
SVCM.fit(X_train, y_train)
# عرض الدقة 
print('Train Score is : ' , SVCM.score(X_train, y_train))
print('Test Score is : '  , SVCM.score(X_test, y_test)) #  0.8859649122807017
# لعرض القيم المتوقعة
y_pred = SVCM.predict(X_test)
# حساب مصفوفة التشتت 
c = confusion_matrix(y_test, y_pred)
print('Confusion Matrix is : \n', c)

# الرسم
seaborn.heatmap(c, center = True)
matplotlib.pyplot.show()

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...