支持向量机分类器

1 支持向量机分类器

    根据训练样本的分布,搜索所有可能的线性分类器中最佳的那个。

   本文是利用支持向量机进行手写体数字图像的分类任务。

2 实验代码及结果截图

#coding:utf-8
#支持向量机分类器

#手写体数据读取
#从slearn.datasets里导入手写数字加载器
from sklearn.datasets import load_digits
#获取图像数据并出储存在digits变量中
digits=load_digits()
#检视数据规模和特征维度
print '数据规模:',digits.data.shape[0]
print '特征维度:',digits.data.shape[1]

#手写体数据分割
#从sklearn.cross_validation中导入train_test_split用于数据分割
from sklearn.cross_validation import train_test_split
#随机75%的训练样本,25%的测试样本
X_train,X_test,y_train,y_test=train_test_split(digits.data,digits.target,test_size=0.25,random_state=33)
print '训练数据规模:',y_train.shape[0]

print '测试数据规模:',y_test.shape[0]


#使用支持向量机(分类)对手写体数字图像进行识别
#从sklearn.preprocessing里导入数据标准化模块
from sklearn.preprocessing import StandardScaler
#从sklearn.svm中导入基于线性假设的支持向量机分类器LinearSVC
from sklearn.svm import LinearSVC
#标准化数据
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
#初始化LinearSVC
lsvc=LinearSVC()
#进行模型训练
lsvc.fit(X_train, y_train)
#进行预测
y_predict=lsvc.predict(X_test)
#准确性测评
print 'The Accuracy of LinearSVC is:',lsvc.score(X_test,y_test)
#预测结果的详细分析
from sklearn.metrics import classification_report
print classification_report(y_test,y_predict,target_names=digits.target_names.astype(str))  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值