原标题:支持向量机SVM和逻辑回归算法LR完成文本分类任务
来源:今日头条 链接:https://www.toutiao.com/a6760287153034363395/
使用SVM和LR都可以做分类,我们来看一下它们是怎么做到的?本文将使用SVM和LR同时来拟合同一数据训练出SVM模型和LR模型。
我们现在有两个文件,分别是spamTrain.mat训练集数据,和spamTest.mat
测试集数据。我们先对这两文件进行读取,生成训练数据X, y
以及测试数据test_X, test_y
数据已经有了,我们分别来拟合svm模型和LR模型,然后让它们分别来预测我们的预测数据,看它们的各项指标。
全部代码:
支持向量机SVM和逻辑回归算法LR完成文本分类任务
代码
#svm
svc = svm.SVC()
svc.fit(X, y)
pred = svc.predict(test_X)
print(metrics.classification_report(test_y, pred))
#逻辑回归
logit = LogisticRegression()
logit.fit(X, y)
pred = logit.predict(test_X)
print(metrics.classification_report(test_y, pred))
代码:
from sklearn import svm
from sklearn import metrics
from sklearn.linear_model import LogisticRegression
import scipy.io as sio
mat_tr = sio.loadmat('spamTrain.mat')
print (mat_tr.keys())
mat_test = sio.loadmat('spamTest.mat')
print (mat_test.keys())
X, y = mat_tr.get('X'), mat_tr.get('y').ravel()
print (X.shape, y.shape)
test_X, test_y = mat_test.get('Xtest'), mat_test.get('ytest').ravel()
print (test_X.shape, test_y.shape)
#svm
svc = svm.SVC()
svc.fit(X, y)
pred = svc.predict(test_X)
print(metrics.classification_report(test_y, pred))
#逻辑回归
logit = LogisticRegression()
logit.fit(X, y)
pred = logit.predict(test_X)
print(metrics.classification_report(test_y, pred))
一THE END一
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com