1. 代码实战

#!/usr/bin/env python
#!_*_ coding:UTF-8 _*_

from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# 从内置训练数据集中加载房价数据
loaded_data = datasets.load_boston()
data_X = loaded_data.data
data_y = loaded_data.target

model = LinearRegression()
model.fit(data_X, data_y)

print model.predict(data_X[:4])
print data_y[:4]

X, y = datasets.make_regression(n_samples=100,
                                n_features=1,
                                n_targets=1,
                                noise=1)

plt.scatter(X, y)
plt.show()

结果:

[ 30.00821269  25.0298606   30.5702317   28.60814055]
[ 24.   21.6  34.7  33.4]

scikit-learn 的 datasets 模块包含测试数据相关函数,主要包括三类:

  • datasets.load_*():获取小规模数据集。数据包含在 datasets 里
  • datasets.fetch_*():获取大规模数据集。需要从网络上下载,函数的第一个参数是 data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/。要修改默认目录,可以修改环境变量SCIKIT_LEARN_DATA。数据集目录可以通过datasets.get_data_home()获取。clear_data_home(data_home=None)删除所有下载数据。
  • datasets.make_*():本地生成数据集。

数据集格式

  • tuple(X, y)
    本地生成数据函数 make_* 和 load_svmlight_* 返回的数据是 tuple(X, y) 格式
  • Bunch
    load_*和 fetch_* 函数返回的数据类型是 datasets.base.Bunch,本质上是一个 dict,它的键值对可用通过对象的属性方式访问。主要包含以下属性:

    • data:特征数据数组,是 n_samples * n_features 的二维 numpy.ndarray 数组
    • target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
    • DESCR:数据描述
    • feature_names:特征名
    • target_names:标签名

获取小数据集

  • load_boston():
    房屋特征-房价,用于regression
  • load_diabetes():
    糖尿病数据,用于 regression
  • load_linnerud():
    Linnerud数据集,有多个标签,用于 multilabel regression
  • load_iris():
    鸢尾花特征和类别,用于classification
  • load_digits([n_class]):
    手写数字识别
  • load_sample_images():
    载入图片数据集,共两张图
  • load_sample_image(name):
    载入图片数据集中的一张图
  • load_files(container_path, description=None, categories=None, load_content=True, shuffle=True, encoding=None, decode_error='strict', random_state=0):
    从本地目录获取文本数据,并根据二级目录做分类

获取大数据集

  • load_mlcomp(name_or_id, set_='raw', mlcomp_root=None, **kwargs):
    从 http://mlcomp.org/ 上下载数据集
  • fetch_california_housing(data_home=None, download_if_missing=True)
  • fetch_olivetti_faces(data_home=None, shuffle=False, random_state=0, download_if_missing=True):
    Olivetti 脸部图片数据集
  • fetch_lfw_people(data_home=None, funneled=True, resize=0.5, min_faces_per_person=0, color=False, slice_=(slice(70, 195, None), slice(78, 172, None)), download_if_missing=True):
  • fetch_lfw_pairs(subset='train', data_home=None, funneled=True, resize=0.5, color=False, slice_=(slice(70, 195, None), slice(78, 172, None)), download_if_missing=True):
    Labeled Faces in the Wild (LFW) 数据集,参考 LFW
  • fetch_20newsgroups(data_home=None, subset='train', categories=None, shuffle=True, random_state=42, remove=(), download_if_missing=True)
  • fetch_20newsgroups_vectorized(subset='train', remove=(), data_home=None):
    新闻分类数据集,数据集包含 ‘train’ 部分和 ‘test’ 部分。
  • fetch_rcv1(data_home=None, subset='all', download_if_missing=True, random_state=None, shuffle=False):
    路透社新闻语聊数据集
  • fetch_mldata(dataname, target_name='label', data_name='data', transpose_data=True, data_home=None):
    从 mldata.org 中下载数据集。参考 PASCAL network
  • mldata_filename(dataname):
    将 mldata 的数据集名转换为下载的数据文件名
  • fetch_covtype(data_home=None, download_if_missing=True, random_state=None, shuffle=False)
    Forest covertypes 数据集

