本文整理汇总了Python中sklearn.svm.LinearSVC.predict方法的典型用法代码示例。如果您正苦于以下问题:Python LinearSVC.predict方法的具体用法?Python LinearSVC.predict怎么用?Python LinearSVC.predict使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.svm.LinearSVC
的用法示例。
在下文中一共展示了LinearSVC.predict方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LinearSVCStep
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
class LinearSVCStep(SklearnStep):
def __init__(self, c=1.0):
super(LinearSVCStep, self).__init__()
self._c = c
def fit_transform(self):
self._model = LinearSVC(C=self._c)
x, y = load_svmlight(self.input_path)
self._model.fit(x, y)
scores = self._model.decision_function(x)
save_numpy_txt(scores, self.output_path)
def transform(self, x=None):
if x is None:
_x, y = load_svmlight(self._test_input_path)
conf_x = self._model.decision_function(_x)
predicted_x = self._model.predict(_x)
res = np.vstack((y, conf_x, predicted_x)).T
save_numpy_txt(res, self._test_output_path)
else:
transformed_x = self._model.decision_function(x)
return transformed_x
def predict(self, x):
return self._model.predict(x)
def decision_function(self, x):
return self._model.decision_function(x)
def get_param(self):
return {'c': self._c}
示例2: __init__
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
class LinearSVM:
def __init__(self):
self.clf = LinearSVC(penalty='l2', loss='l1', dual=True, tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, intercept_scaling=1, class_weight=None, verbose=0, random_state=None)
self.pattern ='(?u)\\b[A-Za-z]{3,}'
self.tfidf = TfidfVectorizer(sublinear_tf=False, use_idf=True, smooth_idf=True, stop_words='english', token_pattern=self.pattern, ngram_range=(1, 3))
def train(self,fileName):
print "LinearSVM Classifier is being trained"
table = pandas.read_table(fileName, sep="\t", names=["cat", "message"])
X_train = self.tfidf.fit_transform(table.message)
Y_train = []
for item in table.cat:
Y_train.append(int(item))
self.clf.fit(X_train, Y_train)
print "LinearSVM Classifier has been trained"
def classify(self,cFileName, rFileName):
table = pandas.read_table(cFileName, names=["message"])
X_test = self.tfidf.transform(table.message)
print "Data have been classified"
with open(rFileName,'w') as f:
for item in self.clf.predict(X_test).astype(str):
f.write(item+'\n')
def validate(self,fileName):
table = pandas.read_table(fileName, sep="\t", names=["cat", "message"])
X_validate = self.tfidf.transform(table.message)
Y_validated = self.clf.predict(X_validate).astype(str)
totalNum = len(table.cat)
errorCount = 0
for i in range(0,totalNum):
if int(table.cat[i])!=int(Y_validated[i]):
errorCount += 1
print "Data have been validated! Precision={}".format((totalNum-errorCount)/float(totalNum))
示例3: applySVMWithPCA
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def applySVMWithPCA():
'''
Same as the previous function, just change the file names..
'''
data = io.mmread(ROOTDIR+"TRAINDATA.mtx")
label = np.load(ROOTDIR+"label_train.npy")
testdata = io.mmread(ROOTDIR+"TESTDATA.mtx")
testLabel = np.load(ROOTDIR + "label_test.npy")
linear_svm = LinearSVC(C=1.0, class_weight=None, loss='hinge', dual=True, fit_intercept=True,
intercept_scaling=1, multi_class='ovr', penalty='l2',
random_state=None, tol=0.0001, verbose=1, max_iter=2000)
data = scale(data, with_mean=False)
linear_svm.fit(data, label)
joblib.dump(linear_svm, ROOTDIR+'originalTrain_hinge_2000.pkl')
# linear_svm = joblib.load(ROOTDIR+'originalTrain_hinge_2000.pkl')
print 'Trainning Done!'
scr = linear_svm.score(data, label)
print 'accuracy on the training set is:' + str(scr)
predLabel = linear_svm.predict(data)
calcualteRMSE(label, predLabel)
scr = linear_svm.score(testdata, testLabel)
print 'accuracy on the testing set is:' + str(scr)
predLabel = linear_svm.predict(testdata)
calcualteRMSE(testLabel, predLabel)
示例4: benchmark
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def benchmark(k, epochs):
print("*" * 80)
print("k: %d, epochs: %d\n" % (k, epochs))
#select = SelectKBest(score_func=chi2, k=k)
select = TruncatedSVD(n_components=k)
X_train_trunc = select.fit_transform(X_train, Y_train)
X_test_trunc = select.transform(X_test)
print('done truncating')
parameters = {'C': [1, 10, 100, 1000, 10000], 'class_weight': ['auto', None], 'tol':[0.001,0.0001]}
clf = LinearSVC(C=100000)
#clf = grid_search.GridSearchCV(svc, parameters)
clf.fit(X_train_trunc, Y_train)
pred = clf.predict(X_test_trunc)
if CREATE_SUBMISSION:
X_submit_trunc = select.transform(X_submit)
pred_submit = clf.predict(X_submit_trunc)
dump_csv(pred_submit, k, epochs)
score = metrics.f1_score(Y_test, pred)
print("f1-score: %0.3f" % score)
print("classification report:")
print(metrics.classification_report(Y_test, pred))
print("confusion matrix:")
print(metrics.confusion_matrix(Y_test, pred))
示例5: with_aureliens_potentials_svm
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def with_aureliens_potentials_svm(test=False):
data = load_data('train', independent=True)
data = add_kraehenbuehl_features(data)
features = [x[0] for x in data.X]
y = np.hstack(data.Y)
if test:
data_ = load_data('val', independent=True)
data_ = add_kraehenbuehl_features(data_)
features.extend([x[0] for x in data.X])
y = np.hstack([y, np.hstack(data_.Y)])
new_features_flat = np.vstack(features)
from sklearn.svm import LinearSVC
print("training svm")
svm = LinearSVC(C=.001, dual=False, class_weight='auto')
svm.fit(new_features_flat[y != 21], y[y != 21])
print(svm.score(new_features_flat[y != 21], y[y != 21]))
print("evaluating")
eval_on_pixels(data, [svm.predict(x) for x in features])
if test:
print("test data")
data_val = load_data('test', independent=True)
else:
data_val = load_data('val', independent=True)
data_val = add_kraehenbuehl_features(data_val)
features_val = [x[0] for x in data_val.X]
eval_on_pixels(data_val, [svm.predict(x) for x in features_val])
示例6: train_svm
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def train_svm(C=0.1, grid=False):
pascal = PascalSegmentation()
files_train = pascal.get_split("kTrain")
superpixels = [slic_n(pascal.get_image(f), n_superpixels=100,
compactness=10)
for f in files_train]
bow = SiftBOW(pascal, n_words=1000, color_sift=True)
data_train = bow.fit_transform(files_train, superpixels)
data_train = add_global_descriptor(data_train)
svm = LinearSVC(C=C, dual=False, class_weight='auto')
chi2 = AdditiveChi2Sampler()
X, y = np.vstack(data_train.X), np.hstack(data_train.Y)
X = chi2.fit_transform(X)
svm.fit(X, y)
print(svm.score(X, y))
eval_on_sp(pascal, data_train, [svm.predict(chi2.transform(x)) for x in
data_train.X], print_results=True)
files_val = pascal.get_split("kVal")
superpixels_val = [slic_n(pascal.get_image(f), n_superpixels=100,
compactness=10) for f in files_val]
data_val = bow.transform(files_val, superpixels_val)
data_val = add_global_descriptor(data_val)
eval_on_sp(pascal, data_val, [svm.predict(chi2.transform(x)) for x in
data_val.X], print_results=True)
tracer()
示例7: train
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def train(train_input, train_output, test_input, test_output):
# 训练模块
# 选择模型
# model = MultinomialNB()
# model = GaussianNB()
# model = SGDClassifier()
# model = SVC(kernel='linear') # 这个很慢
model = LinearSVC()
# model = RandomForestClassifier(max_depth=2, n_estimators=500)
# model = AdaBoostClassifier(n_estimators=500,base_estimator=DecisionTreeClassifier(max_depth=10))
# 训练 & 评测
model.fit(train_input,train_output)
pred_train = model.predict(train_input)
pred_test = model.predict(test_input)
label_size = max(train_output)+1
train_ratio = cal_accuracy(pred_train, train_output)
train_recal = cal_recall(pred_train, train_output, label_size)
# print(test_output)
print(list(pred_test))
test_ratio = cal_accuracy(pred_test, test_output)
test_recal = cal_recall(pred_test, test_output, label_size)
print('%f\t%f'%(train_ratio, test_ratio))
print('%f\t%f'%(train_recal, test_recal))
示例8: PersonWorker
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def PersonWorker(person):
print('starting on person: ', str(person))
#data = 40 videos x 32 alpha(csp channel)
(X_train, y_train, X_test, y_test) = DL.loadPersonEpochDimRedu(person=person,
featureFunc = featureFunc,
)
#http://stackoverflow.com/questions/26963454/lda-ignoring-n-components => only 1 feature :(
print(np.shape(X_train))
svm = LinearSVC()
svm.fit(X_train, y_train)
y = svm.predict(X_train)
y = label_binarize(y, classes=[0, 1, 2, 3])
train_auc = UT.auc(y, y_train)
y = svm.predict(X_test)
y = label_binarize(y, classes=[0, 1, 2, 3])
test_auc = UT.auc(y, y_test)
print('person: ', person,
' - train auc: ', str(train_auc),
' - test auc: ' , str(test_auc)
)
return [train_auc, test_auc]
示例9: train_svm
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def train_svm(C=0.1, grid=False):
ds = PascalSegmentation()
svm = LinearSVC(C=C, dual=False, class_weight='auto')
if grid:
data_train = load_pascal("kTrain")
X, y = shuffle(data_train.X, data_train.Y)
# prepare leave-one-label-out by assigning labels to images
image_indicators = np.hstack([np.repeat(i, len(x)) for i, x in
enumerate(X)])
# go down to only 5 "folds"
labels = image_indicators % 5
X, y = np.vstack(X), np.hstack(y)
cv = LeavePLabelOut(labels=labels, p=1)
param_grid = {'C': 10. ** np.arange(-3, 3)}
scorer = Scorer(recall_score, average="macro")
grid_search = GridSearchCV(svm, param_grid=param_grid, cv=cv,
verbose=10, scoring=scorer, n_jobs=-1)
grid_search.fit(X, y)
else:
data_train = load_pascal("train")
X, y = np.vstack(data_train.X), np.hstack(data_train.Y)
svm.fit(X, y)
print(svm.score(X, y))
eval_on_sp(ds, data_train, [svm.predict(x) for x in data_train.X],
print_results=True)
data_val = load_pascal("val")
eval_on_sp(ds, data_val, [svm.predict(x) for x in data_val.X],
print_results=True)
示例10: main
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def main():
# Basic init
utils.parseArgs()
data_path = namespaceCV.CALTECH
class_1, class_2 = _setupClasses()
display = Display((800,600)) # Display to show the images
target_names = [class_1, class_2]
# Make labeled/unlabeled folders
_split_into_labeled_unlabeled( class_1 )
_split_into_labeled_unlabeled( class_2 )
# Load training data
class_1_data = ImageSet(data_path + class_1 + "/" + namespaceCV.LABELED)
class_2_data = ImageSet(data_path + class_2 + "/" + namespaceCV.LABELED)
# Featurize image data, put into the correct format.
class_1_features = _featurizeDataForClass(class_1_data)
class_2_features = _featurizeDataForClass(class_2_data)
# Create full data set and labels
full_data = np.array(np.ndarray.tolist(class_1_features) + np.ndarray.tolist(class_2_features))
labels = np.array([0 for i in range(len(class_1_features))] + [1 for i in range(len(class_2_features))])
print 'Training'
svc = LinearSVC()
svc = svc.fit(full_data, labels)
log_reg = LogisticRegression().fit(full_data, labels)
# ---- PREDICTION ----
print 'Running prediction on class 1'
unlabeled_class_1 = ImageSet(data_path + class_1 + "/" + namespaceCV.UNLABELED)
featurized_class_1_predict = _featurizeDataForClass(unlabeled_class_1)
predictions_1 = svc.predict(featurized_class_1_predict)
probabilities_1 = log_reg.predict_proba(featurized_class_1_predict)
print 'Running prediction on class 2'
unlabaled_class_2 = ImageSet(data_path + class_2 + "/" + namespaceCV.UNLABELED)
featurized_class_2_predict = _featurizeDataForClass(unlabaled_class_2)
predictions_2 = svc.predict(featurized_class_2_predict)
probabilities_2 = log_reg.predict_proba(featurized_class_2_predict)
# ---- EVALUATE -----
total_correct_1 = 0.0
for item in predictions_1:
if item == 0:
total_correct_1 += 1.0
total_correct_2 = 0.0
for item in predictions_2:
if item == 1:
total_correct_2 += 1.0
print "Accuracy on class 1: ", total_correct_1 / len(predictions_1)
print "Accuracy on class 2: ", total_correct_2 / len(predictions_2)
示例11: svm_train
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def svm_train(X_train, X_test, y_train, y_test, C=1.0):
#SVM training, optimal C=1.0, f1_score: 0.6834
clf = LinearSVC(C=C, verbose=1, class_weight='auto')
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
print "Train f1 %.3f, Test f1: %.3f" %(f1_score(y_train, clf.predict(X_train)), f1_score(y_test, pred, average='micro'))
print "Test Confusion Matrix: "
print confusion_matrix(y_test, pred)
return clf
示例12: nouns_score
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def nouns_score(X_sg, y_sg, X_pl, y_pl, X_sg_test, X_pl_test):
sg_clf = LinearSVC(C=0.1).fit(X_sg, y_sg)
pl_clf = LinearSVC(C=0.1).fit(X_pl, y_pl)
sg_pred = sg_clf.predict(X_sg_test)
pl_pred = pl_clf.predict(X_pl_test)
sg_score = np.mean(sg_pred == 0)
pl_score = np.mean(pl_pred == 1)
overall_score = np.mean(np.logical_and(sg_pred == 0, pl_pred == 1))
return sg_score, pl_score, overall_score
示例13: linearSVC
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def linearSVC(X_train, y_train, X_test, y_test):
model = LSVC()
model.fit(X_train, y_train)
y_pred_train = model.predict(X_train)
acc_train = skl_metrics.accuracy_score(y_true=y_train, y_pred=y_pred_train)
y_pred_test = model.predict(X_test)
acc_test = skl_metrics.accuracy_score(y_true=y_test, y_pred=y_pred_test)
return acc_train, acc_test
示例14: PerceptronClassifier
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
class PerceptronClassifier(CrossDomainClassifier):
"""
Perceptron Classifier with TFIDF
"""
def train(self, limit_data=None):
if not hasattr(self, 'reviews'):
print "No data loaded"
return
if limit_data is None:
limit_data = len(self.reviews)
X = self.get_bag_of_ngrams(self.reviews[:limit_data])
self.clf = LinearSVC().fit(X, self.labels[:limit_data])
def __test(self, reviews, labels):
X_training_counts = self.count_vect.transform(reviews)
X_training_tfidf = self.tfidf_transformer.transform(X_training_counts)
predicted = self.clf.predict(X_training_tfidf)
self.cm = confusion_matrix(labels, predicted)
return 1 - np.mean(predicted == labels)
def get_training_error(self):
return self.__test(self.reviews, self.labels)
def get_generalized_error(self):
return self.__test(self.test_reviews, self.test_labels)
def get_crossdomain_error(self):
return {'twitter': self.__test(self.twitter_items, self.twitter_labels),
'ebay': self.__test(self.ebay_items, self.ebay_labels)}
def __get_scores(self, reviews, labels):
X_training_counts = self.count_vect.transform(reviews)
X_training_tfidf = self.tfidf_transformer.transform(X_training_counts)
predicted = self.clf.predict(X_training_tfidf)
self.cm = confusion_matrix(labels, predicted)
return precision_recall_fscore_support(labels, predicted, average='macro')
def get_scores_training(self):
return self.__get_scores(self.reviews, self.labels)
def get_scores_test(self):
return self.__get_scores(self.test_reviews, self.test_labels)
def get_scores_twitter(self):
return self.__get_scores(self.twitter_items, self.twitter_labels)
def get_scores_ebay(self):
return self.__get_scores(self.ebay_items, self.ebay_labels)
示例15: evaluate_classifier
# 需要导入模块: from sklearn.svm import LinearSVC [as 别名]
# 或者: from sklearn.svm.LinearSVC import predict [as 别名]
def evaluate_classifier(X_train, X_test, y_train, y_test):
'''
Run multiple times with different classifiers to get an idea of the
relative performance of each configuration.
Returns a sequence of tuples containing:
(title, precision, recall)
for each learner.
'''
# Import some classifiers to test
from sklearn.svm import LinearSVC, NuSVC
from sklearn.ensemble import AdaBoostClassifier
# We will calculate the P-R curve for each classifier
from sklearn.metrics import precision_recall_curve, f1_score
# Here we create classifiers with default parameters. These need
# to be adjusted to obtain optimal performance on your data set.
# Test the linear support vector classifier
classifier = LinearSVC(C=1)
# Fit the classifier
classifier.fit(X_train, y_train)
score = f1_score(y_test, classifier.predict(X_test))
# Generate the P-R curve
y_prob = classifier.decision_function(X_test)
precision, recall, _ = precision_recall_curve(y_test, y_prob)
# Include the score in the title
yield 'Linear SVC (F1 score={:.3f})'.format(score), precision, recall
# Test the Nu support vector classifier
classifier = NuSVC(kernel='rbf', nu=0.5, gamma=1e-3)
# Fit the classifier
classifier.fit(X_train, y_train)
score = f1_score(y_test, classifier.predict(X_test))
# Generate the P-R curve
y_prob = classifier.decision_function(X_test)
precision, recall, _ = precision_recall_curve(y_test, y_prob)
# Include the score in the title
yield 'NuSVC (F1 score={:.3f})'.format(score), precision, recall
# Test the Ada boost classifier
classifier = AdaBoostClassifier(n_estimators=50, learning_rate=1.0, algorithm='SAMME.R')
# Fit the classifier
classifier.fit(X_train, y_train)
score = f1_score(y_test, classifier.predict(X_test))
# Generate the P-R curve
y_prob = classifier.decision_function(X_test)
precision, recall, _ = precision_recall_curve(y_test, y_prob)
# Include the score in the title
yield 'Ada Boost (F1 score={:.3f})'.format(score), precision, recall