太极计算机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开发过…

html ajax请求c#,c# – 获取通过webclient中的AJAX生成的html

一般方法是这样的:>使用像Fiddler这样的工具,找出浏览器发出的HTTP请求,以便获取您正在寻找的数据.>使用WebClient获取所需的HTTP请求.请查看我对this question的回答,了解有关HTML屏幕抓取的更多信息,以获取更多详细信息以及如何解决可能遇到的各种问题.对于…

python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...

本文实例讲述了Python实现读取SQLServer数据并插入到MongoDB数据库的方法。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-import pyodbcimport osimport csvimport pymongofrom pymongo import ASCENDING,DESCENDINGfrom pymongo import Mongo…

技校计算机英语,技校计算机英语的一体化教学

1计算机英语教学现状尽管中国已经成为世界上最大的计算机生产国,但计算机毕竟诞生在国外,其技术原理,硬件的构造与设置,软件的开发与运用均建立在英语的基础之上,因此计算机专业的学生必须具备一定的英语水平。然而&am…

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

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

如何用计算机算矩阵,【活用工具】教你如何用卡西欧fx82es计算机计算复数 矩阵...

虽然是从别人那里转过来的。。但根据我的经验看下来,原文有点表达不清和小错误。现在我已经改成目前比较准确,易懂和便捷的方法。如果没有特别注明,以下方法都经过本人亲自调试,绝对可行!!希望对大家有用&a…

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

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

python升级包命令_用pip升级所有包怎么操作

pip 当前内建命令并不支持升级所有已安装的Python模块。列出当前安装的包:pip list列出可升级的包:pip list --outdate升级一个包:pip install --upgrade requests // mac,linux,unix 在命令前加 sudo -H升级所有可升级的包:pip f…

计算机网络工程应用,全面信息化管理在计算机网络工程的应用

摘要:计算机网络是二十一世纪极为重要的一个发展标志,计算机信息技术措施逐渐在我国社会各个行业中得到应用。现阶段信息技术措施已经演变为我国社会经济发展进程向前推进的过程中需要使用到的极为重要的构成成分。各个行业中的相关企业也在对计算机网络…

h5 rtmp推荐控件_H5浏览器播放RTMP直播流

Insert title hereid"my-player"class"video-js"controlspreload"auto"poster"//vjs.zencdn.net/v/oceans.png"data-setup‘{}‘>var player videojs(‘my-player‘);var options {};var player videojs(‘my-player‘, options…

html 按钮光束,图文详解,原来3dmax光束特效的制作这么简单!

酷炫的光束特效是许多想要制作3dmax游戏特效的人必备的基础,实际上,虽然看起来复杂,但只要能够灵活运用粒子系统,就可以成功完成3dmax光束特效的制作。来和模型云一起看看制作教程吧!3dmax光束特效怎么制作?步骤一、打…

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…

建筑与计算机技术,建筑设计中常用的计算机技术与注意点

《建筑设计中常用的计算机技术与注意点》由会员分享,可在线阅读,更多相关《建筑设计中常用的计算机技术与注意点(3页珍藏版)》请在装配图网上搜索。1、建筑设计中常用的计算机技术与注意点引言:目前我国的经济正在不断的发展,同时…

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

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

mysql 分页 order_Mysql查询使用limit分页,同时使用order by可能产生的问题

昨天遇到一个比较诡异的问题,在使用MySQL分页查询数据的时候,有的数据明明数据库里有,但是就是查不出来,有的数据却反而会重复出现。这里面就涉及到一个MySQL自身的问题。具体现象大概是:当使用order by 的字段有多个相…