太极计算机ehr系统,(数据科学学习手札21)sklearn.datasets常用功能详解

作为Python中经典的机器学习模块,sklearn围绕着机器学习提供了很多可直接调用的机器学习算法以及很多经典的数据集,本文就对sklearn中专门用来得到已有或自定义数据集的datasets模块进行详细介绍;

datasets中的数据集分为很多种,本文介绍几类常用的数据集生成方法,本文总结的所有内容你都可以在sklearn的官网:

http://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets

中找到对应的更加详细的英文版解释;

1 自带的经典小数据集

1.1 波士顿房价数据(适用于回归任务)

这个数据集包含了506处波士顿不同地理位置的房产的房价数据(因变量),和与之对应的包含房屋以及房屋周围的详细信息(自变量),其中包含城镇犯罪率、一氧化氮浓度、住宅平均房间数、到中心区域的加权距离以及自住房平均房价等13个维度的数据,因此,波士顿房价数据集能够应用到回归问题上,这里使用load_boston(return_X_y=False)方法来导出数据,其中参数return_X_y控制输出数据的结构,若选为True,则将因变量和自变量独立导出;

from sklearn importdatasets'''清空sklearn环境下所有数据'''datasets.clear_data_home()'''载入波士顿房价数据'''X,y= datasets.load_boston(return_X_y=True)'''获取自变量数据的形状'''

print(X.shape)'''获取因变量数据的形状'''

print(y.shape)

a8c2c91878213a8ed042db6d96454a51.png

自变量X:

0ff29865613d16102e77cd68fa5d4732.png

因变量y:

d6f36fd8957030763fb63593cf797121.png

1.2 威斯康辛州乳腺癌数据(适用于分类问题)

这个数据集包含了威斯康辛州记录的569个病人的乳腺癌恶性/良性(1/0)类别型数据(训练目标),以及与之对应的30个维度的生理指标数据;因此这是个非常标准的二类判别数据集,在这里使用load_breast_cancer(return_X_y)来导出数据:

from sklearn importdatasets'''载入威斯康辛州乳腺癌数据'''X,y= datasets.load_breast_cancer(return_X_y=True)'''获取自变量数据的形状'''

print(X.shape)'''获取因变量数据的形状'''

print(y.shape)

a03b0014bd3a0236c594648daa3c13ec.png

自变量X:

dd853c2e798e0c5a011835d8354ba661.png

因变量y:

29c762692909f69b054e7fd11e63e602.png

1.3 糖尿病数据(适用于回归任务)

这是一个糖尿病的数据集,主要包括442行数据,10个属性值,分别是:Age(年龄)、性别(Sex)、Body mass index(体质指数)、Average Blood Pressure(平均血压)、S1~S6一年后疾病级数指标。Target为一年后患疾病的定量指标,因此适合与回归任务;这里使用load_diabetes(return_X_y)来导出数据:

from sklearn importdatasets'''载入糖尿病数据'''X,y= datasets.load_diabetes(return_X_y=True)'''获取自变量数据的形状'''

print(X.shape)'''获取因变量数据的形状'''

print(y.shape)

0401c15fce96d722f7df227a6639df0b.png

自变量X:

90e3abb602d4d93d3bbaed3615624306.png

因变量y:

213e61b541b8b4775b6a7676e00f6d52.png

1.4 手写数字数据集(适用于分类任务)

这个数据集是结构化数据的经典数据,共有1797个样本,每个样本有64的元素,对应到一个8x8像素点组成的矩阵,每一个值是其灰度值,我们都知道图片在计算机的底层实际是矩阵,每个位置对应一个像素点,有二值图,灰度图,1600万色图等类型,在这个样本中对应的是灰度图,控制每一个像素的黑白浓淡,所以每个样本还原到矩阵后代表一个手写体数字,这与我们之前接触的数据有很大区别;在这里我们使用load_digits(return_X_y)来导出数据:

