用Python实现简单机器学习模型:以鸢尾花数据集为例

简介: 用Python实现简单机器学习模型:以鸢尾花数据集为例

引言

在数据科学领域,机器学习无疑是最热门的话题之一。它允许我们从大量数据中提取有价值的洞察,并做出预测。Python,作为一门强大的编程语言,拥有众多用于机器学习的库,如Scikit-learn、TensorFlow和PyTorch等。本文将介绍如何使用Python和Scikit-learn库来实现一个简单的机器学习模型,并以经典的鸢尾花(Iris)数据集为例进行演示。

一、鸢尾花数据集简介

鸢尾花数据集是机器学习领域中最常用的数据集之一,包含了150个样本,每个样本有4个特征(花萼长度、花萼宽度、花瓣长度和花瓣宽度),以及一个目标变量(鸢尾花的种类,共有3种)。

二、环境准备

在开始编写代码之前,请确保你已经安装了Python和相关的库。你可以使用以下命令来安装Scikit-learn库:

pip install scikit-learn
AI 代码解读

三、代码实现

以下是一个简单的Python脚本,用于加载鸢尾花数据集,训练一个K近邻(K-Nearest Neighbors, KNN)分类器,并评估其性能。

# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
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, random_state=42)

# 特征缩放
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 初始化KNN分类器,并设置k值为3
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(f"模型准确率: {accuracy:.2f}")
AI 代码解读

四、代码解释

  1. 导入库:我们导入了Scikit-learn中的几个模块,包括用于加载数据集的load_iris,用于分割数据集的train_test_split,用于特征缩放的StandardScaler,以及用于KNN分类的KNeighborsClassifier和用于计算准确率的accuracy_score

  2. 加载数据集:使用load_iris函数加载鸢尾花数据集,并分别获取特征矩阵X和目标变量y

  3. 分割数据集:使用train_test_split函数将数据集分为训练集和测试集,测试集占总数据的20%,并设置随机种子以确保结果的可重复性。

  4. 特征缩放:使用StandardScaler对特征进行标准化处理,即将特征值缩放到均值为0,方差为1的范围内。这是KNN算法等基于距离的算法所必需的步骤。

  5. 初始化并训练模型:创建一个KNN分类器实例,并设置k值为3。然后,使用训练集数据对模型进行训练。

  6. 预测与评估:使用测试集数据进行预测,并计算模型的准确率。

五、结果分析

运行上述代码后,你将看到一个输出,显示模型的准确率。由于KNN算法是一个相对简单的算法,并且鸢尾花数据集是一个较小的数据集,因此你可能会得到一个相对较高的准确率。

六、总结

本文介绍了如何使用Python和Scikit-learn库来实现一个简单的机器学习模型。通过加载鸢尾花数据集,训练KNN分类器,并评估其性能,我们展示了从数据加载到模型评估的整个流程。希望这个示例能帮助你更好地理解机器学习在Python中的实现。

七、进一步探索

虽然本文只使用了KNN算法和鸢尾花数据集,但Scikit-learn库提供了许多其他算法和数据集。你可以尝试使用不同的算法(如决策树、支持向量机等)和数据集(如波士顿房价数据集、手写数字数据集等)来进一步探索机器学习的魅力。

目录
打赏
0
1
1
0
599
分享
相关文章
⼤模型是万能的吗?探索机器学习+⼤模型在某出海投资业务的应⽤
本文基于一个公共云大客户的实际项目案例,探讨了如何通过AI大模型结合机器学习算法,构建一套智能化的投资预算预测与分配系统。
【解决方案】DistilQwen2.5-R1蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对DistilQwen2.5-R1模型系列提供了全面的技术支持。无论是开发者还是企业客户,都可以通过 PAI-ModelGallery 轻松实现 Qwen2.5 系列模型的训练、评测、压缩和快速部署。本文详细介绍在 PAI 平台使用 DistilQwen2.5-R1 蒸馏模型的全链路最佳实践。
【解决方案】DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen 系列是阿里云人工智能平台 PAI 推出的蒸馏语言模型系列,包括 DistilQwen2、DistilQwen2.5、DistilQwen2.5-R1 等。本文详细介绍DistilQwen2.5-DS3-0324蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践。
PAI-Model Gallery云上一键部署阶跃星辰新模型Step1X-Edit
4月27日,阶跃星辰正式发布并开源图像编辑大模型 Step1X-Edit,性能达到开源 SOTA。Step1X-Edit模型总参数量为19B,实现 MLLM 与 DiT 的深度融合,在编辑精度与图像保真度上实现大幅提升,具备语义精准解析、身份一致性保持、高精度区域级控制三项关键能力;支持文字替换、风格迁移等11 类高频图像编辑任务类型。在最新发布的图像编辑基准 GEdit-Bench 中,Step1X-Edit 在语义一致性、图像质量与综合得分三项指标上全面领先现有开源模型,比肩 GPT-4o 与 Gemin。PAI-ModelGallery 支持Step1X-Edit一键部署方案。
基于PAI+专属网关+私网连接:构建全链路Deepseek云上私有化部署与模型调用架构
本文介绍了阿里云通过PAI+专属网关+私网连接方案,帮助企业实现DeepSeek-R1模型的私有化部署。方案解决了算力成本高、资源紧张、部署复杂和数据安全等问题,支持全链路零公网暴露及全球低延迟算力网络,最终实现技术可控、成本优化与安全可靠的AI部署路径,满足企业全球化业务需求。
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
547 12
Scikit-learn:Python机器学习的瑞士军刀
PAI 重磅发布模型权重服务,大幅降低模型推理冷启动与扩容时长
阿里云人工智能平台PAI 平台推出模型权重服务,通过分布式缓存架构、RDMA高速传输、智能分片等技术,显著提升大语言模型部署效率,解决模型加载耗时过长的业界难题。实测显示,Qwen3-32B冷启动时间从953秒降至82秒(降幅91.4%),扩容时间缩短98.2%。
【新模型速递】PAI-Model Gallery云上一键部署MiniMax-M1模型
MiniMax公司6月17日推出4560亿参数大模型M1,采用混合专家架构和闪电注意力机制,支持百万级上下文处理,高效的计算特性使其特别适合需要处理长输入和广泛思考的复杂任务。阿里云PAI-ModelGallery现已接入该模型,提供一键部署、API调用等企业级解决方案,简化AI开发流程。
DistilQwen-ThoughtX 蒸馏模型在 PAI-ModelGallery 的训练、评测、压缩及部署实践
通过 PAI-ModelGallery,可一站式零代码完成 DistilQwen-ThoughtX 系列模型的训练、评测、压缩和部署。
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
453 12

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问