机器学习——无监督学习

2023-11-18

机器学习的分类

一般分为下面几种类别:

  • 监督学习( supervised Learning )

  • 无监督学习( Unsupervised Learning )

  • 强化学习( Reinforcement Learning,增强学习)

  • 半监督学习( Semi-supervised Learning )

  • 深度学习(Deep Learning)

Python Scikit-learn

. http: // scikit-learn.org/ stable/. Machine Leaning in Python

.一组简单有效的工具集

·依赖Python的NumPy ,SciPy和matplotlib库

·开源、可复用

Scikit-learn常用函数

sklearn库介绍

sklearn库

sklearn是scikit-learn的简称,是一个基于Python的第三方模块sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。

sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此在介绍sklearn的安装前,需要先安装这些依赖库。

Numpy库

Numpy ( Numerical Python的缩写)是一个开源的Python科学计算库。在Python中虽然提供了list容器和array模块,但这些结构并不适合于进行数值计算,因此需要借助于Numpy库创建常用的数据结构(如∶多维数组,矩阵等)以及进行常用的科学计算(如︰矩阵运算)。

Scipy库是sklearn库的基础,它是基于Numpy的一个集成了多种数学算法和丞数的Python模块。它的不同子模块有不同的应用,如︰积分、插值、优化和信号处理等。

matplotlib是基于Numpy的一套Python工具包,它提供了大量的数据绘图工具,主要用于绘制一些统计图形,将大量的数据转换成更加容易被接受的图表。(注意要先安装numpy再安装matplotlib库)

sklearn库的安装

安装顺序如下∶

1. Numpy库

2. Scipy库

3. matplotlib库

4. sklearn库

依赖库之Numpy的安装

访问Numpy的相关下载链接依据Python的具体版本下载对应的文件。

例如∶本课程使用的是Python3.5的64位版,则下载win_amd64.whl文件。

依赖库之Numpy的安装

找到下载的文件的路径,打开windows的DOS命令行窗口,执行如下命令∶

依赖库之Scipy的安装

访scipy的相关下载链接依据Python的具体版本下载对应的文件。同样这里需要下载右侧红框中*win_amd64.whl文件。

找到下载的文件的路径,打开windows的DOS命令行窗口,使用如下命令∶

依赖库之matplotlib的安装

访问matplotlib的相关下载链接

依据Python的具体版本下载对应的文件。下载红框中对应的win_amd64.whl文件。

找到下载的文件的路径,打开windows的DOS命令行窗口,使用如下命令∶

sklearn库的安装

访问sklearn的相关下载链接找到对应的安装文件

同样这里需要下载右侧红框中对应的win_amd64.whl文件。

下载地址: https://pypi.python.org/pypi/scikit-learn/0.18.1

找到下载的文件的路径,打开windows的DOS命令行窗口,使用如下命令∶

测试

sklearn库中的标准数据集及基本功能

数据集总览
sklearn库的基本功能

sklearn库的共分为6大部分,分别用于完成分类任务、回归任务聚类任务、降维任务、模型选择以及数据的预处理。

分类任务
回归任务
聚类任务
降维任务

无监督学习

利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习

有监督学习和无监督学习的最大区别在于数据是否有标签

无监督学习最常应用的场景是聚类(clustering)和降维(DimensionReduction)

聚类

聚类(clustering),就是根据数据的“相似性”将数据分为多类的过程。

评估两个不同样本之间的“相似性”,通常使用的方法就是计算两个样本之间的“距离”。

使用不同的方法计算样本间的距离会关系到聚类结果的好坏。

sklearn.cluster
降维

降维,就是在保证数据所具有的代表性特性或者分布的情况下,将高维数据转化为低维数据的过程∶

数据的可视化精简数据

聚类vs降维

聚类和降维都是无监督学习的典型任务,任务之间存在关联,比如某些高维数据的聚类可以通过降维处理更好的获得,另外学界研究也表明代表性的聚类算法如k-means与降维算法如NMF之间存在等价性

sklearn vs降维

降维是机器学习领域的一个重要研究内容,有很多被工业界和学术界接受的典型算法,截止到目前sklearn库提供7种降维算法。

降维过程也可以被理解为对数据集的组成成份进行分解( decomposition )的过程,因此sklearn为降维模块命名为decomposition,在对降维算法调用需要使用sklearn.decomposition模块

sklearn.decomposition

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习——无监督学习 的相关文章