from sklearn importdatasets'''载入手写数字数据'''data,target= datasets.load_digits(return_X_y=True)print(data.shape)print(target.shape)

03f73fe8a59718ed48f41e4c8f44c3e6.png

这里我们利用matshow()来绘制这种矩阵形式的数据示意图:

importmatplotlib.pyplot as pltimportnumpy as np'''绘制数字0'''num= np.array(data[0]).reshape((8,8))

plt.matshow(num)print(target[0])'''绘制数字5'''num= np.array(data[15]).reshape((8,8))

plt.matshow(num)print(target[15])'''绘制数字9'''num= np.array(data[9]).reshape((8,8))

plt.matshow(num)print(target[9])

68dda22640f9ba15c5003d56f93c9e34.png

1.5 Fisher的鸢尾花数据(适用于分类问题)

著名的统计学家Fisher在研究判别分析问题时收集了关于鸢尾花的一些数据,这是个非常经典的数据集,datasets中自然也带有这个数据集;这个数据集包含了150个鸢尾花样本,对应3种鸢尾花,各50个样本(target),以及它们各自对应的4种关于花外形的数据(自变量);这里我们使用load_iris(return_X_y)来导出数据:

from sklearn importdatasets'''载入Fisher的鸢尾花数据'''data,target= datasets.load_iris(return_X_y=True)'''显示自变量的形状'''

print(data.shape)'''显示训练目标的形状'''

print(target.shape)

9ddf5c97ece895b5d426c0eeee4842f0.png

自变量:

a6399b1e50314167941873dc4e6f435a.png

训练目标:

255209309380c9fe5a0f9e5d679c4dcf.png

1.6 红酒数据(适用于分类问题)

这是一个共178个样本,代表了红酒的三个档次(分别有59,71,48个样本),以及与之对应的13维的属性数据,非常适合用来练习各种分类算法;在这里我们使用load_wine(return_X_y)来导出数据:

from sklearn importdatasets'''载入wine数据'''data,target= datasets.load_wine(return_X_y=True)'''显示自变量的形状'''

print(data.shape)'''显示训练目标的形状'''

print(target.shape)

0bec42467371b145d6c295f43b2f0039.png

2 自定义数据集

前面我们介绍了几种datasets自带的经典数据集,但有些时候我们需要自定义生成服从某些分布或者某些形状的数据集,而datasets中就提供了这样的一些方法:

2.1 产生服从正态分布的聚类用数据

datasets.make_blobs(n_samples=100, n_features=2, centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None),其中:

n_samples:控制随机样本点的个数

n_features:控制产生样本点的维度(对应n维正态分布)

centers:控制产生的聚类簇的个数

from sklearn importdatasetsimportmatplotlib.pyplot as plt

X,y= datasets.make_blobs(n_samples=1000, n_features=2, centers=4, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)

plt.scatter(X[:,0],X[:,1],c=y,s=8)

ca1877098d4cf26a66aedf07a8098735.png

2.2 产生同心圆样本点

datasets.make_circles(n_samples=100, shuffle=True, noise=0.04, random_state=None, factor=0.8)

n_samples:控制样本点总数

noise:控制属于同一个圈的样本点附加的漂移程度

factor:控制内外圈的接近程度,越大越接近,上限为1

from sklearn importdatasetsimportmatplotlib.pyplot as plt

X,y= datasets.make_circles(n_samples=10000, shuffle=True, noise=0.04, random_state=None, factor=0.8)

plt.scatter(X[:,0],X[:,1],c=y,s=8)

1adcfb3c93063cb2137465ea8b5777f5.png

2.3 生成模拟分类数据集

datasets.make_classification(n_samples=100, n_features=20, n_informative=2, n_redundant=2, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)

n_samples:控制生成的样本点的个数

n_features:控制与类别有关的自变量的维数

n_classes:控制生成的分类数据类别的数量

from sklearn importdatasets

