学习机器学习算法过程中的常用数据集

article/2025/7/16 20:09:18

文章目录

  • 【数据集1】forge:小型模拟分类问题数据集
  • 【数据集2】wave:小型模拟回归问题数据集
  • 【数据集3】cancer:中型实际分类问题数据集
  • 【数据集4】boston:中型实际回归问题数据集

以下数据集为学习机器学习算法时,经常会用到的数据集,包括4种:小型模拟分类问题、小型模拟回归问题、中型实际分类问题、中型实际回归问题。这些数据集源自:[德]Andreas C.Muller和[美]Sarah Guido所著的书籍《Python机器学习基础教程》。

【数据集1】forge:小型模拟分类问题数据集

forge数据集是一个小型模拟二分类问题实例,有26个数据点,每个数据有两个特征。数据集中的数据可以通过sklearn模块的make_blobs函数来加载。下列代码绘制一个散点图,将数据的所有数据点可视化,图像以第一个特征为x轴,第二个特征为y轴。每个点的颜色和形状对应其类别。

mport mglearn.datasets
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobsdef forge():# make_blobs: sklearn内置单标签类数据集features, labels = make_blobs(centers=2, random_state=4, n_samples=30)# discrete_scatter:数据集可视化mglearn.discrete_scatter(features[:, 0], features[:, 1], labels)plt.legend(['Class0', 'Class1'], loc=4)plt.xlabel('First feature')plt.ylabel('Second feature')plt.show()return features, labelsif __name__ == '__main__':X, y = forge()

在这里插入图片描述

【数据集2】wave:小型模拟回归问题数据集

wave数据集是一个小型模拟回归问题实例,有30个数据点,每个数据点有一个特征和一个连续的标签值。数据集中的数据可以通过mglearn模块的make_wave函数来加载。下图绘制的图像中,单一特征位于x轴,标签位于y轴。

import mglearn.datasets
import matplotlib.pyplot as pltdef wave():features, labels = mglearn.datasets.make_wave(n_samples=30)plt.plot(features, labels, 'o')plt.ylim(-3, 3)plt.xlabel('Feature')plt.ylabel('Target')plt.show()return features, labelsif __name__ == '__main__':X, y = wave()

在这里插入图片描述

【数据集3】cancer:中型实际分类问题数据集

cancer是威斯康星州乳腺癌数据集,记录了乳腺癌肿瘤的临床测量数据。每个肿瘤都被标记为“良性”(benign,表示无害肿瘤)或“恶性”(malignant,表示癌性肿瘤),其任务是基于人体组织的测量数据来预测肿瘤是否为恶性。数据集中包含569个数据,每个数据中包含30个特征和标签。这些数据可以通过sklearn模块中的load_breast_cancer来加载。

from sklearn.datasets import load_breast_cancerdef breast_cancer():cancer = load_breast_cancer()features = cancer.datalabels = cancer.targetreturn cancer, features, labelsif __name__ == '__main__':cancer_data, X, y = breast_cancer()

维度特征较多,难以直接做可视化。可以通过代码继续探查数据内容。

# cancer数据集所有属性
print('cancer.keys(): {}'.format(cancer_data.keys()))
cancer.keys(): dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])# 数据和特征数量
print('Shape of cancer data: {}'.format(X.shape))
Shape of cancer data: (569, 30)# 良性数量
print('benign count: {}'.format(sum(y)))
benign count: 357# 恶性数量
print('malignant count: {}'.format(len(y) - sum(y)))
malignant count: 212# 特征含义
print('Features name: \n{}'.format(cancer_data.feature_names))
Features name: 
['mean radius' 'mean texture' 'mean perimeter' 'mean area''mean smoothness' 'mean compactness' 'mean concavity''mean concave points' 'mean symmetry' 'mean fractal dimension''radius error' 'texture error' 'perimeter error' 'area error''smoothness error' 'compactness error' 'concavity error''concave points error' 'symmetry error' 'fractal dimension error''worst radius' 'worst texture' 'worst perimeter' 'worst area''worst smoothness' 'worst compactness' 'worst concavity''worst concave points' 'worst symmetry' 'worst fractal dimension']

