博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之sklearn- 分类算法-2.1 数据集介绍与划分
阅读量:4202 次
发布时间:2019-05-26

本文共 2138 字,大约阅读时间需要 7 分钟。

一,sklearn数据集介绍

1,api
  • sklearn.datasets
    • 加载获取流行数据集
    • datasets.load_*()
      • 获取小规模数据集,数据包含在datasets里
    • datasets.fetch_*(data_home=None)
      • 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/
2,返回类型
  • load 和 fetch 返回的数据类型datasets.base.Bunch(字典格式)
    • data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
    • target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
    • DESCR:数据描述
    • feature_names:特征名,新闻数据,手写数字、回归数据集没有
    • target_names:标签名
3,分类、回归数据集实例
from sklearn.datasets import load_iris,load_boston,fetch_20newsgroups# 1,分类数据集# lr = load_iris()# print("特征值",lr.data)# print("目标值",lr.target)# print(lr.feature_names)# print(lr.target_names)# print(lr.DESCR)# 2,回归数据集# lb = load_boston()# print("特征值",lb.data)# print("目标值",lb.target)# print(lb.feature_names)# 3,数据量比较大的数据集# subset: 'train'或者'test','all',可选,选择要加载的数据集.训练集的“训练”,# 测试集的“测试”,两者的“全部”news = fetch_20newsgroups(subset='all')print("特征值",news.data)print("目标值",news.target)---------------------------------------------------------------Downloading 20news dataset. This may take a few minutes.Downloading dataset from https://ndownloader.figshare.com/files/5975967 (14 MB)

二, 数据集的划分

1,数据集的划分

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

  • 训练数据:用于训练,构建模型
  • 测试数据:在模型检验时使用,用于评估模型是否有效

划分比例:

  • 训练集:70% 80% 75%
  • 测试集:30% 20% 30%
2,API
  • sklearn.model_selection.train_test_split(arrays, *options)
    • x 数据集的特征值
    • y 数据集的标签值
    • test_size 测试集的大小,一般为float
    • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
    • return ,测试集特征训练集特征值值,训练标签,测试标签(默认随机取)
3,实例
from sklearn.datasets import load_iris,load_boston,fetch_20newsgroupsfrom sklearn.model_selection import train_test_split# 1,分类数据集lr = load_iris()# print("特征值",lr.data)# print("目标值",lr.target)# print(lr.feature_names)# print(lr.target_names)# print(lr.DESCR)# 2,回归数据集# lb = load_boston()# print("特征值",lb.data)# print("目标值",lb.target)# print(lb.feature_names)# 3,数据量比较大的数据集# news = fetch_20newsgroups(subset='all')# print("特征值",news.data)# print("目标值",news.target)# 4,进行数据集的训练集和测试集划分# 返回值有4个部分接受# x,y特征值、目标值,train、test训练集和测试集# x_train,x_test,y_train,y_testx_train,x_test,y_train,y_test = train_test_split(lr.data,lr.target,test_size=0.3)print("训练集的特征值和目标值:",x_train,y_train)print("测试机的特征值和目标值:",x_test,y_test)

转载地址:http://osili.baihongyu.com/

你可能感兴趣的文章
Net远程管理实验
查看>>
反病毒专家谈虚拟机技术 面临两大技术难题
查看>>
几种典型的反病毒技术:特征码技术、覆盖法技术等
查看>>
性能测试一般过程与LR性能测试过程
查看>>
Software Security Testing软件安全测试
查看>>
SQL注入漏洞全接触--进阶篇
查看>>
SQL注入漏洞全接触--高级篇
查看>>
SQL注入法攻击一日通
查看>>
菜鸟入门级:SQL注入攻击
查看>>
用vbs来写sql注入等80端口的攻击脚本
查看>>
C# 检查字符串,防SQL注入攻击
查看>>
关于对SQL注入80004005 及其它错误消息分析
查看>>
即时通软件性能测试(与宴宾的对话)
查看>>
应用软件性能测试的艺术(翻译)——序
查看>>
高级性能测试(翻译)
查看>>
Web安全测试解决方案
查看>>
今天开始上班
查看>>
开源测试研究方案泡汤了
查看>>
晒一下我培训的课程——应用系统性能测试规划、实施与分析
查看>>
自动化测试框架之控制界面的关键
查看>>