Python 机器学习实战:使用 Scikit-Learn 训练一个分类器 机器学习是当前最热门和最具前景的技术之一,而 Python 作为一门简洁高效的编程语言,则成为了许多机器学习爱好者的首选语言。Scikit-Learn,是 Python 中一个广受欢迎的机器学习库,提供了许多常见的机器学习算法和工具,帮助你快速地搭建和部署机器学习应用程序。本文将介绍如何使用 Scikit-Learn 训练一个分类器。 1.载入数据集 在训练一个分类器之前,需要先载入数据集。Scikit-Learn 中提供了许多常用的数据集,包括 iris、digits 等。在本文中,我们将使用 iris 数据集。iris 数据集包含 150 个样本,每个样本包含 4 个属性:萼片长度、萼片宽度、花瓣长度、花瓣宽度,以及一个类别标签,共有3种类别。 from sklearn.datasets import load_iris iris = load_iris() 2.处理数据集 在载入数据集后,我们需要对其进行预处理,以便于后续的训练和测试。因为 iris 数据集中每个样本含有 4 个属性,我们需要将其转换为一个 150 行 4 列的数据矩阵。此外,iris 数据集的类别标签为字符串类型,需要将其转换为整数类型。 X = iris.data y = iris.target 3.拆分数据集 在将数据集处理完毕后,我们需要将其拆分成训练集和测试集,以便于评估分类器在未知数据上的准确性。在本例中,我们将数据集拆分成 70% 的训练集和 30% 的测试集。 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) 4.训练分类器 现在我们已经完成了数据集的处理和拆分,可以开始训练分类器了。在本文中,我们将使用决策树算法来训练分类器。 from sklearn.tree import DecisionTreeClassifier clf = DecisionTreeClassifier() clf.fit(X_train, y_train) 5.评估分类器 在完成训练后,我们需要评估分类器在测试集上的准确性。在本例中,我们将使用准确性作为评估指标。 from sklearn.metrics import accuracy_score y_pred = clf.predict(X_test) accuracy = accuracy_score(y_test, y_pred) 6.结果预测 现在我们已经完成了分类器的训练和评估,可以使用分类器对新的样本进行预测。在本例中,我们随机生成了一组新的样本,并使用分类器对其进行预测。 import numpy as np new_observation = np.array([5.2, 3.2, 1.1, 0.3]).reshape(1, -1) prediction = clf.predict(new_observation) 总结 在本文中,我们介绍了使用 Scikit-Learn 训练一个分类器的常见步骤,包括数据集的载入、处理、拆分、分类器的训练、评估和结果预测。Scikit-Learn 提供了许多常见的机器学习算法和工具,让机器学习变得更加简单和高效。