1.项目目标
- 识别模式:通过训练模型学习数据中的模式和特征,以便对未见过的数据进行准确分类。
- 优化决策:利用训练好的模型对新数据进行预测,帮助做出更明智的决策。
- 提高准确性:不断优化模型以提高分类的准确率和可靠性。
- 应用广泛:在各种应用中解决实际问题,如垃圾邮件过滤、图像识别、医疗诊断等。
2.环境准备
sklearn安装指令:pip install sklearn
3.数据准备
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# 加载数据集
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.3, random_state=42)
# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
4.模型训练
from sklearn.neighbors import KNeighborsClassifier
# 创建KNN模型
model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)
5.模型评估
from sklearn.metrics import accuracy_score, classification_report
# 预测
y_pred = model.predict(X_test)
# 评估模型
accuracy = accuracy_score(y_test, y_pred)
report = classification_report(y_test, y_pred)
print(f"准确率: {accuracy}")
print("分类报告:")
print(report)
6.总结
- 模型表现:K近邻分类器在鸢尾花数据集上表现良好,能够准确地分类大部分样本。尽管如此,KNN模型的性能可能会受到
k
值选择和特征尺度的影响。 - 数据标准化的重要性:数据标准化有助于提高模型的训练效率和准确性。对于KNN等基于距离的模型尤其重要。
- 进一步改进:可以尝试其他分类算法(如支持向量机、随机森林等)以比较性能,或者对模型进行更深入的超参数调优。