使用Python进行机器学习入门


在本文中,我们将学习使用Python 3.x(或更早版本)进行机器学习的基础知识。

首先,我们需要使用现有的库来设置机器学习环境。

>>> pip install numpy
>>> pip install scipy
>>> pip install matplotlib
>>> pip install scikit-learn

机器学习处理的是对经验和事实的研究,并根据提供的意图进行预测。数据库越大,机器学习模型就越好。

机器学习流程

  • 数据清洗
  • 馈送数据集
  • 模型训练
  • 数据集测试
  • 模型实现


现在让我们确定哪个库用于什么目的:

NumPy - 为大型多维列表和矩阵添加支持,以及大量用于对这些输入数组进行运算的数学函数。

SciPy - 一个免费的开源Python库,用于科学/数学计算。它包含用于算法优化、数据整合、插值、一些特殊函数和线性代数的模块。

Matplotlib - 用于创建图表和图形的库。它允许绘制数据,以便更好地了解模型。

Scikit-learn - 它具有各种分类、聚类和回归算法,以井然有序的方式分配和组织数据。

现在,让我们借助scikit-learn创建一个基本的机器学习模型。在这里,我们将使用scikit-learn中提供的内置数据集,即iris和digits数据集。

from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()

现在,要查看数据集中的数据,我们使用

print(digits.data)


[[ 0. 0. 5. ... 0. 0. 0.]
[ 0. 0. 0. ... 10. 0. 0.]
[ 0. 0. 0. ... 16. 9. 0.]
...
[ 0. 0. 1. ... 6. 0. 0.]
[ 0. 0. 2. ... 12. 0. 0.]
[ 0. 0. 10. ... 12. 1. 0.]]

.target 函数允许我们查看我们希望模型学习的内容。

digits.target


array([0, 1, 2, ..., 8, 9, 8])

要访问digits数据集的形状,我们使用

digits.images[0]


array([[ 0., 0., 5., 13., 9., 1., 0., 0.],
   [ 0., 0., 13., 15., 10., 15., 5., 0.],
   [ 0., 3., 15., 2., 0., 11., 8., 0.],
   [ 0., 4., 12., 0., 0., 8., 8., 0.],
   [ 0., 5., 8., 0., 0., 9., 8., 0.],
   [ 0., 4., 11., 0., 1., 12., 7., 0.],
   [ 0., 2., 14., 5., 10., 12., 0., 0.],
   [ 0., 0., 6., 13., 10., 0., 0., 0.]])

现在让我们转到学习和预测部分。

from sklearn import svm
clf = svm.SVC(gamma=0.001, C=100.)

这里的SVC是支持向量分类,它充当我们模型的内置估计器。

clf.fit(digits.data[:-1], digits.target[:-1])
SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape='ovr', degree=3, gamma=0.001,
kernel='rbf', max_iter=-1, probability=False, random_state=None,
shrinking=True, tol=0.001, verbose=False)

首先,我们需要使用fit方法将数据集馈送到模型,以便我们的模型可以学习。在这里,我们将所有图像都作为训练数据馈送,除了最后一幅图像,我们将将其用于测试。

现在,我们的模型经过训练后,我们可以使用.predict函数预测测试数据的输出。

clf.predict(digits.data[-1:])
array([8])

现在,我们的模型经过训练后,我们可以计算模型的效率和时间周期。

结论

在本文中,我们学习了机器学习的一些基础知识以及在Python中实现它的一些常用库。

更新于:2019年8月28日

252 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告