sklearn库中的标准数据集及基本功能
【sklearn库】
sklearn是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务是,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。
sklearn库是在numpy、scipy、matplotlib的基础上开发而成的,在安装sklearn之前需要先安装这些依赖库。
Numpy(Numerical python的缩写)是一个开源的Python科学计算库。
Scipy库是sklearn库的基础,它是基于Numpy的一个集成了多种数学算法和函数的Python模块。
matplotlib是基于Numpy的一套Python工具包,它提供了大量的数据绘图工具。
【sklearn库中的标准数据集】
数据集总览
数据集名称 |
调用方式 |
适用算法 |
数据规模 |
|
小 |
波士顿房价数据集 |
load_boston() |
回归 |
506*13 |
鸢尾花数据集 |
load_iris() |
分类 |
150*4 |
|
数 |
||||
据 |
糖尿病数据集 |
load_diabetes() |
回归 |
442*10 |
集 |
||||
手写数字数据集 |
load_digits() |
分类 |
5620*64 |
|
大 |
Olivetti 脸部图像数据集 |
fetch_olivetti_faces() |
降维 |
400*64*64 |
数 |
新闻分类数据集 |
fetch_20newsgroups() |
分类 |
- |
据 |
||||
带标签的人脸数据集 |
fetch_lfw_people() |
分类;降维 |
- |
|
集 |
||||
路透社新闻语料数据集 |
fetch_rcv1() |
分类 |
804414*47236 |
|
注:小数据集可以直接使用,大数据集要在调用时程序自动下载(一次即可)。
【波士顿房价数据集】
波士顿房价数据集包含506组数据,每条数据包含房屋以及房屋周围的详细信息。其中包括城镇犯罪率、一氧化氮浓度、住宅平均房间数、到中心区域的加权距离以及自住房平均房价等。因此,波士顿房价数据集能够应用到回归问题上。
-----------------------波士顿房价数据集-----------------------
波士顿房价数据集-属性描述
CRIM:城镇人均犯罪率。
ZN:住宅用地超过 25000 sq.ft. 的比例。
INDUS:城镇非零售商用土地的比例。
CHAS:查理斯河空变量(如果边界是河流,则为1;否则为0)
NOX:一氧化氮浓度。
RM:住宅平均房间数。
AGE:1940 年之前建成的自用房屋比例。
DIS:到波士顿五个中心区域的加权距离。
RAD:辐射性公路的接近指数。
TAX:每 10000 美元的全值财产税率。
PTRATIO:城镇师生比例。
B:1000(Bk-0.63)^ 2,其中 Bk 指代城镇中黑人的比例。
LSTAT:人口中地位低下者的比例。
MEDV:自住房的平均房价,以千美元计。
使用sklearn.datasets.load_boston即可加载相关数据集
其重要参数为:
- return_X_y:表示是否返回target(即价格),默认为False,只返回data(即属性)。
波士顿房价数据集-加载示例
示例1:
from sklearn.datasets import load_bostonboston = load_boston()
print(boston.data.shape)
输出结果:
(506, 13)
示例2:
from sklearn.datasets import load_bostondata, target = load_boston(return_X_y=True)
print(data.shape)
print(target.shape)
输出结果:
(506, 13)
(506,)
【鸢尾花数据集】
鸢尾花数据集采集的是鸢尾花的测量数据以及其所属的类别。
测量数据包括:萼片长度、萼片宽度、花瓣长度、花瓣宽度。
类别共分为三类:Iris Setosa, Iris Versicolour,Iris Virginica。该数据集可用于多分类问题。
----鸢尾花部数据集分数据示例----
使用sklearn.datasets. load_iris即可加载相关数据集
其参数有:
- return_X_y:若为True,则以(data, target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target)。
鸢尾花数据集-加载示例
from sklearn.datasets import load_irisiris = load_iris()
print(iris.data.shape)
print(iris.target.shape)
print(list(iris.target_names))
输出结果:
(150, 4)
(150,)
['setosa', 'versicolor', 'virginica']
【手写数字数据集】
手写数字数据集包括1797个0-9的手写数字数据,每个数字由8*8大小的矩阵构成,矩阵中值的范围是0-16,代表颜色的深度。
---------------数字0的样本---------------------
使用sklearn.datasets.load_digits即可加载相关数据集
其参数包括:
- return_X_y:若为True,则以(data, target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target) ;
- n_class:表示返回数据的类别数,如:n_class=5,则返回0到4的数据样本。
手写数字数据集示例
from sklearn.datasets import load_digits
import matplotlib.pyplot as pltdigits = load_digits()
print(digits.data.shape)
print(digits.target.shape)
print(digits.images.shape)plt.matshow(digits.images[0])
plt.show()
输出结果:
(1797, 64)
(1797,)
(1797, 8, 8)
【显示结果】
【sklearn库的基本功能】
sklearn库的共分为6大部分,分别用于完成分类任务、回归任务、聚类任务、降维任务、模型选择以及数据的预处理。
分类任务
分类模型 |
加载模块 |
最近邻算法 |
neighbors.NearestNeighbors |
支持向量机 |
svm.SVC |
朴素贝叶斯 |
naive_bayes.GaussianNB |
决策树 |
tree.DecisionTreeClassifier |
集成方法 |
ensemble.BaggingClassifier |
神经网络 |
neural_network.MLPClassifier |
回归任务
回归模型 |
加载模块 |
岭回归 |
linear_model.Ridge |
Lasso回归 |
linear_model.Lasso |
弹性网络 |
linear_model.ElasticNet |
最小角回归 |
linear_model.Lars |
贝叶斯回归 |
linear_model.BayesianRidge |
逻辑回归 |
linear_model.LogisticRegression |
多项式回归 |
preprocessing. PolynomialFeatures |
聚类任务
聚类方法 |
加载模块 |
K-means |
cluster.KMeans |
AP聚类 |
cluster.AffinityPropagation |
均值漂移 |
cluster.MeanShift |
层次聚类 |
cluster.AgglomerativeClustering |
DBSCAN |
cluster.DBSCAN |
BIRCH |
cluster.Birch |
谱聚类 |
cluster.SpectralClustering |
降维任务
降维方法 |
加载模块 |
主成分分析 |
decomposition.PCA |
截断SVD和LSA |
decomposition.TruncatedSVD |
字典学习 |
decomposition.SparseCoder |
因子分析 |
decomposition.FactorAnalysis |
独立成分分析 |
decomposition.FastICA |
非负矩阵分解 |
decomposition.NMF |
LDA |
decomposition.LatentDirichletAllocation |
声明:本博客的内容来自于MOOC的《Python机器学习应用》课程
sklearn库中的标准数据集及基本功能相关推荐
- ML之sklearn:sklearn库中的ShuffleSplit()函数和StratifiedShuffleSplit()函数的讲解
ML之sklearn:sklearn库中的ShuffleSplit()函数和StratifiedShuffleSplit()函数的讲解 目录 sklearn库中的ShuffleSplit()函数和St ...
- Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...
- 【Python机器学习】Sklearn库中Kmeans类、超参数K值确定、特征归一化的讲解(图文解释)
一.局部最优解 采用随机产生初始簇中心 的方法,可能会出现运行 结果不一致的情况.这是 因为不同的初始簇中心使 得算法可能收敛到不同的 局部极小值. 不能收敛到全局最小值,是最优化计算中常常遇到的问题 ...
- ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测
ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测 目录 输出结果 训练数据集 设计思路 核心代码 输出结果 测试01:I love you ...
- pythonsklearn乳腺癌数据集_Python的Sklearn库中的数据集
一.Sklearn介绍 scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了.其完善之处不仅在于实现的算法多,还包括大 ...
- python的自带数据集_Python的Sklearn库中的数据集
一.Sklearn介绍 scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了.其完善之处不仅在于实现的算法多,还包括大 ...
- python svr回归_使用sklearn库中的SVR做回归分析
sklearn中的回归有多种方法,广义线性回归集中在linear_model库下,例如普通线性回归.Lasso.岭回归等:另外还有其他非线性回归方法,例如核svm.集成方法.贝叶斯回归.K近邻回归.决 ...
- Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别
敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...
- 利用pytorch 做一个简单的神经网络实现sklearn库中莺尾花的分类
本文针对本人学习pytorch的分类问题,自己写了一个简单的code import numpy as np from collections import Counter from sklearn i ...
最新文章
- 002-Zabbix-网络设备自动监控(cisco)
- Java开发知识之Java面相对象
- linux 查看日志_干货 | 名企高频考点之谈谈Linux日志查看方式都有哪些
- java logger 格式_org.apache.log4j.Logger详解
- 软件工程专业指导4(方法)
- java工程编辑器中文乱码_Java Web开发项目中中文乱码解决方法汇总
- 深度学习入门有多难?这篇带你零基础入行
- 关于ORM的一些外文资料
- 请实现一个函数,将一个字符串中的每个空格替换成...
- python人工智能-图像识别
- 多维空间搜索算法RTree
- dell5580bios恢复出厂_戴尔笔记本如何恢复Bios出厂设置?
- 计算机英语作文150字,作文试题_150字_英语作文
- flask怎么创建虚拟环境_在Windows OS中创建虚拟环境并在本地运行Flask应用程序
- 【锐捷】交换机,AC设备虚拟化(VSU、VAC)
- 2022谷粒商城学习笔记(二十三)分布式事务
- 全球及中国智能家居市场十四五竞争形势及营销模式咨询报告2021-2027年
- web服务器的开发(简易版本)
- TreeView 入门
- 钟汉良日记:为何我持续写日记四十天后,让他精神层面完全被影响?