scikit-learn笔记

1 .数据采集和标记

实现一个程序之前,首先要采集数据。采集的数据要尽量多且不同才有代表性,然后对数据进行相应的标记。

2 .特征选择

使用图片的每个像素点作为一个特征。 sc kit am 使用 Numpy array 对象来表示数据 ,所有的图片 数据保存在digits.images里。 我们在进行机器学习时,需要 把数据保存为 样本个数 特征个数 格式的 array 对象。

3. 数据清洗

把采集到的,不适合用来做机器学习训练的数据进行预处理,从而转换为适合机器学习的数据。

4 .模型选择

使用支持 来作为手写识别算法的模型。

5 .模型训练

在开始训练我们的模型之前,需要先把数据集分成训练数据集和测试数据集。接着,使用训练数据集 Xtra in Ytrain 来训练模型。

6. 模型测试

用训练出 来的模型 预测测试 数据集,然后把预测结果 Ypred 真正的结果 test 较,看有多 少个是正
确的,这样就能评估出模型的准确度了。

7. 模型保存与加载

当我 对模型的准确度感到满意后,就可以用代码把模型保存下来。

8 .实例

    1.据采集和标记

from sklearn import datasets
digits=datasets.load_digits()
images_and_labels= list(zip(digits.images, digits.target)) 
plt . figure (figsize=(8 , 6 ), dpi= 200
for index , (image, label) in enumerate(images and labels[ : 8]) : 
plt . subplot(2 , 4 , index+ 1) 
plt . axis (' off ') 
plt.imshow(image, cmap=plt.cm.gray_r, interpolation= ’ neares t ’) 
plt . title ( ' Digit:%i'% label , fontsize=20)

    2 .特征选择

print (” shape of raw image data : {0 } ” . format(digits . images . shape)) 
print (”shape of data: {0 } ” . format(digits . data . shape))

 输出:

shape of raw image data: (1797 , 8 , 8) 
shape of data: (1797 , 64)

    3 .模型训练

from sklearn.cross_validation import train_test_split 
Xtrain , Xtest , Ytrain, Ytest =train test split(digits data,
digits.target , c:est size=0.20, random state=2) ;

   

from sklearn import s vm 
elf= svm.SVC(gamma=0 . 001 , C=lOO .) 
clf fit(Xtra , Ytrain);

    4. 模型测试

fig,axes= plt . subplots(4 , 4 , gs ze={8, 8 ) ) 
fig . subplots ad] ust(hspace=O . l , wspace=O.l) 
for i , ax in enumerate(axes.flat) : 
ax . imshow (Xtest[i) . reshape(8 , 8) ,cmap=plt.cm.gray_r,
                                interpolat on =’nearest ’)
ax . text (0 . 05 , 0 . 05 , str(Ypred[i]) , fontsize=32, 
          transf orm=ax . transAxes, 
          color= ' green ' if Ypred [i]== Ytest [i] else ’ red ’ ) 
ax.text (0.8 , 0.05 , str(Ytest[i]) , fontsize=32 , 
        trasform=a x . transAxes, 
        color= ’ black ’) 
ax . set xticks ( [] ) 
ax . set yticks ( [] )

    5. 模型保存与加载

#保存模型参数
from sklearn . externals import joblib 
jobl ib.dump (clf,’digits svm.pkl );
#倒入模型参数,直接进行预测
elf = joblib.load (’ digits svm .pkl ’) 
Ypred = clf.predict (Xtest); 
clf.score(Ytest , Ypred)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值