机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)

什么是机器学习?

通常,一个机器学习问题考虑一个包括 nnn 个样本的数据集,试图根据该数据集预测未知数据的某些属性。如果每个样本的维度高于1,那么每一个维度称为属性或特征。机器学习可以分成有监督学习(supervised learning)和无监督学习(unsupervised learning)两大类。其中,

  • 有监督学习 数据带有额外的属性,这些额外属性正是我们想预测的。典型的有监督学习包括:

    • 分类(classification): 已知样本属于两个或多个类,我们想从标签已知的数据中预测标签未知的数据所属的类别。举一个分类问题的例子,手写数字的识别。在本例中,我们要把每一个输入向量分配到有限数量的离散类之一。

    • 回归(regression): 如果想要的输出由一个或多个连续变量组成,那么这个任务被称作回归。举一个回归问题的例子,根据一个大马哈鱼的年龄和重量,预测它的长度。

  • 无监督学习 训练数据由一个输入向量集组成,目标可能是发现相似的数据例子组,称为聚类(clustering);也可能是确定输入空间的数据分布,称为密度估计(density estimation);或者出于数据可视化的目的,将来自高维空间的数据投射到低维空间上去。

训练集和检验集

简言之,机器学习是学习一个数据集的属性,然后将这些属性应用到新的数据上。因此,在评价一个算法优劣性的机器学习里,普遍的操作是:将数据集分割为两个子集,在一个子集上学习属性,称为训练集;在另一个子集上检验这些属性,称为检验集。

加载一个例子数据集

scikit-learn自带几个标准数据集。例如,用于分类的iris, digits数据集,和用于回归的波士顿房价数据集。下面,我们从shell启动python解释器,练习加载iris, digits数据集。

python环境里的数据集是一个类似字典型的对象,包括全部数据和描述数据属性的元数据(metadata), 数据存储在对象的.data成员里,实际上是一个包括样本和特征的数组。在有监督问题里,一个或多个xiangxiang响应变量被存储在.target成员里。例如,在上面加载的digits数据集,digits.data 可以访问用于分类digits样本的的特征。

from sklearn import datasets
iris = datasets.load_iris()
digits = datasets.load_digits()
print(digits.data)

digits.target则给出了正确分类的digits数据集,即,对应每一个数字图像的正确数字。

print(digits.target)

数据总是以一个二维数组的形式组织,通常,行代表样本,列代表特征。在digits数据集里,每一个原始样本是一个形如(8, 8)的数组。例如,访问代表数字0的图像

print(digits.images[0])

加载外部数据集

scikit-learn将任何数值型数据存储为numpy数组或scipy稀疏矩阵。其它可以转换为numpy数组的类型也可以。下面介绍几种推荐的数据加载方式:

  • pandas.io提供了一组工具,利用它们读取包括CSV, Excel, JSON, SQL等常见格式的数据集。pandas很适合处理不同类型的数据,并且能够把这些数据转为适合的数值数组。

  • scipy.io专门处理在科学计算中常用的二进制形式,例如,.mat, .arff

  • numpy/routines.io是列形数据进入numpy数组的标准加载形式。

  • scikit-learndatasets.load_files函数作为文本文件的字典加载形式。在这种加载形式,每一个字典名是每一个类的名,而字典里的每一个文件则对应来自该类的一个样本。

**提示:**如果你管理自己的数值型数据,我们推荐使用一个优化过的文件格式,例如,HDF5, 这样可以减少数据加载时间。当你加载的外部数据很大时,这种方式尤其有用。不同的python库,例如,H5Py, PyTables, pandas都提供读写HDF5格式的数据的接口。

精彩内容,请关注微信公众号:统计学习与大数据

