关键时刻,第一时间送达!
Why
机器学习在图像和语音识别领域已经有很多成熟的应用,比如:
图像识别,比如人脸识别
机器翻译
语音输入
那机器学习究竟是如何做到这些的呢?本文以图像识别中比较简单的数字识别为例来了解一下。
What
scikit-learn 是一个用于数据挖掘和分析的 Python 库,完全开源并封装了很多机器学习的算法,我们可以很方便得对其提供的SVM算法进行训练并将其用于实际应用场景,解决一些数据量不是很大的问题。
下面的例子将演示如何使用sklearn库中提供的数字图片 来识别它们表示的实际数字。
最后画出的图形为:
How
安装 scikit-learn
根据 numpy 官方文档 的说明,官方发布的 源码和包在 SourceForge 上。那么分别从下面的地址下载安装最新 release 版本:
SciPy: Scientific Library for Python
Numerical Python
解决了依赖项问题之后,通过下面的命令安装sklearn:
一个手写数字识别的例子
scikit_learn 官方有个例子,使用sklearn自带的 对算法进行训练并用于手写数字识别的例子。
准备工作
按照本文前半部分的步骤安装sklearn
安装matplotlib的依赖库dateutil
安装matplotlib的依赖库pyparsing
安装科学计算库 matplotlib
Python 代码:
下面的代码将输出注释中提到的将 8 x 8 数字矩阵转换为数组:
其输出为:
从结果看,识别率已经很高,如果有更多更多样化的训练数据并且自己算 参数的话,结果还能更好:
领取专属 10元无门槛券
私享最新 技术干货