Python进阶教程:机器学习入门(Scikit-learn)
目录Python进阶教程机器学习入门Scikit-learn一、机器学习是什么二、机器学习基本流程三、第一个分类模型四、线性回归五、模型评估与交叉验证六、K-Means 聚类七、特征工程要点八、实战预测鲜花品种总结Python进阶教程机器学习入门Scikit-learn本文是Python 入门教程系列的第 17 篇扩展篇。前面第 8 篇介绍了数据分析本篇进入机器学习入门使用最流行的 Scikit-learn 库。一、机器学习是什么机器学习让计算机从数据中自动学习规律并做出预测主要分三类监督学习有标注数据分类、回归无监督学习无标注数据聚类、降维强化学习通过奖励学习策略安装pip install scikit-learn matplotlib二、机器学习基本流程准备数据特征 标签划分训练集和测试集训练模型评估模型预测新数据三、第一个分类模型fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.treeimportDecisionTreeClassifierfromsklearn.metricsimportaccuracy_score# 1. 加载鸢尾花数据集irisload_iris()X,yiris.data,iris.target# 2. 划分训练集/测试集X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42)# 3. 训练模型modelDecisionTreeClassifier(max_depth3)model.fit(X_train,y_train)# 4. 评估y_predmodel.predict(X_test)print(f准确率{accuracy_score(y_test,y_pred):.2f})# 5. 预测新样本new_sample[[5.1,3.5,1.4,0.2]]print(f预测类别{iris.target_names[model.predict(new_sample)[0]]})四、线性回归fromsklearn.linear_modelimportLinearRegressionfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_errorimportnumpyasnp# 模拟数据房价与面积np.random.seed(42)Xnp.random.rand(200,1)*100# 面积 0-100y3*X[:,0]10np.random.randn(200)*5# 房价X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2)modelLinearRegression()model.fit(X_train,y_train)print(f斜率{model.coef_[0]:.2f}截距{model.intercept_:.2f})y_predmodel.predict(X_test)print(f均方误差{mean_squared_error(y_test,y_pred):.2f})五、模型评估与交叉验证fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimportcross_val_scorefromsklearn.svmimportSVC irisload_iris()modelSVC(kernellinear,C1.0)# 5 折交叉验证scorescross_val_score(model,iris.data,iris.target,cv5)print(f每折准确率{scores})print(f平均准确率{scores.mean():.3f})六、K-Means 聚类fromsklearn.clusterimportKMeansfromsklearn.datasetsimportmake_blobsimportmatplotlib.pyplotasplt# 生成聚类数据X,_make_blobs(n_samples300,centers4,random_state42)# K-Means 聚类kmeansKMeans(n_clusters4,random_state42)kmeans.fit(X)# 查看聚类中心print(f聚类中心{kmeans.cluster_centers_})print(f样本所属簇{kmeans.labels_[:10]})# 可视化可选# plt.scatter(X[:, 0], X[:, 1], ckmeans.labels_)# plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker*, s200, cred)# plt.show()七、特征工程要点好的特征比复杂模型更重要fromsklearn.preprocessingimportStandardScaler,OneHotEncoderimportnumpyasnp# 特征缩放对距离敏感的算法很重要Xnp.array([[1,1000],[2,2000],[3,3000]])scalerStandardScaler()X_scaledscaler.fit_transform(X)print(X_scaled)# 类别特征独热编码fromsklearn.preprocessingimportLabelEncoder colors[红,绿,蓝,绿,红]encoderLabelEncoder()print(encoder.fit_transform(colors))# [0 1 2 1 0]八、实战预测鲜花品种fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportclassification_report# 数据准备irisload_iris()X_train,X_test,y_train,y_testtrain_test_split(iris.data,iris.target,test_size0.3,random_state42)# 随机森林比单棵树更稳modelRandomForestClassifier(n_estimators100,random_state42)model.fit(X_train,y_train)# 评估y_predmodel.predict(X_test)print(classification_report(y_test,y_pred,target_namesiris.target_names))# 特征重要性forname,impinzip(iris.feature_names,model.feature_importances_):print(f{name}:{imp:.3f})总结本篇介绍了机器学习的基本流程、分类/回归/聚类三大经典任务、交叉验证和特征工程并用鸢尾花数据集跑通了完整实战。机器学习重在实践建议用 UCI 或 Kaggle 的数据集多做练习。

相关新闻

