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

[Python] scikit-learn中数据集模块介绍和使用案例

sklearn.datasets模块介绍

在scikit-learn中,可以使用sklearn.datasets模块中的函数来构建数据集。这个模块提供了用于加载和生成数据集的函数。

API Reference — scikit-learn 1.4.0 documentation

以下是一些常用的sklearn.datasets模块中的函数

load_iris()

sklearn.datasets.load_iris — scikit-learn 1.4.0 documentation

加载鸢尾花数据集,返回一个Bunch对象,包含特征数据和标签。

from sklearn import datasetsiris = datasets.load_iris()
X = iris.data  # 特征数据
y = iris.target  # 标签

load_digits()

sklearn.datasets.load_digits — scikit-learn 1.4.0 documentation

加载手写数字数据集,返回一个Bunch对象,包含特征数据和标签。

from sklearn import datasetsdigits = datasets.load_digits()
X = digits.data  # 特征数据
y = digits.target  # 标签

make_regression()

sklearn.datasets.make_regression — scikit-learn 1.4.0 documentation

生成一个回归问题的合成数据集,可以指定样本数、特征数、噪声等参数。

from sklearn.datasets import make_regression
X, y = make_regression(n_samples=5, n_features=2, noise=1, random_state=42)
X
y

make_classification()

sklearn.datasets.make_classification — scikit-learn 1.4.0 documentation

生成一个分类问题的合成数据集,可以指定样本数、特征数、类别数、噪声等参数。

from sklearn.datasets import make_classification
X, y = make_classification(random_state=42)
print(X.shape)
print(y.shape)
print(list(X[:5]))
print(list(y[:5]))

make_blobs()

sklearn.datasets.make_blobs — scikit-learn 1.4.0 documentation

可以用于生成一个多类别的合成数据集。它主要用于聚类算法的演示和测试。

from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=10, centers=3, n_features=2,random_state=0)
print(X.shape)
y
X, y = make_blobs(n_samples=[3, 3, 4], centers=None, n_features=2,random_state=0)
print(X.shape)
y

小结

这些函数都会返回一个包含特征数据和标签的Bunch对象,你可以通过访问Bunch对象的属性来获取特征数据和标签。

另外,sklearn.datasets模块还提供了其他一些函数,可以加载和生成其他类型的数据集,例如回归数据集、聚类数据集等。

相关文章:

  • 03-抓包_封包_协议_APP_小程序_PC应用_WEB应用
  • ChatGPT学习第一周
  • SQL、Hive中的SQL和Spark中的SQL三者联系与区别
  • 基于STM32CubeMX的GPIO配置和代码生成教程
  • 力扣精选算法100道—— 连续数组(前缀和专题)
  • LabVIEW风力发电机在线监测
  • 嵌入式学习之Linux入门篇笔记——9,Linux权限管理
  • C#静态数组删除数组元素不改变数组长度 vs 动态数组删除数组元素改变数组长度
  • 2024.2.6
  • 艺术创作和生活的关系
  • Docker引擎不同的日志驱动配置以及通过Filebeat采集容器日志的两种解决方案
  • Vue + Element UI el-table + sortablejs 行、列拖拽排序
  • SQL世界之命令语句Ⅲ
  • C语言--------指针(1)
  • [技术杂谈]如何下载vscode历史版本
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 【知识碎片】第三方登录弹窗效果
  • 4个实用的微服务测试策略
  • Android系统模拟器绘制实现概述
  • ECMAScript入门(七)--Module语法
  • LintCode 31. partitionArray 数组划分
  • python大佬养成计划----difflib模块
  • Redis的resp协议
  • session共享问题解决方案
  • vue中实现单选
  • XML已死 ?
  • 阿里云前端周刊 - 第 26 期
  • 闭包--闭包作用之保存(一)
  • 当SetTimeout遇到了字符串
  • 仿天猫超市收藏抛物线动画工具库
  • 分布式任务队列Celery
  • 你真的知道 == 和 equals 的区别吗?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用SAX解析XML
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • FaaS 的简单实践
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • (3)nginx 配置(nginx.conf)
  • (排序详解之 堆排序)
  • (数据结构)顺序表的定义
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转)ABI是什么
  • (转)用.Net的File控件上传文件的解决方案
  • .Net Core 中间件验签
  • .net refrector
  • .net 反编译_.net反编译的相关问题
  • .NET大文件上传知识整理
  • ::before和::after 常见的用法
  • @staticmethod和@classmethod的作用与区别
  • @Valid和@NotNull字段校验使用
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [2016.7 test.5] T1
  • [Android]使用Android打包Unity工程
  • [Android]竖直滑动选择器WheelView的实现