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_boston

boston = load_boston()
print(boston.data.shape)

输出结果:

 

(506, 13)

 

示例2:

 

from sklearn.datasets import load_boston

data, target = load_boston(return_X_y=True)
print(data.shape)
print(target.shape)

输出结果:

 

(506, 13)
(506,)

 

 

【鸢尾花数据集】

 

鸢尾花数据集采集的是鸢尾花的测量数据以及其所属的类别。

测量数据包括:萼片长度、萼片宽度、花瓣长度、花瓣宽度。

类别共分为三类:Iris Setosa, Iris Versicolour,Iris Virginica。该数据集可用于多分类问题。

 

 

----鸢尾花部数据集分数据示例----

 

 

 

 

 

使用sklearn.datasetsload_iris即可加载相关数据集

其参数有:

 

  • return_X_y:若为True,则以(data, target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target)。

 

 

鸢尾花数据集-加载示例

 

from sklearn.datasets import load_iris

iris = 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 plt

digits = 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机器学习应用》课程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值