X,y= datasets.make_classification(n_samples=100, n_features=20, n_informative=2, n_redundant=2, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)print(X.shape)print(y.shape)

set(y)

0444edc99096f251f2dbbe016af1d824.png

2.4 生成太极型非凸集样本点

datasets.make_moons(n_samples,shuffle,noise,random_state)

from sklearn importdatasetsimportmatplotlib.pyplot as plt

X,y= datasets.make_moons(n_samples=1000, shuffle=True, noise=0.05, random_state=None)

plt.scatter(X[:,0],X[:,1],c=y,s=8)

a60606bf46f9c7bcfabca568ebcc3b49.png

以上就是sklearn.datasets中基本的数据集方法,如有笔误之处望指出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

权限申请_Android 开发工程师必须掌握的动态权限申请,三步轻松搞定!

Android 6.0 / Android M 发布后,手机权限被分为两种,即:Normal Permission / 正常权限 和Dangerous Permission / 危险权限,更好的保护了用户的隐私,极大提升了系统安全性!因此,我们在APP开发过…

什么意思中文翻译_os常见意思介绍

os是一个英文的缩写在不同环境状态下表达的意思不一样的,比如在计算机中就是操作系统的意思,在聊天情景的时候就是内心独白的意思,下面来看看详细的os是什么意思介绍吧。os是什么意思一、计算机中的解释OS其实就是Operating System的缩写中文…

网页证书添加_二、Exchange2016部署及基础配置(NDS及证书配置)

1、DNS轮询负载说明:使用DNS轮询实现负载均衡,最大的优点就是部署简单,基本上不需要成本,如果一台exchange服务器彻底宕机,http客户端(Outlook)足够智能,可以连接到另一台服务器。但DNS轮询并不是真正对流量…

ubuntu中显示本机的gpu_Ubuntu下如何查看GPU版本和使用信息

【转载】nvidia-smi是用来查看GPU版本信息,GPU使用信息查询:nvidia-smi第一栏的Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的…

css html 字竖,CSS实现文字竖排 DIV CSS文字垂直竖列排版显示如何实现?

DIV CSS实现文字竖排排版显示兼容各大浏览器,让文字垂直竖列排版布局。有时我们需要一段文字进行从上到下竖列排版,我们知道CSS样式中有一样式可以让其竖列排版,但所有浏览器不全兼容,逼不得已放弃。但DIVCSS5有2中方法对文字字体…

计算机专业410分能上哪些大学,2021年高考410分能报什么学校

2021年高考410分能报什么学校2021-06-12 19:09:06文/张敏高考结束后,填写志愿是广大考生和家长朋友们十分关心的问题,选择学校非常重要,这关乎着考生们的未来。对此,小编整理了高考成绩410分左右可以报考的学校,希望对…

域名带后缀_[Python 爬虫]获取顶级域名及对应的 WHOIS Server 及 whoisservers.txt 下载...

使用 Python 爬虫获取顶级域名及对应的 WHOIS Server 并保存可用于 WhoisCL.exe 的文件 whois-servers.txt。环境:Windows 10Python 3.9.1顶级域名列表https://www.iana.org/domains/root/db获取顶级域名的 WHOIS Server点击带查询的顶级域名,往下拉 WHO…

湖北经济学院的计算机怎么样,湖北经济学院怎么样名气高吗?真实排名及实力如何?是一本吗...

湖北是我国重要的科教基地,说到湖北省的重点高校,就不得不提到武汉大学和华中科技大学,这两所大学一直以来都是全国考生梦寐以求的好大学。当然除了这两所重点大学,还有很多不错的大学,例如武汉理工学院以及华中师范学…

android 三个点按钮实现_Android 常用侧滑栏实现

我们在平常使用手机时可以看到很多的App的会有侧滑菜单栏的效果,这次我将使用SlidingPaneLayout来实现这个功能。首先我们先看下最终效果:SlidingPaneLayoutSlidingPaneLayout提供了一个水平的、多窗格的布局。使用该控件我们可以实现侧滑的效果&#xf…