OpenHarness 全面配置教学——从游戏开发工作流引入

OpenHarness 全面配置教学——从游戏开发工作流引入

一、引子1.1 四模型分工的游戏制作流水线设想一个场景:用 AI 打造一套四模型分工的游戏制作流水线,让 AI 自动完成从游戏设计到代码实现的全流程:#角色模型职责1决策总监(game-director)kimi-k2.6愿景/范围/里程碑/任务…

2026/8/26 16:00:39 阅读更多 →
Python进阶教程:算法与数据结构入门

Python进阶教程:算法与数据结构入门

目录Python进阶教程:算法与数据结构入门一、时间复杂度二、常用数据结构2.1 列表与字典2.2 栈(Stack)2.3 队列(Queue)三、排序算法3.1 冒泡排序(O(n))3.2 快速排序(O(n log n)&#…

2026/8/26 15:32:17 阅读更多 →
AI创业者通识日报 | 2026年8月5日

AI创业者通识日报 | 2026年8月5日

AI创业者通识日报 | 2026年8月5日 01 今日头条 TOP STORY重磅 阿里Qwen3.8-Max正式发布:2.4万亿参数,16天自主编程,下周开源 8月3日,阿里巴巴正式发布新一代旗舰大模型 Qwen3.8-Max ,总参数量达2.4万亿(稀疏…

2026/8/26 16:06:25 阅读更多 →

最新新闻

Codex MCP 首次配置实战:别想一步到位,先跑通最小闭环

Codex MCP 首次配置实战:别想一步到位,先跑通最小闭环

引言:为什么“最小闭环”比“大而全”更重要? 在初次接触 Codex 的 Model Context Protocol (MCP) 时,很多开发者容易陷入一个误区:试图一次性配置所有高级功能,如本地 STDIO、远程 HTTP、OAuth 认证、复杂权限和模型…

2026/8/26 18:17:54 阅读更多 →
这几个Go项目的坑都给大家总结好了,不要去踩了

这几个Go项目的坑都给大家总结好了,不要去踩了

过去几年,我花了很多时间看 Go 代码。有时候是为了搞清楚一个库怎么用,有时候是面试候选人,有时候单纯是想偷点设计灵感。不知不觉,看了几百个项目——有 GitHub 上几十个 star 的练手作品,也有每天处理百万请求的生产…

2026/8/26 18:17:54 阅读更多 →
CMake :手把手教你匹配正确的 Visual Studio 生成器版本

CMake :手把手教你匹配正确的 Visual Studio 生成器版本

CMake :手把手教你匹配正确的 Visual Studio 生成器版本 在 Windows 平台进行 C/C 项目编译开发时,CMake 搭配 Visual Studio 是最主流的构建方案。很多开发者在执行构建命令时,经常遇到 找不到生成器、生成器不匹配、编译环境异常 等报错&am…

2026/8/26 18:17:54 阅读更多 →
具身智能之通用机器人RoboCat详解:一个能用少量示范快速学会新任务和新机器人的自我改进智能体

具身智能之通用机器人RoboCat详解:一个能用少量示范快速学会新任务和新机器人的自我改进智能体

写在前面 【从零走向AGI】旨在深入了解通用人工智能(AGI)的发展路径,从最基础的概念起,逐步构建完整的知识体系。 项目地址🔗:https://github.com/AI-mzq/From-Zero-to-AGI.git 魔方AI空间 猫先生 从零走向…

2026/8/26 18:17:54 阅读更多 →
人生代码 | 输入篇合集 :管好你的人生入参——你允许什么进来,就会成为什么

人生代码 | 输入篇合集 :管好你的人生入参——你允许什么进来,就会成为什么

while Life.is_running():# 输入篇:校验、过滤、拒绝无效伤害信息input_data Life.get_input()input_data Life.filter(input_data)# 处理篇:加工、思考、容错处理output_data Life.process(input_data)# 输出篇:对外输出价值Life.return_…

2026/8/26 18:17:54 阅读更多 →
Linux软件编程学习笔记(二)——标准IO

Linux软件编程学习笔记(二)——标准IO

一、什么是 IOIO 是:I:Input 输入 O:Output 输出例如:键盘 ─────→ 程序输入程序 ─────→ 屏幕输出文件 ─────→ 程序输入程序 ─────→ 文件输出在 Linux 软件编程中,IO 主要包括&#x…

2026/8/26 18:16:53 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →