📅  最后修改于: 2023-12-03 15:11:14.936000             🧑  作者: Mango
在Python中,我们可以使用许多包和库来创建机器学习模型,如scikit-learn,TensorFlow和Keras。本文将介绍如何使用scikit-learn创建一个简单的机器学习模型。
首先,我们需要准备样本数据。这里我们将使用scikit-learn提供的内置数据集:鸢尾花数据集(Iris Dataset)。
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
在上述代码中,我们从sklearn.datasets模块中导入Iris数据集,并将X和y分别初始化为数据集中的数据和标签。
我们需要将数据集分成训练集和测试集。训练集用于训练模型,而测试集用于评估模型的预测准确性。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
在上述代码中,我们使用train_test_split函数将数据集分割成了80%的训练集和20%的测试集。
我们可以使用scikit-learn提供的多种机器学习算法进行模型训练。这里我们选择最简单的算法之一:K近邻(K-Nearest Neighbors,KNN)算法。
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
在上述代码中,我们首先导入KNeighborsClassifier类。然后,我们实例化这个类,并将n_neighbors参数设置为3,表示将选择3个最近邻的点来进行预测。最后,我们使用fit函数对模型进行训练。
我们可以使用测试集对模型进行评估,并计算模型的准确度。
from sklearn.metrics import accuracy_score
y_pred = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
在上述代码中,我们首先从sklearn.metrics模块中导入accuracy_score函数。然后,我们使用predict函数对测试集进行预测,并计算预测准确度。
K近邻算法是一种最简单的机器学习算法,但对于某些问题它表现得非常好。我们可以使用scikit-learn包中的KNeighborsClassifier类来实现K近邻算法,并使用fit函数对模型进行训练。然后,我们可以使用predict函数对新数据进行预测,并使用accuracy_score函数计算预测准确度。
完整代码如下所示:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
y_pred = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)