本地生成数据

回归(regression)

  • make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0, effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False, random_state=None)
  • make_sparse_uncorrelated(n_samples=100, n_features=10, random_state=None)
  • make_friedman1(n_samples=100, n_features=10, noise=0.0, random_state=None)
  • make_friedman2(n_samples=100, noise=0.0, random_state=None)
  • make_friedman3(n_samples=100, noise=0.0, random_state=None)

分类(classification)

单标签

  • 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):
    生成 classification 数据集。包含所有的设置,可以包含噪声,偏斜的数据集
  • 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):
    生成 classification 数据集。数据服从高斯分布
    centers 可以是整数,表示中心点个数,或者用列表给出每个中心点的特征值
    cluster_std 可以是浮点数或浮点数列表
    random_state 可以是整数,表示随机起始 seed,或者 RandomState 对象,默认使用 np.random
  • make_gaussian_quantiles(mean=None, cov=1.0, n_samples=100, n_features=2, n_classes=3, shuffle=True, random_state=None):
  • make_hastie_10_2(n_samples=12000, random_state=None):
  • make_circles(n_samples=100, shuffle=True, noise=None, random_state=None, factor=0.8):
  • make_moons(n_samples=100, shuffle=True, noise=None, random_state=None):

    多标签

  • make_multilabel_classification(n_samples=100, n_features=20, n_classes=5, n_labels=2, length=50, allow_unlabeled=True, sparse=False, return_indicator='dense', return_distributions=False, random_state=None):
    生成 multilabel classification 数据集。

    双聚类(bicluster)

  • make_biclusters(shape, n_clusters, noise=0.0, minval=10, maxval=100, shuffle=True, random_state=None):
  • make_checkerboard(shape, n_clusters, noise=0.0, minval=10, maxval=100, shuffle=True, random_state=None):

流形学习(manifold learning)

  • make_s_curve(n_samples=100, noise=0.0, random_state=None)
  • make_swiss_roll(n_samples=100, noise=0.0, random_state=None)、

可降维(decomposition)数据

  • make_low_rank_matrix(n_samples=100, n_features=100, effective_rank=10, tail_strength=0.5, random_state=None)
  • make_sparse_coded_signal(n_samples, n_components, n_features, n_nonzero_coefs, random_state=None)
  • make_spd_matrix(n_dim, random_state=None)
  • make_sparse_spd_matrix(dim=1, alpha=0.95, norm_diag=False, smallest_coef=0.1, largest_coef=0.9, random_state=None)

处理 svmlight / libsvm 格式数据

提供 svmlight / libsvm 格式数据的导入或导出。

    • load_svmlight_file(f, n_features=None, dtype=numpy.float64, multilabel=False, zero_based='auto', query_id=False):
      返回 (X, y, [query_id]),其中 X 是 scipy.sparse matrix,y 是 numpy.ndarray
    • load_svmlight_files(files, n_features=None, dtype=numpy.float64, multilabel=False, zero_based='auto', query_id=False)
    • dump_svmlight_file(X, y, f, zero_based=True, comment=None, query_id=None, multilabel=False)

