sklearn数据集与估计器

                             sklearn数据集与估计器

1 sklearn数据集

(1)数据来源:大多数以文件的形式  (csv文件..), 因为mysql有性能瓶颈、读取速度遭到限制,数据大的时候很费时间

(2)读取数据的工具:Python中很强大的模块 pandas:读取工具、numpy(数据计算模块,计算速度非常快,因为释放了Python中的GIL)

(3)可用数据集:

①Kaggle网址:https://www.kaggle.com/datasets

           Kaggle特点:大数据竞赛平台;80万科学家;真实数据;数据量巨大

②UCI数据集网址: http://archive.ics.uci.edu/ml/

           UCI特点:收录了360个数据集;覆盖科学、生活、经济等领域 ;数据量几十万

③scikit-learn网址:http://scikit-learn.org/stable/datasets/index.html#datasets

           scikit-learn特点:1数据量较小 ;方便学习

(4)数据集的结构

机器学习中数据集的结构:特征值+目标值

特征值:就是DataFrame(他的特点是有行索引和列索引)中的列索引

目标值:很据特征值得到的结果值,就为目标值,就是想要做的事情的目的的分类

样本:每一行数据可以作为一个样本

2 sklearn.datasets

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

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

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

一般在进行模型的测试时,我们会将数据分为训练集和测试集。在给定的样本空间中,拿出大部分样本作为训练集来训练模型,剩余的小部分样本使用刚建立的模型进行预测。

sklearn数据集划分API:sklearn.model_selection.train_test_split

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

datasets.load_*() 获取小规模数据集,数据包含在datasets里

datasets.fetch_*(data_home=None) 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集     下载的目录

datasets.make_*()本地生成数据集

datasets.get_data_home()获取数据集目录,这个文件夹被一些大的数据集装载器使用,以避免下载数据。默认情况下,数据目录设置为用户主文件夹中名为“scikit_learn_data”的文件夹。或者,可以通过“SCIKIT_LEARN_DATA”环境变量或通过给出显式的文件夹路径以编程方式设置它。

clear_data_home(data_home=None)删除所有下载数据

load*和fetch*返回的数据类型datasets.base.Bunch(字典格式)如下:

data特征数据数组,是 [n_samples * n_features] 的二维numpy.ndarray 数组
target标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR数据描述
feature_names特征名,新闻数据,手写数字、回归数据集没有
target_names标签名,回归数据集没有

 

2.1 获取小数据集

(1)分类数据集

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

名称数量
类别3
特征4
样本数量150
每个类别数量50

参数:return_X_y: 如果为True,则返回而不是Bunch对象,默认为False

返回值Bunch对象,如果return_X_y为True,那么返回tuple,(data,target)

from sklearn.datasets import load_iris
ld = load_iris()
print(ld)

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

名称数量
类别10
特征64
样本数量1797

(2)回归数据集

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

名称数量
目标类别5-50
特征13
样本数量506

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

名称数量
目标范围25-346
特征10
样本数量442

2.2 获取大数据集

sklearn.datasets.fetch_20newsgroups():加载20个新闻组数据集中的文件名和数据

data_home

默认值:无,指定数据集的下载和缓存文件夹。如果没有,所有scikit学习数据都存储在'〜/ scikit_learn_data'子文件夹中
subset'train'或者'test','all',可选,选择要加载的数据集:训练集的“训练”,测试集的“测试”,两者的“全部”,具有洗牌顺序
categories无或字符串或Unicode的集合,如果没有(默认),加载所有类别。如果不是无,要加载的类别名称列表(忽略其他类别)
shuffle是否对数据进行洗牌
random_statenumpy随机数生成器或种子整数
remove元组
download_if_missing默认为True,如果False,如果数据不在本地可用而不是尝试从源站点下载数据,则引发IOError

sklearn.datasets.fetch_20newsgroups_vectorized():加载20个新闻组数据集并将其转换为tf-idf向量

2.3 生成本地数据

sklearn.datasets.make_classification():生成本地分类数据

n_samples:int

(default = 100),样本数量
n_features(默认= 20),特征总数
n_classes类(或标签)的分类问题的数量
random_stateRandomState实例或无,可选(默认=无)

sklearn.datasets.make_regression():生成本地回归数据

3 估计器

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

在估计器中有有两个重要的方法是fit和transform:①fit方法用于从训练集中学习模型参数,②transform用学习到的参数转换数据。

用于分类的估计器:

sklearn.neighbors    k-近邻算法

sklearn.naive_bayes      贝叶

sklearn.linear_model.LogisticRegression     逻辑回归

用于回归的估计器:

sklearn.linear_model.LinearRegression     线性回归

sklearn.linear_model.Ridge      岭回归

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 935. 骑士拨号器(动态规划)

文章目录1. 题目2. 解题1. 题目 国际象棋中的骑士可以按下图所示进行移动: 这一次,我们将 “骑士” 放在电话拨号盘的任意数字键(如上图所示)上, 接下来,骑士将会跳 N-1 步。每一步必须是从一个数字键跳到…

k近邻算法(KNN)-分类算法

k近邻算法(KNN)-分类算法 1 概念 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 k-近邻算法采用测量不同特征值之间的距离来进行分类。 2 优缺点 优点:简单&a…

