2016-03-30 14 views
5

के साथ साइकिट-सीखें ग्रिड खोज मैं क्रॉस सत्यापन-ग्रिड खोज सीख रहा हूं और इस youtube playlist पर आया और ट्यूटोरियल को github पर आईपीथॉन नोटबुक के रूप में भी अपलोड कर दिया गया है। मैं में कोड को फिर से बनाने की कोशिश कर रहा हूं, साथ ही सेक्शन के कई पैरामीटर खोज रहा हूं लेकिन knn का उपयोग करने के बजाय मैं SVM रिग्रेशन का उपयोग कर रहा हूं। यह मेरा कोडएसवीएम रिग्रेशन

from sklearn.datasets import load_iris 
from sklearn import svm 
from sklearn.grid_search import GridSearchCV 
import matplotlib.pyplot as plt 
import numpy as np 
iris = load_iris() 
X = iris.data 
y = iris.target 

k=['rbf', 'linear','poly','sigmoid','precomputed'] 
c= range(1,100) 
g=np.arange(1e-4,1e-2,0.0001) 
g=g.tolist() 
param_grid=dict(kernel=k, C=c, gamma=g) 
print param_grid 
svr=svm.SVC() 
grid = GridSearchCV(svr, param_grid, cv=5,scoring='accuracy') 
grid.fit(X, y) 
print() 
print("Grid scores on development set:") 
print() 
print grid.grid_scores_ 
print("Best parameters set found on development set:") 
print() 
print(grid.best_params_) 
print("Grid best score:") 
print() 
print (grid.best_score_) 
# create a list of the mean scores only 
grid_mean_scores = [result.mean_validation_score for result in grid.grid_scores_] 
print grid_mean_scores 

लेकिन इसकी इस त्रुटि

raise ValueError("X should be a square kernel matrix") ValueError: X should be a square kernel matrix

+0

जब एक अजगर त्रुटि तुम हमेशा पूर्ण पाइथन ट्रैसबैक बोली चाहिए रिपोर्टिंग यह देता है पर अपवाद उठाए जाने पर जानकारी। – ogrisel

उत्तर

10

दे रही है अपने पैरामीटर अंतरिक्ष से 'precomputed' निकालें है।

kernel='precomputed' केवल जब एक (n_samples, n_samples) डेटा मैट्रिक्स है कि पारंपरिक (n_samples, n_features) आयताकार डेटा मेट्रिक्स के बजाय नमूनों के लिए जोड़ो में समानता का प्रतिनिधित्व करता गुजर इस्तेमाल किया जा सकता।

कर्नेल पैरामीटर के अर्थ पर अधिक जानकारी के लिए दस्तावेज़ देखें:

+0

अरे उत्तर के लिए धन्यवाद, लेकिन क्या आप मुझे बता सकते हैं कि हम इस मॉडल को कैसे निर्यात कर सकते हैं यह सही तरीका है '>>> sklearn.externals से joblib आयात करें >>> joblib.dump (ग्रिड,' my_model.pkl ', compress = 9) ' – Eka

संबंधित मुद्दे