【数据集4】boston:中型实际回归问题数据集

boston是波士顿房价数据集。与这个数据集相关的任务是,利用犯罪率、是否临近查尔斯河、公路可达性等信息,来预测20世纪70年代波士顿地区房屋价格的中位数。数据集中包含506个数据点,有13个基本特征,同时把任意两个基本特征的乘积也作为特征,共计104个特征。

import mglearn.datasetsdef boston():features, labels = mglearn.datasets.load_extended_boston()return features, labelsif __name__ == '__main__':X, y = boston()

http://chatgpt.dhexx.cn/article/iSkGbg9k.shtml

相关文章

虚拟机系统iso镜像下载_如何下载正版系统镜像

许多网友想装系统,可是不会装(后期会推装系统的文章),而且网上的系统有的装有全家桶,有的又有捆绑软件,严重的还有病毒。那么,在哪里去下载正版,安全的系统镜像呢 "MSDN,我告诉你"这个…

Win7下安装xp虚拟机

在win7下安装Oracle VM VirtualBox虚拟机,然后在安装xp程序。 准备工作: 1. Oracle VM VirtualBox虚拟机 2. 一张xp安装版的镜像盘(这里一定是安装版而不是Ghost版,如果想知道ghost版的会出现什么问题,不妨自己试试。&…

虚拟机系统iso镜像下载_[原版镜像]macOS Mojave 10.14.1 原版 iso 镜像- 虚拟机专用

[原版镜像]macOS Mojave 10.14.1 原版 iso 镜像- 虚拟机专用 Notes: 1. 此镜像仅供用于虚拟机安装, 不能制作启动 u 盘. 2. 此镜像和专栏文章: macOS Mojave 10.14.2 原版镜像 皆可用于虚拟机安装 macOS. 另: 此镜像为苹果官方免费 macOS 镜像和工具制作而成, 没有任何第三方内…

微软官方提供的免费正版 Windows 8.1/Win10/7/XP/Vista 操作系统虚拟机镜像下载

微软官方提供的免费正版 Windows 8.1/Win10/7/XP/Vista 操作系统虚拟机镜像下载 https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ 相信做过网页开发/前端的同学都知道,测试各个浏览器的兼容性是最麻烦的事情之一,单单 IE 就有 N 个版…

基于snap7在vs上通信

这是个已有的snap7通信示例: 首先你得有visual studio,然后 1.在snap7官网上下载文件snap7-full-1.4.2 2.打开snap7-full-1.4.2\examples\dot.net\WinForm\CSharp\CSharp.sln 3.直接编译,它会报错 具体正确的解决方法不太懂,我就…

Snap7 西门子S7系列PLC的通信库 简介

目录 简介参考Snap7 简介Snap7 用途适用系统支持语言西门子S7通信介绍Snap7 组件Sanp7 API源码、手册、样例下载 简介 最近在开发一个项目,作为技术帝,已经完成工艺、机械设计的设计,项目过多,也是为了让自己更加?叉&#xff0c…

通过Snap7与 LOGO!8PLC通信

前言 因一项目需要web控制LOGO! PLC,利用西门子自带的免费LOGO!8.2 Web Editor工具可以很完美的做web页面开发。可以参考视频教程。此外西门子还提供数据导出到excel工具——LOGO8.2 Access Tool。 上面两款工具虽然使用起来非常便捷,但还是想结合Snap…

python使用Snap7读写西门子S7系列PLC

python使用Snap7读写西门子S7系列PLC 1.简介 Snap7 Snap7是一个基于s7通信协议的开源软件包,作者是Davide Nardella,该软件包封装了S7通信的底层协议,可使用普通电脑通过编程与西门子S7系列PLC进行通信 Snap7三大对象组件:客户…

jetson nano上编译与使用西门子PLC通讯库snap7

文章目录 一.西门子snap7介绍二.西门子S7通讯介绍三.jetson nano编译snap7库四.Qt Cmake导入snap7库五.snap7主要函数说明1.与PLC建立连接2.读写PA区变量3.读写MK区变量 六.通讯程序示例 一.西门子snap7介绍 官网:https://snap7.sourceforge.net/ Snap7 是一个基于…

Python-snap7 安装和测试

本文章记录Python-snap7零基础的安装和测试过程。 1 部件和软件 硬件: 1)S7-1500 CUP 1511-1 PN(6ES7511-1AK02-0AB0) 2)SD存储卡 4M(6ES7 954-8LC03-0AA0) 3)220V AC 转 24V DC 电…

