机器学习——sklearn数据集与估计器

目录

数据集划分

sklearn数据获取

scikit-learn数据集API介绍

获取数据集返回的类型

sklearn分类数据集

鸢尾花(iris)数据集

手写数字数据集

20年新闻数据集——大数据集

sklearn回归数据集

波士顿房价数据集

糖尿病数据集

sklearn数据集划分API

转换器与预估器

转换器

估计器

用于分类的估计器

用于回归的估计器


数据集划分

机器学习一般的数据集会划分为两个部分:

训练数据:用于训练,构建模型——75%——构建模型

测试数据:在模型检验时使用,用于评估模型是否有效——25%——测试模型

sklearn数据获取

scikit-learn数据集API介绍

sklearn.datasets——加载获取流行数据集

  • datasets.load_*()
  • 获取小规模数据集,数据包含在datasets
  • datasets.fetch_*(data_home=None)
  • 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/

获取数据集返回的类型

  • load*fetch*返回的数据类型datasets.base.Bunch(字典格式)
  • data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
  • target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
  • DESCR:数据描述
  • feature_names:特征名,新闻数据,手写数字、回归数据集没有
  • target_names:标签名,回归数据集没有

 

sklearn分类数据集

鸢尾花(iris)数据集

sklearn.datasets.load_iris()——加载并返回鸢尾花数据集

数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iris-setosa, iris-versicolour, iris-virginica)中的哪一品种。

from sklearn.datasets import load_iris

lr = load_iris()

print('获取特征值')
print(lr.data)
print('目标值')
print(lr.target)
print(lr.DESCR)

手写数字数据集

sklearn.datasets.load_digits()——加载并返回数字数据集

手写数字数据集包括1797个0-9的手写数字数据,每个数字由8*8大小的矩阵构成,矩阵中值的范围是0-16,代表颜色的深度。

20年新闻数据集——大数据集

sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’) 

subset: 'train'或者'test','all',可选,选择要加载的数据集.训练集的“训练”,测试集的“测试”,两者的“全部”

datasets.clear_data_home(data_home=None)——清除目录下的数据​​​​​​​

sklearn回归数据集

波士顿房价数据集

sklearn.datasets.load_boston()——加载并返回波士顿房价数据集

糖尿病数据集

sklearn.datasets.load_diabetes()——加载和返回糖尿病数据集

sklearn数据集划分API

sklearn.model_selection.train_test_split(*arrays**options)

  •   数据集的特征值
  • y    数据集的标签值
  • test_size   测试集的大小,一般为float
  • random_state    随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
  • return  训练集特征值,测试集特征值,训练标签,测试标签(默认随机取
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
lr = load_iris()
x_train,x_test,y_train,y_test = train_test_split(lr.data,lr.target,test_size=0.25)
print('训练集的特征值和目标值',x_train,y_train)
print('测试集的特征值和目标值',x_test,y_test)

转换器与预估器

想一下之前做的特征工程的步骤?

1、实例化 (实例化的是一个转换器类(Transformer))

2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)

 机器学习——sklearn数据集与估计器_第1张图片 

转换器

实现特征工程API

fit_transform()——输入数据直接转换 == fit() + transform()

fit()——输入数据,但不做事情,计算平均值,方差等等

transform()——进行数据的转换

再次调用fit会改变转换标准

s2 = ss.fit([[1,2,3],[4,5,6]])
s2 = ss.transform([[1,2,3],[4,5,6]])
print(s2)
s2 = ss.fit([[3,7,8],[4,5,6]])
s2 = ss.transform([[1,2,3],[4,5,6]])
print(s2)
[[-1. -1. -1.]
 [ 1.  1.  1.]]
[[-5. -4. -4.]
 [ 1. -1. -1.]]

估计器

sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator是一类实现了算法的API

 机器学习——sklearn数据集与估计器_第2张图片 

用于分类的估计器

sklearn.neighbors  k-近邻算法

sklearn.naive_bayes      贝叶斯

sklearn.linear_model.LogisticRegression     逻辑回归

用于回归的估计器

sklearn.linear_model.LinearRegression     线性回归

sklearn.linear_model.Ridge      岭回归

你可能感兴趣的:(机器学习,机器学习)