莫烦scikit-learn学习自修第四天【内置训练数据集】的更多相关文章

  1. AngularJS学习笔记(四)内置指令

    说说指令 不得不赞叹,指令是ng最为强大的功能之一,好吧,也可以去掉之一,是最强大的功能.ng内置了许多自定义的指令,这避免了我们自己去造轮子.同时,ng也提供了自定义指令的功能,可以让我们的页面元素 ...

  2. 【Python】Java程序员学习Python(四)— 内置方法和内置变量

    <假如爱有天意> 当天边那颗星出现,你可知我又开始想念,有多少爱恋只能遥遥相望,就像月光洒向海面,年少的我们曾以为,相爱的人就能到永远,当我们相信情到深处在一起,听不见风中的叹息,谁知道爱 ...

  3. Python基础学习参考(三):内置函数

    一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...

  4. 莫烦大大TensorFlow学习笔记(9)----可视化

      一.Matplotlib[结果可视化] #import os #os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' import tensorflow as tf i ...

  5. Python学习日记(六)——内置函数和文件操作(lambda)

    lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 == 1: name = 'prime' else: name = 'c ...

  6. Python学习day07 - Python进阶(1) 内置方法

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  7. [Python笔记]第四篇:内置函数

    本篇主要内容:内置函数 函数 参考:https://docs.python.org/3.5/library/functions.html 内置函数列表 一.数学运算类 abs(x)求绝对值 >& ...

  8. GO语言系列(四)- 内置函数、闭包与高级数据类型

    一.内置函数.递归函数.闭包 内置函数 1. close:主要用来关闭channel 2. len:用来求长度,比如string.array.slice.map.channel 3. new:用来分配 ...

  9. Python学习(五)函数 —— 内置函数 lambda filter map reduce

    Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.fil ...

随机推荐

  1. 1-tomcat简介

    一.tomcate的目录结构说明: 1.bin:存放服务器启动和关闭的命令文件.2.conf:存放服务器的配置信息文件3.lib:存放服务器自身需要的所有jar文件,也称为全局jar文件(只要部署在当 ...

  2. RabbitMQ基本概念和原理

    RabbitMQ基本概念和原理 1.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计. 2.Rabb ...

  3. a,b,c为3个整型变量,在不引入第四个变量的前提下写一个算法实现 a=b b=c c=a?(异或解决值互换问题)

    package com.Summer_0424.cn; /** * @author Summer * a,b,c为3个整型变量,在不引入第四个变量的前提下写一个算法实现 a=b b=c c=a? */ ...

  4. [MicroPython]TPYBoardv102超全DIY案例一览

    TPYBoardv102是一款比较成熟和经典的MicroPython开发板,不仅适用于学习实验还能应用于大型的工业级开发,是MicroPython入门和研发的不二之选.下面我们就扒开v102的“层层外 ...

  5. Burp Suite学习之Intruder的4种攻击模式

    burp suit的intruder攻击共有四种模式,如图所示,下面分别讲讲这四种模式的使用方法和场景. 一 .Sniper模式 Sniper模式使用一组payload集合,它一次只使用一个paylo ...

  6. 【php增删改查实例】第二十六节 - 个人详情页制作

    在一般的系统中,当用户点击头像的时候,就会跳转到对应的个人详情页,在这个页面,他可以查看和修改自己的个人信息,或者更换头像. 本案例中,个人详情页使用bootstrap框架. 首先,我们新建一个htm ...

  7. JavaEE学习之Spring Security3.x——模拟数据库实现用户,权限,资源的管理

    一.引言 因项目需要最近研究了下Spring Security3.x,并模拟数据库实现用户,权限,资源的管理. 二.准备 1.了解一些Spring MVC相关知识: 2.了解一些AOP相关知识: 3. ...

  8. 使用docker Registry快速搭建私有镜像仓库

    当我们执行docker pull xxx的时候,docker默认是从registry.docker.com这个地址上去查找我们所需要的镜像文件,然后执行下载操作.这类的镜像仓库就是docker默认的公 ...

  9. 最新版XCoder 的使用方法

    1.项目中,新建一个类库.名字随意,我取名:XCoder 2.右键 > 管理nuget程序包:搜索 XCode 并安装 3.在项目中新建:data.project.xml 的xml文件,并写入数 ...

  10. MiniProfiler安装使用心得

    MiniProfiler简介: MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序.可以对一个页面本身,及该页面通过直接引用.Aja ...