【sklearn第二讲】基于sklearn的机器学习相关推荐

  1. Python小白机器学习教程:Sklearn精讲

    点击"简说Python",选择"置顶/星标公众号" 福利干货,第一时间送达! 本文授权转载自王的机器 禁二次转载 作者:王圣元 阅读文本大概需要 60 分钟 老 ...

  2. 基于sklearn的机器学习实战

    本文目录如下: LinearRegression 线性回归入门 数据生成 定义模型 模型测试与比较 多项式回归 具体实现 LogisticRegression 算法思想简述 算法实现 Decision ...

  3. ML之分类预测:基于sklearn库的七八种机器学习算法利用糖尿病(diabetes)数据集(8→1)实现二分类预测

    ML之分类预测:基于sklearn库的七八种机器学习算法利用糖尿病(diabetes)数据集(8→1)实现二分类预测 目录 输出结果 数据集展示 输出结果 1.k-NN 2.LoR 4.DT 5.RF ...

  4. 机器学习(一) 基于sklearn库的数据集划分(交叉验证)

    机器学习中首要环节就是数据集的处理,其中数据集的处理从个人理解(如有错误敬请谅解)的角度来说包括两个方面:数据集划分和数据清理.其中数据集划分是指训练集.验证集和测试集的数据类别划分:数据清理是指数据 ...

  5. 基于sklearn的朴素贝叶斯_朴素贝叶斯分类实战:对文档进行分类

    朴素贝叶斯分类最适合的场景就是文本分类.情感分析和垃圾邮件识别.其中情感分析和垃圾邮件识别都是通过文本来进行判断.所以朴素贝叶斯也常用于自然语言处理 NLP 的工具. sklearn 机器学习包 sk ...

  6. python分类算法的应用_Python基于sklearn库的分类算法简单应用示例

    Python基于sklearn库的分类算法简单应用示例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python基于sklearn库的分类算法简单应用示例.tx ...

  7. sklearn保存svm分类模型_机器学习100天-Day1601线性支持向量机分类

    说明:本文依据<Sklearn 与 TensorFlow 机器学习实用指南>完成,所有版权和解释权均归作者和翻译成员所有,我只是搬运和做注解. 第五章是对支持向量机SVM的系统介绍,阐述支 ...

  8. 【ML】决策树(Decision tree)原理 + 实践 (基于sklearn)

    [ML]决策树(Decision tree)原理 + 实践 (基于sklearn) 原理介绍 简要介绍 原理 得分函数(信息熵) 实战 数据集 数据处理 训练 预测+评估 绘制决策树 原理介绍 简要介 ...

  9. 深度学习经典应用——鸢尾花分类(基于sklearn包)+三维成果可视化

    文章目录 任务描述 数据集 Step1. 数据准备 Step2. 模型搭建 Step3.模型训练 Step4. 模型评估 Step5. 模型使用 3D可视化模型 任务描述 构建一个模型,根据鸢尾花的花 ...

  10. 第十九课.基于sklearn的SVM人脸识别

    目录 数据集 确定人脸的类别标记 划分训练集和测试集与训练 实验为基于sklearn的SVM人脸识别,使用 SVM 算法对戴眼镜的人脸和不戴眼镜的人脸进行分类,从而完成 识别戴眼镜的人脸 的任务:实验 ...

最新文章

  1. 他是阿里中台之父,从一线员工做到CTO:有商业意识的技术人,才有未来!
  2. Gut:刘星吟/王益超/曹爱华等揭示孤独症患儿肠道菌群发育轨迹图谱(赵方庆点评)...
  3. 城市大脑全球标准研究3:如何理解城市大脑中的“大脑”?
  4. windows下codelite的使用
  5. 什么是清华大学的“三好”学生?
  6. centos 安装VSFTP
  7. foreach对集合的输出作用
  8. java中比较两个日期的大小
  9. Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un
  10. git回滚到之前代码
  11. 水墨流动生太极,四式''拳诀''展存储
  12. linux fb设备驱动,linux设备驱动归纳总结(八):1.总线、设备和驱动
  13. r52500u学计算机,AMD锐龙R5 2500U性能评测 性能提升幅度让Intel八代酷睿汗颜
  14. 计算机上平方米的单位,word怎么写平方米 word中平方米的单位怎么打
  15. centos7 silk转mp3 wav
  16. 房产管理系统CAD图形管理应用有哪些?
  17. 魔兽服务器优化,官方:游戏环境优化方案启动 新服务器开放
  18. 计算机网络CPT实验
  19. Winform发布wss
  20. 基于matlab的吉布斯效应研究,MATLAB设计题目综述.doc

热门文章

  1. 多记,多问为什么,最古老的学习方法怎么能丢?!
  2. of python检索文献 science web_查SCI文献,不知道检索方法怎么行!
  3. python3 鼠标定位输入及其点击实例
  4. VRRP实现AC双机备份原理详解与配置实例
  5. Zurmo - - 国际化(翻译)
  6. hdu - 5033 - Building(单调栈)
  7. MySQL高可用性分析
  8. SBCL 使用中文时的错误记录 --close 问题已经解决
  9. 中国未来5年IP地址需求总量高达345亿
  10. 从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响(二)