LeetCode 822. 翻转卡片游戏(哈希)

文章目录1. 题目2. 解题1. 题目 在桌子上有 N 张卡片,每张卡片的正面和背面都写着一个正数(正面与背面上的数有可能不一样)。 我们可以先翻转任意张卡片,然后选择其中一张卡片。 如果选中的那张卡片背面的数字 X 与任意一张卡片…

朴素贝叶斯算法-分类算法

朴素贝叶斯算法-分类算法 1 概率基础 概率定义为一件事情发生的可能性 联合概率:包含多个条件,且所有条件同时成立的概率,记作P(A,B) 条件概率:事件A在另一个事件B已经发生条件下的发送概率,记作P(A|B) 在A1,A2相…

django简介及环境搭建

MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容 M全拼为Model,主要封装对数据库层的访问,内嵌ORM框架,实现面向对象的编程来操作数据…

LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符。 请你返回让 s 成为回文串的 最少操作次数 。 「回文串」是正读和反读都相同的字符串。 示例 1: 输入:s "zzazz" 输出&…

Django创建项目

创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目 cd /home/Desktop/ mkdir pytest cd pytest 创建项目的命令如下: django-admin startproject test1 项目默认目录说明 进入test1目录,查看…

分类模型的评估

分类模型的评估 在许多实际问题中,衡量分类器任务的成功程度是通过固定的性能指标来获取。一般最常见使用的是准确率,即预测结果正确的百分比,方法为estimator.score() 1 混淆矩阵 有时候,我们关注的是样本是否被正确诊断出来。…

LeetCode 996. 正方形数组的数目(回溯+剪枝)

文章目录1. 题目2. 解题1. 题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。 返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i] ! A2[i]。 …

[Java]java反射随笔

类是面向对象的灵魂,一切事物都可以以类来抽象。 在java使用过程中,我们可能会经常用到一个反射的知识,只是别人都封装好的,如jdbc的加载驱动类有一句Class.for(“…jdbc…”).newInstance.当然框架也是离不开了反射,s…

模型的选择与调优

模型的选择与调优 1 交叉验证 1.1 交叉验证过程 交叉验证:为了让被评估的模型更加准确可信 交叉验证的意义:为了使一部分数据即当成验证集,也做过训练集,更加准确得出准确率,把最后的准确率取平均值。 注意&#…

Django创建图书管理项目(完整版

一、创建项目test1及应用booktest 创建应用booktest 二、安装应用 在test1/settings.py中INSTALLED_APPS下添加应用的名称就可以完成安装 初始项目的INSTALLED_APPS如下图: 在元组中添加一个新的项,当前示例为booktest booktest, 三、设计模型 1.定义模型…

05.序列模型 W3.序列模型和注意力机制

文章目录1. 基础模型2. 选择最可能的句子3. 集束搜索(Beam Search)4. 改进集束搜索5. 集束搜索的误差分析6. Bleu 得分7. 注意力模型直观理解8. 注意力模型9. 语音识别(Speech recognition)10. 触发字检测(Trigger Wor…

决策树-分类算法

决策树-分类算法 1 认识决策树 决策树是一种基本的分类方法,也可以用于回归。我们一般只讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的集合。在决策树…

在Visual Studio中利用NTVS创建Pomelo项目

刚看新闻,才知道微软发布了Node.js Tools for Visual Studio(NTVS),受够了WebStorm输入法Bug的困扰,这下终于可以解脱了。以Pomelo为例,运行命令:pomelo init pomelo_test,生成一个默…

LeetCode 834. 树中距离之和(树上DP)*

文章目录1. 题目2. 解题1. 题目 给定一个无向、连通的树。树中有 N 个标记为 0...N-1 的节点以及 N-1 条边 。 第 i 条边连接节点 edges[i][0] 和 edges[i][1] 。 返回一个表示节点 i 与其他所有节点距离之和的列表 ans。 示例 1: 输入: N 6, edges [[0,1],[0,2],[2,3],[…

随机森林-集成学习方法(分类)

随机森林-集成学习方法(分类) 1 集成学习方法 集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测…

05.序列模型 W3.序列模型和注意力机制(作业:机器翻译+触发词检测)

文章目录作业1:机器翻译1. 日期转换1.1 数据集2. 用注意力模型进行机器翻译2.1 注意力机制3. 可视化注意力作业2:触发词检测1. 数据合成:创建语音数据集1.1 听一下数据1.2 音频转频谱1.3 生成一个训练样本1.4 全部训练集1.5 开发集2. 模型2.1…

线性回归分析-回归算法

线性回归分析-回归算法 1 回归算法 机器学习中监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于目标是连续的,在指定区间内可以是任意一个数值,针对的是数值型的样本&#xff0…

拟合与岭回归

目录 拟合与岭回归 1 什么是过拟合与欠拟合 2 模型复杂度 3 鉴别欠拟合与过拟合 4 过拟合解决方法 5 岭回归(Ridge) 6 模型的保存与加载 拟合与岭回归 1 什么是过拟合与欠拟合 通过下面两张图来解释过拟合和欠拟合: 左图中机器通过这…