mysql 插入优化_MySQL批量SQL插入性能优化

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQL Inno…

mysql 前索引_MySQL查询性能优化前,必须先掌握MySQL索引理论

数据库索引在平时的工作是必备的,怎么建好索引,怎么使用索引,可以提高数据的查询效率。而且在面试过程,数据库的索引也是必问的知识点,比如:索引底层结构选型,那为什么选择B树?不同存储引擎的索…

计算机维护系统Win8PE,win8如何进入PE重装电脑系统

电脑进入PE系统有很多种办法,但是最简单的莫过于本地模式。通过韩博士中的本地模式功能下载PE镜像文件,就可以直接进入到PE桌面进行电脑系统重装。如果你不信,就跟着下面的流程走一次。小编有话说:大家在打开韩博士装机大师软件之…

电子科技大学 高级计算机结构,电子科技大学计算机系统结构作业答案

电子科技大学计算机系统结构作业答案 (26页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!1.90 积分查看考卷——作业提交1 当前得分:5 分(总分:100 分),折合成百分…

测试手机速度的软件叫什么,手机测网速哪个软件好? 精确测速软件推荐

随着智能手机的普及,现在人们几乎已经人手一部手机。4G网络在我国已经非常的普及了,但是我们在使用手机时时常还是会发现会出现断网的情况,严重的影响了我们的工作以及上网体验,特别是在我们看视频或者打游戏时断网,更…

python在末尾加关闭程序_廖雪峰的Python教程教程-02

廖雪峰的Python教程:Python教程​www.liaoxuefeng.com廖老师的小结:1) list[],一种有序的集合:用len()函数可以获得list元素的个数;索引是从0开始,最后一个元素的索引是len(list)-1;list.append…

sensei鼠标测试软件,'黑科技'传感器打造出的FPS利器 - 赛睿Sensei 310 鼠标

黑科技传感器打造出的FPS利器 - 赛睿Sensei 310 鼠标2018-03-12 10:00:0010点赞13收藏20评论*级电竞外设品牌SteelSeries赛睿2017年在鼠标领域依靠Rival系列攻城掠地, 从低到高都有覆盖,但Rival系列全系都是右手的人体工学设计,对于喜欢对称设计的玩家来…

汉字计算机编码是谁发明的,神奇的汉字编码,了解一下

一直觉得不是由中国人发明的计算机,却可以使用汉字进行界面交互非常神奇。今天就来和大家聊一下关于汉字编码的最底层的逻辑。(1)汉字信息交换码(国标码)汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用的代码标准。国家标准GB2312-80…

怎么把foxmail的邮件和服务器同步,foxmail设置ActiveSync同步功能怎么操作?设置ActiveSync同步功能方法介绍...

foxmail设置ActiveSync同步功能的操作常常困扰着不少用户,下面笔者就分享了foxmail设置ActiveSync同步功能的操作方法,不懂的朋友一起来看看吧。foxmail设置ActiveSync同步功能的操作方法一、开启和关闭"ActiveSync同步"功能的操作对新建QQMai…

php页面不断弹出值_电脑自动弹出网页怎么办

电脑自动弹出网页的解决方法:我们可以利用360安全卫士中的弹窗过滤工具来解决此问题。首先我们打开360安全卫士;然后找到弹窗过滤工具;最后选择【强力模式】,保存设置即可。电脑自动弹出网页可以使用360安全卫士来进行弹窗拦截。打…

css怎样使弹跳的小球旋转,如何使用纯CSS实现小球跳跃台阶的动画效果(附源码)...

本篇文章给大家带来的内容是关于如何使用纯CSS实现小球跳跃台阶的动画效果(附源码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。效果预览源代码下载https://github.com/comehope/front-end-daily-challenges代码解读定义…