本文整理汇总了Python中sklearn.svm.fit函数的典型用法代码示例。如果您正苦于以下问题:Python fit函数的具体用法?Python fit怎么用?Python fit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fit函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: leave_one_out_cv
def leave_one_out_cv(gram_matrix, labels, alg = 'SVM'):
"""
leave-one-out cross-validation
"""
scores = []
preds = []
loo = sklearn.cross_validation.LeaveOneOut(len(labels))
for train_index, test_index in loo:
X_train, X_test = gram_matrix[train_index][:,train_index], gram_matrix[test_index][:, train_index]
y_train, y_test = labels[train_index], labels[test_index]
if(alg == 'SVM'):
svm = sklearn.svm.SVC(kernel = 'precomputed')
svm.fit(X_train, y_train)
preds += svm.predict(X_test).tolist()
score = svm.score(X_test, y_test)
elif(alg == 'kNN'):
knn = sklearn.neighbors.KNeighborsClassifier()
knn.fit(X_train, y_train)
preds += knn.predict(X_test).tolist()
score = knn.score(X_test, y_test)
scores.append(score)
print "Mean accuracy: %f" %(np.mean(scores))
print "Stdv: %f" %(np.std(scores))
return preds, scores
示例2: svm_iterkernel
def svm_iterkernel(train_data, train_labels, test_data, test_labels, op_name_dir):
label_set=np.unique(train_labels)
if op_name_dir != ('None' or 'none'):
fo=open(op_name_dir,'a')
predict_list={}
for kernel in ['linear']: #, 'poly', 'rbf']:
t0=time.time()
svm = SVC(C=1., kernel=kernel, cache_size=10240)
svm.fit(train_data, train_labels)
prediction=svm.predict(test_data)
predict_list[kernel]=prediction
pred_acc_tot =(float(np.sum(prediction == test_labels)))/len(test_labels)
print time.time() - t0, ',kernel = '+kernel, ',pred acc = '+str(round(pred_acc_tot*100))
if op_name_dir != ('None' or 'none'):
fo.write('time='+str(time.time() - t0)+'sec,kernel='+kernel+',pred acc='+str(round(pred_acc_tot*100))+'\n')
for lab_unq in label_set:
pred_acc=(prediction == lab_unq) & (test_labels == lab_unq)
pred_acc=float(pred_acc.sum())/(len(test_labels[test_labels == lab_unq]))
print 'pred_'+str(lab_unq)+','+str(round(pred_acc*100))
if op_name_dir != ('None' or 'none'):
fo.write('pred_'+str(lab_unq)+','+str(round(pred_acc*100))+'\n')
if op_name_dir != ('None' or 'none'):
fo.close()
return predict_list
示例3: trainSVM
def trainSVM(filteredFaces, labels, subjects, e):
uniqueSubjects = np.unique(subjects)
accuracies = []
masterK = filteredFaces.dot(filteredFaces.T)
for testSubject in uniqueSubjects:
idxs = np.nonzero(subjects != testSubject)[0]
someFilteredFacesTrain = filteredFaces[idxs]
someLabels = labels[idxs]
y = someLabels == e
K = masterK[idxs, :]
K = K[:, idxs]
svm = sklearn.svm.SVC(kernel="precomputed")
svm.fit(K, y)
idxs = np.nonzero(subjects == testSubject)[0]
someFilteredFaces = filteredFaces[idxs]
someLabels = labels[idxs]
y = someLabels == e
yhat = svm.decision_function(someFilteredFaces.dot(someFilteredFacesTrain.T))
if len(np.unique(y)) > 1:
auc = sklearn.metrics.roc_auc_score(y, yhat)
else:
auc = np.nan
print "{}: {}".format(testSubject, auc)
accuracies.append(auc)
accuracies = np.array(accuracies)
accuracies = accuracies[np.isfinite(accuracies)]
print np.mean(accuracies), np.median(accuracies)
示例4: train
def train():
training_set=[]
training_labels=[]
os.chdir("/Users/muyunyan/Desktop/EC500FINAL/logo/")
counter=0
a=os.listdir(".")
for i in a:
os.chdir(i)
print(i)
for d in os.listdir("."):
img = cv2.imread(d)
res=cv2.resize(img,(250,250))
gray_image = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)
xarr=np.squeeze(np.array(gray_image).astype(np.float32))
m,v=cv2.PCACompute(xarr)
arr= np.array(v)
flat_arr= arr.ravel()
training_set.append(flat_arr)
training_labels.append(i)
os.chdir("..")
trainData=training_set
responses=training_labels
svm = svm.SVC()
svm.fit(trainData,responses)
return svm
示例5: run_model
def run_model(train_data, train_labels, test_data, test_labels):
'''
Algorithm which will take in a set of training text and labels to train a bag of words model
This model is then used with a logistic regression algorithm to predict the labels for a second set of text
Method modified from code available at:
https://www.kaggle.com/c/word2vec-nlp-tutorial/details/part-1-for-beginners-bag-of-words
Args:
train_data_text: Text training set. Needs to be iterable
train_labels: Training set labels
test_data_text: The text to
Returns:
pred_labels: The predicted labels as determined by logistic regression
'''
#use Logistic Regression to train a model
svm = SVC()
# we create an instance of Neighbours Classifier and fit the data.
svm.fit(train_data, train_labels)
#Now that we have something trained we can check if it is accurate with the test set
pred_labels = svm.predict(test_data)
perform_results = performance_metrics.get_perform_metrics(test_labels, pred_labels)
#Perform_results is a dictionary, so we should add other pertinent information to the run
perform_results['vector'] = 'Bag_of_Words'
perform_results['alg'] = 'Support_Vector_Machine'
return pred_labels, perform_results
示例6: trainOneSVM
def trainOneSVM(masterK, y, subjects):
Cs = 1.0 / np.array([0.1, 0.5, 2.5, 12.5, 62.5, 312.5])
# Cs = 10. ** np.arange(-5, +6)/2.
uniqueSubjects, subjectIdxs = np.unique(subjects, return_inverse=True)
highestAccuracy = -float("inf")
NUM_MINI_FOLDS = 4
for C in Cs: # For each regularization value
# print "C={}".format(C)
accuracies = []
for i in range(NUM_MINI_FOLDS): # For each test subject
testIdxs = np.nonzero(subjectIdxs % NUM_MINI_FOLDS == i)[0]
trainIdxs = np.nonzero(subjectIdxs % NUM_MINI_FOLDS != i)[0]
if len(np.unique(y[testIdxs])) > 1:
K = masterK[trainIdxs, :]
K = K[:, trainIdxs]
svm = sklearn.svm.SVC(kernel="precomputed", C=C)
svm.fit(K, y[trainIdxs])
K = masterK[testIdxs, :]
K = K[:, trainIdxs] # I.e., need trainIdxs dotted with testIdxs
accuracy = sklearn.metrics.roc_auc_score(y[testIdxs], svm.decision_function(K))
# print accuracy
accuracies.append(accuracy)
if np.mean(accuracies) > highestAccuracy:
highestAccuracy = np.mean(accuracies)
bestC = C
svm = sklearn.svm.SVC(kernel="precomputed", C=bestC)
svm.fit(masterK, y)
return svm
示例7: main
def main():
data = pickle.load(open('../submodular_20.pickle'))
train, train_labels, test, test_labels = Load20NG()
vectorizer = sklearn.feature_extraction.text.CountVectorizer(binary=True,
lowercase=False)
vectorizer.fit(train + test)
train_vectors = vectorizer.transform(train)
test_vectors = vectorizer.transform(test)
svm = sklearn.svm.SVC(probability=True, kernel='rbf', C=10,gamma=0.001)
svm.fit(train_vectors, train_labels)
json_ret = {}
json_ret['class_names'] = ['Atheism', 'Christianity']
json_ret['instances'] = []
explanations = data['explanations']['20ng']['svm']
idxs = data['submodular_idx']['20ng']['svm'][:10]
for i in idxs:
json_obj = {}
json_obj['id'] = i
idx = i
instance = test_vectors[idx]
json_obj['true_class'] = test_labels[idx]
json_obj['c1'] = {}
json_obj['c1']['predict_proba'] = list(svm.predict_proba(test_vectors[idx])[0])
exp = explanations[idx]
json_obj['c1']['exp'] = exp
json_obj['c1']['data'] = get_pretty_instance(test[idx], exp, vectorizer)
json_ret['instances'].append(json_obj)
import json
open('static/exp2_local.json', 'w').write('data = %s' % json.dumps(json_ret))
示例8: q20
def q20():
X, y = load_data('/Users/pjhades/code/lab/ml/train.dat')
y = set_binlabel(y, 0)
# init hit counts
gammas = [1, 10, 100, 1000, 10000]
hits = {}
for gamma in gammas:
hits[gamma] = 0
repeat = 100
for round in range(repeat):
print('round {0}/{1}'.format(round, repeat), end=', ')
err_min = 1
gamma_min = max(gammas) + 1
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=1000)
for gamma in gammas:
svm = sklearn.svm.SVC(C=0.1, kernel='rbf', gamma=gamma)
svm.fit(X_train, y_train)
err = get_error(svm, X_val, y_val)
if err < err_min or (err == err_min and gamma < gamma_min):
err_min = err
gamma_min = gamma
hits[gamma_min] += 1
print('gamma={0}'.format(gamma_min))
for gamma in gammas:
print('{0} hits {1} times'.format(gamma, hits[gamma]))
示例9: q15
def q15():
X_train, y_train = load_data('/Users/pjhades/code/lab/ml/train.dat')
y = set_binlabel(y_train, 0)
svm = sklearn.svm.SVC(C=0.01, kernel='linear')
svm.fit(X_train, y)
print(linalg.norm(svm.coef_))
示例10: k_fold_cv
def k_fold_cv(gram_matrix, labels, folds = 10, alg = 'SVM', shuffle = True):
"""
K-fold cross-validation
"""
pdb.set_trace()
scores = []
preds = []
loo = sklearn.cross_validation.KFold(len(labels), folds, shuffle = shuffle, random_state = random.randint(0,100))
#loo = sklearn.cross_validation.LeaveOneOut(len(labels))
for train_index, test_index in loo:
X_train, X_test = gram_matrix[train_index][:,train_index], gram_matrix[test_index][:, train_index]
y_train, y_test = labels[train_index], labels[test_index]
if(alg == 'SVM'):
svm = sklearn.svm.SVC(kernel = 'precomputed')
svm.fit(X_train, y_train)
preds += svm.predict(X_test).tolist()
score = svm.score(X_test, y_test)
elif(alg == 'kNN'):
knn = sklearn.neighbors.KNeighborsClassifier()
knn.fit(X_train, y_train)
preds += knn.predict(X_test).tolist()
score = knn.score(X_test, y_test)
scores.append(score)
print "Mean accuracy: %f" %(np.mean(scores))
print "Stdv: %f" %(np.std(scores))
return preds, scores
示例11: svm_train
def svm_train(X,y,k):
C_range = 10.0 ** np.arange(-2, 9)
gamma_range = 10.0 ** np.arange(-5, 4)
param_grid = dict(gamma=gamma_range, C=C_range)
cv = StratifiedKFold(y=y,n_folds=k)
svm = GridSearchCV(SVC(), param_grid=param_grid, cv=cv)
svm.fit(X,y)
return svm
示例12: svm_liblinear_solver
def svm_liblinear_solver(X, y, C, tol=1e-6, max_iter=100, verbose=False):
svm = sklearn.svm.LinearSVC(loss='hinge', tol=tol, C=C, verbose=verbose,
intercept_scaling=10, max_iter=max_iter)
now = time.clock()
svm.fit(X, y)
res_time = time.clock() - now
return {'w0': svm.intercept_[0],
'w': svm.coef_.copy()[0],
'time': res_time}
示例13: trainSVM
def trainSVM(svm, sv, y):
print "\ntraining SVM"
# cross validate 5 times
scores = cross_val_score(svm, sv, y, cv=5)
print scores
# fit the data to the labels
svm.fit(sv, y)
return svm
示例14: q16_17
def q16_17():
X_train, y_train = load_data('/Users/pjhades/code/lab/ml/train.dat')
for goal in [0, 2, 4, 6, 8]:
y = set_binlabel(y_train, goal)
svm = sklearn.svm.SVC(C=0.01, kernel='poly', degree=2, coef0=1, gamma=1)
svm.fit(X_train, y)
ein = get_error(svm, X_train, y)
print('{0} vs not {0}, ein={1}'.format(goal, ein), end=', ')
print('sum of alphas={0}'.format(np.sum(np.abs(svm.dual_coef_))))
示例15: q19
def q19():
X_train, y_train = load_data('/Users/pjhades/code/lab/ml/train.dat')
X_test, y_test = load_data('/Users/pjhades/code/lab/ml/test.dat')
y_train = set_binlabel(y_train, 0)
y_test = set_binlabel(y_test, 0)
for gamma in [10000, 1000, 1, 10, 100]:
svm = sklearn.svm.SVC(C=0.1, kernel='rbf', gamma=gamma)
svm.fit(X_train, y_train)
print('gamma={0:<10}, Eout={1}'.format(gamma, get_error(svm, X_test, y_test)))