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

ظهور الخطأ التالي ValueError: C <= 0 أثناء استخدام نموذج SVR في مكتبة Sklearn

Meezo ML

السؤال

أحاول تطبيق أداة GridSearchCV لاختيار أفضل قيم المعاملات لل SVR لكن تظهر لي المشكلة التالية، ما الخطأ:

from sklearn.svm import SVR
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
import pandas as pd
BostonData = load_boston()
X = BostonData.data
y = BostonData.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0, shuffle =True) 
SelectedModel = SVR()
Selected = {'kernel':('linear', 'rbf'),'C': [0, 0.7, 8]}
GridSearchModel = GridSearchCV(SelectedModel,Selected, cv = 2,return_train_score=True)
GridSearchModel.fit(X_train, y_train)
C:\Users\Windows.10\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py:536: FitFailedWarning: Estimator fit failed. The score on this train-test partition for these parameters will be set to nan. Details: 
ValueError: C <= 0

  FitFailedWarning)
C:\Users\Windows.10\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py:536: FitFailedWarning: Estimator fit failed. The score on this train-test partition for these parameters will be set to nan. Details: 
ValueError: C <= 0

  FitFailedWarning)
C:\Users\Windows.10\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py:536: FitFailedWarning: Estimator fit failed. The score on this train-test partition for these parameters will be set to nan. Details: 
ValueError: C <= 0

  FitFailedWarning)
C:\Users\Windows.10\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py:536: FitFailedWarning: Estimator fit failed. The score on this train-test partition for these parameters will be set to nan. Details: 
ValueError: C <= 0

  FitFailedWarning)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

المشكلة في قيم معامل التنعيم C حيث أن القيم المسموح بها هي القيم الموجبة تماماً أي الأكبر تماماً من الصفر، وأنت تحاول تجريب القيمة C=0 وهذا سينتج عنه خطأ.
لحل المشكلة يمكنك إعطاء C قيمة متناهية في الصغر بحيث تكون مهملة (أي وكأنها صفر) :

from sklearn.svm import SVR
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
import pandas as pd
BostonData = load_boston()
X = BostonData.data
y = BostonData.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0, shuffle =True) 
SelectedModel = SVR()
Selected = {'kernel':('linear', 'rbf'),'C': [0.000001, 0.7, 8]}
GridSearchModel = GridSearchCV(SelectedModel,Selected, cv = 2,return_train_score=True)
GridSearchModel.fit(X_train, y_train)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...