使用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中实现它的一些常用库。
广告