了解鸢尾花数据集
首先,让我们来认识一下鸢尾花数据集。鸢尾花数据集是机器学习领域中最著名的数据集之一,它包含了三种鸢尾花(Setosa, Versicolour, Virginica)的萼片和花瓣的长度和宽度。这个数据集常用于监督学习任务,特别是分类问题。
环境准备
在开始之前,请确保你已经安装了以下软件和库:
- Python 3.x
- Jupyter Notebook
- NumPy
- Pandas
- Matplotlib
- Scikit-learn
第一步:导入必要的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
第二步:加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
第三步:数据探索
df = pd.DataFrame(data=X, columns=iris.feature_names)
print(df.head())
print(df.describe())
通过这些代码,我们可以查看数据集的前几行,并了解各个特征的统计信息。
第四步:数据预处理
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 标准化数据
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
这一步是将数据集划分为训练集和测试集,并使用标准化方法处理数据,以便算法可以更好地学习。
第五步:模型训练
# 创建KNN分类器实例
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
这里我们使用了K近邻(K-Nearest Neighbors,KNN)算法来训练我们的模型。
第六步:模型评估
# 使用测试集评估模型
score = knn.score(X_test, y_test)
print(f"模型准确率:{score:.2f}")
通过计算测试集上的准确率,我们可以评估模型的性能。
第七步:模型预测
# 预测测试集数据
y_pred = knn.predict(X_test)
# 可视化预测结果
df['预测'] = y_pred
plt.figure(figsize=(10, 5))
df.plot(kind='bar', x='species', y='预测', color='skyblue')
plt.show()
在这里,我们使用模型预测测试集的结果,并使用条形图可视化预测结果。
总结
通过以上步骤,我们已经成功地构建了一个鸢尾花分类模型。这是一个从零基础到实战的完整过程,涵盖了数据预处理、模型选择、训练和评估等关键步骤。希望这个教程能够帮助你轻松掌握机器学习的入门技巧。
