def SVMbanchmark(X_train, y_train, X_test, y_test):
# optimial c is 10.0, f1 = 0.52
print("Training LinearSVC with l1-based feature selection")
X_valid, y_valid = X_test[:10000], y_test[:10000]
score_list = []
CList = [0.1, 0.5, 1, 10, 50, 100]
for c in CList:
clf = OneVsRestClassifier(LinearSVC(C=c, penalty='l1', dual=False))
clf.fit(X_train, y_train)
pred = clf.predict(X_valid)
score = metrics.f1_score(y_valid, pred, average="macro")
score_list.append(score)
print("f1-score: {:f}, c is {:f}".format(score, c))
clf = OneVsRestClassifier(LinearSVC(penality="l1", dual=False, C=CList[np.argmax(score_list)]))
clf.fit(X_train, y_train)
pred = clf.predict(X_test)
score = metrics.f1_score(y_test, pred, average="micro")
print("f1-score for test set: {:f}".format(score))
new_data_mlp.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录