समर्थन वेक्टर मशीन परिणामों में सुधार के लिए मुझे बेहतर पैरामीटर और क्रॉस सत्यापन को खोजने के लिए ग्रिड खोज का उपयोग करना होगा। मुझे यकीन नहीं है कि उन्हें विज्ञान-सीखने में कैसे संयोजित किया जाए। ग्रिड खोज खोज सबसे अच्छा मानकों (http://scikit-learn.org/stable/modules/grid_search.html) और पार सत्यापन बचने overfitting (http://scikit-learn.org/dev/modules/cross_validation.html)इलेक्ट्रिक में ग्रिड सर्च और क्रॉस सत्यापन का संयोजन
#GRID SEARCH
from sklearn import grid_search
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svr = svm.SVC()
clf = grid_search.GridSearchCV(svr, parameters)
#print(clf.fit(X, Y))
#CROSS VALIDATION
from sklearn import cross_validation
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, Y, test_size=0.4, random_state=0)
clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
print("crossvalidation")
print(clf.score(X_test, y_test))
clf = svm.SVC(kernel='linear', C=1)
scores = cross_validation.cross_val_score(clf, X, Y, cv=3)
print(scores)
परिणाम:
GridSearchCV(cv=None,
estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, degree=3, gamma=0.0,
kernel=rbf, probability=False, shrinking=True, tol=0.001, verbose=False),
estimator__C=1.0, estimator__cache_size=200,
estimator__class_weight=None, estimator__coef0=0.0,
estimator__degree=3, estimator__gamma=0.0, estimator__kernel=rbf,
estimator__probability=False, estimator__shrinking=True,
estimator__tol=0.001, estimator__verbose=False, fit_params={},
iid=True, loss_func=None, n_jobs=1,
param_grid={'kernel': ('linear', 'rbf'), 'C': [1, 10]},
pre_dispatch=2*n_jobs, refit=True, score_func=None, verbose=0)
crossvalidation
0.0
[ 0.11111111 0.11111111 0. ]
मैंने अपने डेटा के साथ चलाने की कोशिश की और मुझे यह त्रुटि मिली: clf = GridSearchCV (एसवीसी (सी = 1), tuned_parameters, स्कोरिंग = स्कोर) टाइप एरर: __init __() को एक अप्रत्याशित कीवर्ड तर्क 'स्कोरिंग' मिला, मैंने कोशिश की मूल उदाहरण चलाने के लिए और एक ही त्रुटि है, लेकिन यह कैसे संभव है? स्कोरिंग यह एक फ़ंक्शन पैरामीटर है! – postgres
दस्तावेज़ के संस्करण संख्या की जांच करें और उस एक को चुनें जो आपके द्वारा इंस्टॉल किया गया है। प्रत्येक संस्करण के लिए यूआरएल अलग हैं: http://scikit-learn.org/dev/modules/grid_search.html विकास शाखा है। http://scikit-learn.org/stable/modules/grid_search.html अंतिम रिलीज़ संस्करण (लेखन के समय 0.13) है और http://scikit-learn.org/0.13/modules/grid_search.html एक है 0.13 रिलीज के लिए निश्चित यूआरएल। – ogrisel
मैंने दस्तावेज़ के स्थिर संस्करण को इंगित करने के लिए उत्तर तय किया। – ogrisel