1、sklearn数据集

1.1 数据集划分

机器学习一般的数据集会划分为两个部分
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用来评估模型是否有效

1.1.1 sklearn数据集划分API

sklearn.model_selection.train_test_split

功能

将数组或矩阵拆分为随机的训练子集和测试子集 。

输入和输出

输入:

1、arrays: 具有相同长度的可索引序列,x-y的映射(sequence of indexables with same length / shape[0])2、test_size(optional):float,int,or None(default=None)A:如果为float,则应介于0.0和1.0之间,并表示要包含在测试拆分中的数据集的比例。B:如果是int,则表示测试样本的绝对数量C:如果为None,则将该值设置为train_size的补码。如果train_size也是None,则将其设置为0.253、train_size:float,int,or None,(default=None)A:如果为float,则应介于0.0和1.0之间,并表示要包含在列车拆分中的数据集的比例。B:如果是int,则表示测试集大小的绝对数量。C:如果为None,则该值自动设置为test_size 的补码。4、random_state (optional) : int, RandomState instance or None, (default=None)A:如果是int,则random_state是随机数生成器使用的种子。B:如果是RandomState instance,则random_state是随机数生成器。C:如果为None,则随机数生成器是由其使用的RandomState实例np.random。5、shuffle(optional):bool类型,(default=True)是否在拆分之前对数据打乱。如果shuffle = False,则stratify必须为None。6、stratify : array-like or None (default=None)如果不是None,则数据以分层方式拆分,使用此作为类标签。

输出:

1、splitting : list类型, length=2 * len(arrays)
包含划分好的训练子集和测试子集的列表。

示例:

# -*- coding: UTF-8 -*-import numpy as np
from sklearn.model_selection import train_test_split# train_test_split 字面含义是"训练数据"和"测试数据"的切分"""
X:当成特征值,为5行3列的值
y:当成目标值,为1行5列的一维数组
"""
X, y = np.arange(15).reshape((5,3)), range(5)
print(X)
print(list(y))
"""
上面的运行结果为:
[[ 0  1  2][ 3  4  5][ 6  7  8][ 9 10 11][12 13 14]]
[0, 1, 2, 3, 4]
"""# 划分训练集合测试集(shuffle=default=True)
#下面test_size=0.33表示测试集占33%
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.33,random_state=42)print("X_train特征值中的训练集数据:")
print(X_train)print("y_train 目标值中的训练集数据:")
print(y_train)print("X_test:测试集中的特征值:")
print(X_test)print("y_test:测试集中的目标值:")
print(y_test)# shuffle=False的划分方式,为True的时候,表示将会打乱数据
print("y:")
print(y)
print("train_test_split(y,shuffle=False):")
print(train_test_split(y,shuffle=False))
print("train_test_split(y,shuffle=True):")
print(train_test_split(y,shuffle=True))

输出结果:

[[ 0  1  2][ 3  4  5][ 6  7  8][ 9 10 11][12 13 14]]
[0, 1, 2, 3, 4]
X_train特征值中的训练集数据:
[[ 6  7  8][ 0  1  2][ 9 10 11]]
y_train 目标值中的训练集数据:
[2, 0, 3]
X_test:测试集中的特征值:
[[ 3  4  5][12 13 14]]
y_test:测试集中的目标值:
[1, 4]
y:
range(0, 5)
train_test_split(y,shuffle=False):
[[0, 1, 2], [3, 4]]
train_test_split(y,shuffle=True):
[[0, 4, 3], [1, 2]]

1.2 sklearn数据集接口API介绍

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

获取数据集返回的类型:

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

1.3 sklearn分类数据集

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

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

案例:

from sklearn.datasets import load_iris,fetch_20newsgroups,load_boston
from sklearn.model_selection import train_test_splitli = load_iris()
print("获取特征值:")
print(li.data)
print("目标值:")
print(li.target)#数据集的描述
# print(li.DESCR)#注意返回值, 训练集 train  x_train, y_train        测试集  test   x_test, y_test
x_train, x_test, y_train, y_test = train_test_split(li.data, li.target, test_size=0.25)print("训练集里的特征值和目标值:", x_train, y_train)
print("测试集里的特征值和目标值:", x_test,y_test)

输出结果:

获取特征值:
[[5.1 3.5 1.4 0.2][4.9 3.  1.4 0.2][4.7 3.2 1.3 0.2]......[6.3 2.5 5.  1.9][6.5 3.  5.2 2. ][6.2 3.4 5.4 2.3][5.9 3.  5.1 1.8]]
目标值:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2]
训练集里的特征值和目标值: [[5.  3.6 1.4 0.2][5.1 3.3 1.7 0.5][5.6 3.  4.5 1.5][5.  3.4 1.6 0.4][6.  2.7 5.1 1.6]
......[5.  2.  3.5 1. ][6.9 3.1 4.9 1.5][7.1 3.  5.9 2.1][6.7 3.1 4.7 1.5][4.6 3.4 1.4 0.3][6.3 2.7 4.9 1.8]] [0 0 1 0 1 2 1 0 1 0 2 2 1 2 2 0 0 2 0 2 0 0 1 2 0 0 0 1 1 1 2 0 0 2 0 2 21 0 0 2 2 0 0 1 1 2 1 2 2 1 1 0 2 0 1 2 1 2 0 2 1 2 1 2 0 0 1 2 0 1 1 2 10 1 1 2 1 2 2 2 0 0 1 2 2 0 1 1 1 0 2 2 1 1 0 1 0 1 0 0 0 0 2 2 1 1 2 1 02]
测试集里的特征值和目标值: [[5.  3.5 1.3 0.3][6.1 2.6 5.6 1.4][5.7 2.9 4.2 1.3][6.5 3.  5.2 2. ][5.2 3.4 1.4 0.2]......[6.7 3.3 5.7 2.1][5.2 4.1 1.5 0.1][6.7 2.5 5.8 1.8][7.3 2.9 6.3 1.8]] [0 2 1 2 0 1 1 1 2 0 2 2 0 1 0 2 2 0 1 0 1 1 0 0 2 2 0 1 0 1 1 1 2 1 2 0 2 2]

用于分类的大数据集

sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)1、subset: 'train'或者'test','all',可选,选择要加载的数据集.训练集的“训练”,测试集的“测试”,两者的“全部”datasets.clear_data_home(data_home=None)清除目录下的数据

案例:

from sklearn.datasets import fetch_20newsgroups,load_boston
from sklearn.model_selection import train_test_splitnews = fetch_20newsgroups(subset='all')print("-----------news.data:----------------")
print(news.data)
print("-----------news.target:--------------")
print(news.target)

1.4 sklearn回归数据集

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

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

from sklearn.datasets import fetch_20newsgroups,load_boston
from sklearn.model_selection import train_test_splitlb = load_boston()
print("load_boston获取特征值:")
print(lb.data)
print("load_boston目标值")
print(lb.target)
# print(lb.DESCR)

2、转换器与预估器

想一下之前做的特征工程的步骤?
1、实例化 (实例化的是一个转换器类(Transformer))
2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)

2.1、sklearn机器学习算法的实现–估计器

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

1、用于分类的估计器:A:sklearn.neighbors                                K-近邻算法B:sklearn.naive_bayes                              贝叶斯C:sklearn.linear_model.LogisticRegression          逻辑回归2、用于回归的估计器:A:sklearn.linear_model.LinearRegression            线性回归B:sklearn.linear_model.Ridge                       岭回归

2.2、估计器的工作流程

08_sklearn数据集,数据集划分train_test_split,sklearn.datasets及其api,sklearn分类数据集,sklearn回归数据集,转换器与预估器相关推荐

  1. 机器学习基础、sklearn数据集、转换器与预估器

    机器学习基础 机器学习开发流程 机器学习算法分类 机器学习模型是什么 需要明确几点问题: 算法是核心,数据和计算是基础 找准定位 大部分复杂模型的算法设计都是算法工程师在做,而我只是一个调包侠 分析很 ...

  2. 20191203—— 机器学习复习 sklearn转换器与预估器

    转换器 特征工程的父类 实例化的是一个转换器类 Transformer 调用fit_transform 那么fit 与 transform到底都在干什么呢 以标准化为例 (x-mean)/std fi ...

  3. 数据集的划分,验证集参与训练了吗?

    数据集的划分,验证集参与训练了吗? 文章目录 数据集的划分,验证集参与训练了吗? 前言 一.验证集怎么用? 验证集参与训练了吗? 二.为什么需要测试集? 三.数据集的划分比例 前言 在周志华老师的&l ...

  4. sklearn.datasets数据集和下载网站

    sklearn.datasets包包含的数据集有: load_boston:波士顿数据集 load_iris :鸢尾花数据集 load_diabetes :糖尿病数据集 load_digits :数字 ...

  5. 【菜菜的sklearn课堂笔记】决策树-分类树

    视频作者:菜菜TsaiTsai 链接:[技术干货]菜菜的机器学习sklearn[全85集]Python进阶_哔哩哔哩_bilibili 关键概念:节点 根节点:没有进边,有出边.包含最初的,针对特征的 ...

  6. 【Python学习】 - sklearn学习 - 自带数据集sklearn.datasets.x

    sklearn 的数据集有好多个种 自带的小数据集(packaged dataset):sklearn.datasets.load_ 可在线下载的数据集(Downloaded Dataset):skl ...

  7. 机器学习 - [源码实现决策树小专题]决策树中子数据集的划分(不允许调用sklearn等库的源代码实现)

    决策树算法中子数据集的划分 推荐: 本文中的代码另外有采用了TypeScript/JavaScript进行实现的版本.作者关注到,谷歌TensorFlow团队近几年在JavaScript语言上动作频频 ...

  8. sklearn实现决策树,随机森林,逻辑回归,KNN,贝叶斯,SVM,以葡萄干数据集为例

    数据集介绍 本次使用的数据集为葡萄干数据集,来源于UCI中: https://archive.ics.uci.edu/ml/datasets/Raisin+Dataset 介绍为: Images of ...

  9. 十折交叉验证pythoniris_数据集的划分——交叉验证法

    本文作者:王 歌 文字编辑:戴 雯 技术总编:张 邯Python云端培训课程火热招生中~重大通知!!!爬虫俱乐部于2020年7月11日至14日在线上举行为期四天的Stata编程技术定制培训,招生工作已 ...

最新文章

  1. 剑指offer:矩形覆盖
  2. 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
  3. 【LaTeX】E喵的LaTeX新手入门教程(6)中文
  4. 【ubuntu-anaconda-dlib】undefined symbol: _ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESa
  5. matlab漂亮图表,漂亮,美观的图表之Matlab强势回归~~~~走你8
  6. 解读Mybatis数据库开发框架
  7. 【飞鸽传书】飞鸽传书2011绿色版
  8. POJ 2184 Cow Exhibition
  9. MyBatis中resultType返回值类型介绍
  10. kubernetes管理mysql_kubernetes云平台管理实战:tomcat + mysql(十二)
  11. 浅层分析-shallow parsing
  12. 我的WCF之旅(13):创建基于MSMQ的Responsive Service(转载)
  13. 学生信息管理系统——C语言版
  14. 液晶显示器面板型号速查[转贴]
  15. 华硕笔记本触摸板使用热键无法关闭打开
  16. Android waitting for debugger
  17. STL 源码分析: RB_tree 红黑树(三) 插入和查找
  18. 怎么把打开方式还原计算机程序,怎么把一个DAT用打开方式变成其他格式再还原成DAT文件...
  19. 2019年 -- 最新前端面试题攻略
  20. MySQL实战——表、索引创建与优化

热门文章

  1. linux系统添加网卡驱动,Linux 2.6.35内核配置和网卡驱动添加
  2. (第一课)Python学习之蟒蛇绘制
  3. boost::qvm::deduce_vec相关的测试程序
  4. boost::hana::maybe用法的测试程序
  5. boost::hana::eval_if用法的测试程序
  6. boost::strong_components用法的测试程序
  7. boost::gil::threshold_truncate用法的测试程序
  8. boost::geometry::dot_product用法的测试程序
  9. GDCM:衍生系列DeriveSeries的测试程序
  10. boost::contract模块实现push button的测试程序