当前位置: 首页 > news >正文

[菜鸟教程] 机器学习教程第七课-Python 入门机器学习

Scikit-learn简称 Sklearn是一个开源的机器学习库建立在 NumPy、SciPy 和 matplotlib 这些科学计算库之上提供了简单高效的数据挖掘和数据分析工具。Scikit-learn 包含了许多常见的机器学习算法包括线性回归、岭回归、Lasso回归支持向量机SVM决策树、随机森林、梯度提升树聚类算法如K-Means、层次聚类、DBSCAN降维技术如PCA、t-SNE神经网络接下来我们通过一个简单的分类任务——使用鸢尾花数据集Iris Dataset来演示机器学习的流程鸢尾花数据集是一个经典的数据集包含 150 个样本描述了三种不同类型的鸢尾花的花瓣和萼片的长度和宽度。步骤 1导入库导入需要的 Python 库import numpy as np import pandas as pd import matplotlib.pyplot as plt 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步骤 2加载数据加载鸢尾花数据集# 加载鸢尾花数据集 iris load_iris() # 将数据转化为 pandas DataFrame X pd.DataFrame(iris.data, columnsiris.feature_names) # 特征数据 y pd.Series(iris.target) # 标签数据 # 显示前五行数据 print(X.head())打印输出数据如下所示sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) 0 5.1 3.5 1.4 0.2 1 4.9 3.0 1.4 0.2 2 4.7 3.2 1.3 0.2 3 4.6 3.1 1.5 0.2 4 5.0 3.6 1.4 0.2步骤 3数据集划分将数据集划分为训练集和测试集通常使用 70% 训练集和 30% 测试集的比例# 划分训练集和测试集80% 训练集20% 测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)步骤 4特征缩放标准化许多机器学习算法都依赖于特征的尺度特别是像 K 最近邻算法。为了确保每个特征的均值为 0标准差为 1我们使用标准化来处理数据# 标准化特征 scaler StandardScaler() X_train scaler.fit_transform(X_train) X_test scaler.transform(X_test)步骤 5选择模型并训练在这个例子中我们选择 K-Nearest NeighborsKNN 算法来进行分类# 创建 KNN 分类器 knn KNeighborsClassifier(n_neighbors3) # 训练模型 knn.fit(X_train, y_train)步骤 6评估模型训练完成后我们使用测试集评估模型的准确性# 预测测试集 y_pred knn.predict(X_test) # 计算准确率 accuracy accuracy_score(y_test, y_pred) print(f模型准确率: {accuracy:.2f})完成以上代码输出结果为模型准确率: 1.00步骤 7可视化结果可选你可以通过可视化来进一步了解模型的表现尤其是在多维数据集的情况下。例如你可以用二维图来显示 KNN 分类的结果不过在这里需要对数据进行降维简化为二维。import numpy as np import pandas as pd import matplotlib.pyplot as plt 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() # 将数据转化为 pandas DataFrame X pd.DataFrame(iris.data, columnsiris.feature_names) # 特征数据 y pd.Series(iris.target) # 标签数据 # 划分训练集和测试集80% 训练集20% 测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # 标准化特征 scaler StandardScaler() X_train scaler.fit_transform(X_train) X_test scaler.transform(X_test) # 创建 KNN 分类器 knn KNeighborsClassifier(n_neighbors3) # 训练模型 knn.fit(X_train, y_train) # 预测测试集 y_pred knn.predict(X_test) # 计算准确率 accuracy accuracy_score(y_test, y_pred) # 可视化 - 这里只是一个简单示例具体可根据实际情况选择绘图方式 plt.scatter(X_test[:, 0], X_test[:, 1], cy_pred, cmapviridis, markero) plt.title(KNN Classification Results) plt.xlabel(Feature 1) plt.ylabel(Feature 2) plt.show()输出原文地址https://www.runoob.com/ml/ml-python.html
http://www.gsyq.cn/news/1334601.html

相关文章:

  • 用STM32CubeMX和HAL库5分钟搞定PWM呼吸灯(STM32F407ZG实战)
  • 交流充电桩通信模块设计:从PWM握手到PLC/CAN协议实战解析
  • Delphi高分屏UI适配避坑指南:以TTitleBarPanel自定义标题栏为例,解决4K/2K显示错位问题
  • 2026最新论文降AI全攻略:亲测5大高质量工具,掌握免费Prompt指令顺利交稿
  • RK3588开发板快速测试指南:从硬件验证到系统稳定性评估
  • 状态机——SpringStateMachine并行区域状态流转
  • 【物联网专业】案例11_1:液晶应用实例LCD1602(1)
  • 2026年成都主城区地毯清洗服务机构实力排行 - 优质品牌商家
  • Python DXF处理库ezdxf的技术架构与工程实践深度解析
  • 2026实验室超声波清洗机:医用超声波清洗机/单槽超声波清洗机/双槽超声波清洗机/吻合器超声波焊接机/塑料超声波焊接机/选择指南 - 优质品牌商家
  • 2026年在线水印去除工具推荐:5大方法与4款小程序实测对比
  • Int J Surg华中科技大学同济医学院附属协和医院:可解释机器学习模型预测胰腺癌早期复发:整合瘤内瘤周影像组学及身体成分分析
  • AI赋能工业无损检测:从图像识别到缺陷自动判读的技术演进
  • 收藏!2026年纯业务程序员将淘汰?大模型技术带你抓住AI时代红利,小白也能轻松入门!
  • 2026年HR SaaS选型实测:用友领跑,多场景适配全规模企业!
  • 2026.05 视觉巅峰对决:ImageNet 图像分类 SOTA 模型终极盘点
  • iPaaS厂商:五家主流集成平台的技术与市场观察
  • AI测试的现状与未来:AI会取代人工测试吗
  • c# 简单记录一下我学习的过程 2026.5.20
  • 深入 MQTT:从初学者到行业专家的全栈指南
  • RK3399 Linux内核深度调试:CodeViser实战与多核问题排查
  • Spring Boot项目整合腾讯云COS,手把手教你实现文件上传功能(附完整工具类代码)
  • 为什么你的无锁队列在压测中崩了——从 ABA 问题到 Hazard Pointer,追踪 lock-free 内存回收的生死时序
  • 搞定若依框架内嵌iframe页面缓存难题:一个v-show + 路由监听的改造方案
  • 手把手调试:在STM32上单步跟踪FreeRTOS的PendSV任务切换全过程
  • Android广播ANR避坑指南:你的onReceive方法真的安全吗?(附超时时间详解)
  • 避坑指南:在ArcGIS中提取DEM高程点,为什么导入Global Mapper后看不到高度?
  • ChipDNA PUF技术:从晶体管失配到硬件安全密钥的工程实践
  • 【物联网专业】案例9_2:控制数码管(定时器中断)
  • MySQL 查询数据