SNAP7 C++ 通讯

静态调用的dll的一个实例 2017年11月17日 09:49:18 净无邪 阅读数:334 版权声明:本文为博主原创文章,欢迎各位朋友转载。转载时,保留链接地址! https://blog.csdn.net/naibozhuan3744/article/details/78557761 本实…

Qt5调用Snap7

Snap7是一个与西门子PLC通信的开源库, 在网上下载了一个例子, 研究了一天终于通信成功了, 在此记录一下 项目文件 win32:LIBS C:\Qt\Qt5.7.0\Tools\mingw530_32\i686-w64-mingw32\lib\libws2_32.a win32:LIBS C:\Qt\Qt5.7.0\Tools\mingw530_32\i686-w64-mingw32\lib\libwin…

python snap7 plc_Python-Snap7获取西门子PLC 300数值

说明 在一次数采项目中,对现场PLC300进行取数。本人小白,在网上搜罗了大量信息,终于找到解决方法。 准备事项 1. 操作系统 2.Python环境(本次使用Python3.6.6) 3.Snap7 connect connect(192.168.0.1, rack=0,slot=1) 三个参数分别为:IP 地址,机架,插槽 read_ar…

python-snap7的安装记录

python-snap7的安装记录-windows(仅供个人备忘) 首先 pip install python-snap7其次安装包再然后是环境变量最后是测试 网上其他人的资料尝试上去总感觉不靠谱,很多内容不是一篇网上的文章就能解决(不是这里不对就是那里看不懂&am…

snap7

The Snap7 theatre (剧场、讲堂) The purpose of Snap7 is to fully integrate your PC station into a PLC network, without anybody sees the difference. To allow this, the Snap7 theater must be the same as the Siemens and contain the same actors. Snap7 library…

Python基于Snap7与PLC建立连接并读写数据

最近偶尔在网上看到可以用Python通过snap7与PLC建立连接并读写数据,好多小伙伴没有现成的PLC,这里介绍一个电脑模拟PLC与python通讯。效果与实际情况一样的。这里是以SIEMENS的PLC为例,通过Pycharm与TIA V17建立连接,对其DB块、M区、Q区、I区…

snap7通过NetToPLCsim工具接入模拟西门子PLC S7-1200步骤简介

概述 本文主要是设备通过S7协议接入西门子PLC S7-XXXX系列的开发使用文档,主要包括西门子PLC组态工具博途V15,PLC模拟工具S7-PLCSIM,IP地址映射工具NetToPLCsim等使用使用说明,S7协议的编译及使用说明等; 1 开发工具之间的关系 仿…

基于Snap7实现与西门子PLC通信

​如果你对西门子PLC通信或者上位机开发稍微有一点研究的话,应该对Snap7有所耳闻。 Snap7是一个基于以太网与西门子S7系列PLC通信的开源库,在世界领域应用很广。但也许是因为资料比较少,而且很多都是纯英文,在国内反而没有大规模…

c++ snap7通信vs环境配置与编程入门

前言:作者基本为电脑桌面软件开发小白,搜索网上的教程中踩了不少坑,在此整理分享最基础的vs环境下c开发snap7应用环境搭建,完成第一条snap7与PLC成功通信。 准备工作 Visual Studio 2013 及以后版本(以下简称vs&…

Python使用python-snap7实现西门子PLC通讯

Python简介 Python是开源的高级编程语言之一,广泛应用于人工智能、数据分析、爬虫等领域。由于它拥有大量的开源库和标准库,以及简单且贴近自然语言的语法,所以即便是从未接触过编程的人,也能快速上手。2021年10月,Py…