随机推荐

  • ArcGIS处理自相交面

    问题 我们在获取一些osm等开源地理数据网站获取数据后 比如建筑物数据 往往需要对数据进行处理后 才可以进行分析 对于面数据 处理面自相交问题是必须操作 如下图 就是自相交的面 解决方案 该问题可以使用ArcGIS轻松解决 新建线要素 选择
  • ARm 移植最新版QT5.12

    转载 https blog csdn net weixin 37771089 article details 84989447 一 准备 ubuntu 12 04 源码 http download qt io archive qt 5 12
  • IDEA使用maven进行多模块项目打包并梳理正确的打包顺序

    maven多模块打包一般相互之间都有互相的依赖关系 如果没有按照正确的依赖关系顺序进行打包就会报错 例如有三个模块web service common 其中web依赖service web和service都依赖common 那么正确的打包顺
  • hsql获取数组中最后一个值的写法

    一 问题抛出 在数据分析中我们有时候会遇到需要取出数组中最后一个值的方法 1 表xxx数据如下图所示 2 现在需要取出字符串最后的 321 和 987 二 方案探讨 1 反转字符串后 使用切割函数切割获取第一个值 然后再反转一下 代码如下
  • Spring Boot starter 启动流程(无废话版)

    如果无产阶级不能发出自己的声音 他们就会被社会遗忘 一 pom xml文件 1 父依赖 其中它主要是依赖一个父项目 主要是管理项目的资源过滤及插件
  • Superset整合keycloak系统

    本篇主要介绍superset如何整合单点登陆系统keycloak 现在网上的博客大部分都是失效了 这里我相当于更新一下 避免大家再走弯路 一 环境配置 Macos keycloak 18 0 0 superset 2 1 0 keycloa
  • PMSM学习笔记1——永磁同步电机的工作原理与数学模型

    文章目录 一 PMSM工作原理 1 同步电机工作原理 来源 电机学 李发海 2 永磁同步电机数学模型及坐标变换 来源 现代电机控制技术 王成元 2 1旋转磁场 2 2三相PMSM的基本数学模型 2 3三相PMSM的坐标变换 2 3 1 Cl
  • 【Unity 3D】学习笔记 - 粒子系统制作

    这次的任务是制作一个简单的粒子系统 并用代码控制使之在不同的场景下呈现出不同的效果 我想要制作出颜色渐变的烟花效果 关于粒子系统 可以参考 Unity 3D 学习笔记 粒子系统初探 粒子系统基本设置如下 其中Simulation Rotat
  • 学生用计算机怎么恢复出厂设置,电脑怎么恢复出厂设置

    关机或重启时 按住电脑键盘的 Del 键进入BIOS 使用Enter回车键选中 Load Optimized Defaults 选项 使用方向键选中 Y 确认 点击 Save Exit Step 或者按 F10 退出即可 以下是详细介绍 电
  • Go语言实现Onvif客户端:2、获取设备信息

    Go语言实现Onvif客户端 2 获取设备信息 文章目录 Go语言实现Onvif客户端 2 获取设备信息 1 思路 2 代码 1 思路 搜索设备 获取设备能力 通过设备能力的设备接口读取设备信息 我们上节说了 主要是通过设备信息中的内容来区
  • 线性代数 【基础1】

    文章目录 行列式 方阵的行列式公式 矩阵 矩阵的逆 矩阵的秩 伴随矩阵 初等变换与初等矩阵 分块矩阵 向量 正交矩阵 正交化 线性表示 线性无关与线性相关 极大无关组与向量组的秩 线性方程组 解的性质与判定 齐次线性方程组 非齐次线性方程组
  • 大型网站在架构上应当考虑哪些问题?

    分层 分层是处理任何复杂系统最常见的手段之一 将系统横向切分成若干个层面 每个层面只承担单一的职责 然后通过下层为上层提供的基础设施和服务以及上层对下层的调用来形成一个完整的复杂的系统 计算机网络的开放系统互联参考模型 OSI RM 和In
  • Java8 CompletableFuture处理多个异步任务

    CompletableFuture Java5引入了Future和 FutureTask 用于异步处理 Future可以通过get 方法获取异步的返回值 在Java8引入了CompletableFuture CompletableFutur
  • 设置GPU及显存大小

    20210128 引言 之前搜索过设置GPU和显存大小的方式 但是升级了新的版本的keras以及tensorflow 导致之前的代码失效了 这里记录一下 本质上 就是版本更换的原因 很多api可能被取消 或者改了别的 原始代码 import
  • 计算机网络ip尽最大努力交付,计算机网络知识(IP、TCP、UDP)--持续更新

    互联网的两个重要的基本特点 连通性和共享 计算机网络由若干结点和连接这些结点的链路组成 互联网的组成 边缘部分 核心部分 网络边缘的端系统之间的通信可分为两大类 客户 服务器方式 C S方式 和对等方式 P2P方式 互联网的核心部分 许多网
  • 原始传奇手游服务器不显示,原始传奇手游为什么进不去 无法登录游戏解决方法...

    近日有一款由古力娜扎代言的手游 原始传奇 上线了 不少玩家也很想体验一番 可是却发现原始传奇手游进不去 不知道是为什么 下面悠小悠就为大家详细介绍下无法登录游戏的原因和解决方法 一起探讨下吧 原始传奇手游进不去原因及解决方法 1 如果是登录
  • tomcat没有日志输出--解决办法

    程序没有问题 只是控制台信息卡 感觉像程序休眠了一样 然后在控制台点backspace或是enter 程序恢复正常 控制台日志正常输出 静态文件访问可以 解决办法 转载于 https blog 51cto com 13693838 2398
  • BIND9的架构与机制笔记1

    BIND9采用的是事件驱动的机制来工作 而事件的源头则是IO IO在linux使用的EPOLL的边缘触发模式 本篇说的是epoll BIND9如果创建了watcher线程 宏USE WATCHER THREAD控制 这里就讨论有线程的情况
  • Redis第五讲 Redis内存淘汰策略之LRU与LFU算法详细介绍

    前面介绍了Redis的一些内存淘汰策略 一般比较常用的两种淘汰策略为LRU LFU 而且他们的算法考察的也比较多 LRU 最近最久未使用 标准LRU算法是这样的 它把数据存放在链表中按照 最近访问 的顺序排列 当某个key被访问时就将此ke
  • 机器学习——无监督学习

    机器学习的分类 一般分为下面几种类别 监督学习 supervised Learning 无监督学习 Unsupervised Learning 强化学习 Reinforcement Learning 增强学习 半监督学习 Semi supe