机器学习——无监督学习

机器学习的分类

一般分为下面几种类别:

  • 监督学习( 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用Pytorch构建一个喵咪识别模型

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 目录 一、前言 二、问题阐述及理论流程 2.1问题阐述 2.2猫咪图片识别原理 三、用PyTorch 实现 3.1PyTorch介绍 3.2PyTorch 构建模型的五要素 3.3PyTorch 实现的步骤 3.3.…

app自动化测试——app自动化控制、常见控件定位方法

文章目录一、app自动化控制1、清理数据:2、启动:3、关闭:二、常见控件定位方法1、android知识2、ios 基础知识3、元素定位4、控件基础知识5、app dom 结构解析6、iOS 与 Android dom 结构的区别7、定位方法测试步骤三要素定位方式&#xff1a…

大环境不好,找工作太难?三面阿里,幸好做足了准备,已拿offer

三面大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜)。回来之后把这些题目做了一个分类并整理出答案(强迫症的我狂补知识)分为软件测试基础、Python自动化…

超专业解析!10分钟带你搞懂Linux中直接I/O原理

我们先看一张图: 这张图大体上描述了 Linux 系统上,应用程序对磁盘上的文件进行读写时,从上到下经历了哪些事情。 这篇文章就以这张图为基础,介绍 Linux 在 I/O 上做了哪些事情。 文件系统 什么是文件系统 文件系统&#xff0…

docker版jxTMS使用指南:数据查询

本文讲解docker版jxTMS的数据查询,整个系列的文章请查看:docker版jxTMS使用指南 请按前文所述先做好相关的准备工作,然后多在helloWorld界面输入各种数据后点【点我】按钮,以多创建点数据来为查询做下准备。 分页查询 首先在we…

python网上选课系统django-PyCharm

学生选课信息管理系统,可以有效的对学生选课信息、学生个人信息、教师个人信息等等进行管理。 开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat11 开发软件&#x…

RK3588平台开发系列讲解(NPU篇)NPU调试方法

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、日志等级二、NPU 支持查询设置项沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起来看一下NPU的调试方法。 一、日志等级 NPU 的运行库会根据开发板上的系统环境变量输出一些日志信息或者生成…

操作系统(2.4.5)--管程机制

1.管程的定义 利用共享数据结构抽象地表示系统中的共享资源,而把对该共享数据结构实施的操作定义为一组过程进程对共享资源的申请、释放和其它操作,都是通过这组过程对共享数据结构的操作来实现的,这组过程还可以根据资源的情况,或…

yolov8训练筷子点数数据集

序言 yolov8发布这么久了,一直没有机会尝试一下,今天用之前自己制作的筷子点数数据集进行训练,并且记录一下使用过程以及一些常见的操作方式,供以后翻阅。 一、环境准备 yolov8的训练相对于之前的yolov5简单了很多,…

【链表OJ题(九)】环形链表延伸问题以及相关OJ题

环形链表OJ题 1. 环形链表 链接:141. 环形链表 描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&…

简单分析Linux内核基础篇——initcall

写过Linux驱动的人都知道module_init宏,因为它声明了一个驱动的入口函数。 除了module_init宏,你会发现在Linux内核中有许多的驱动并没有使用module_init宏来声明入口函数,而是看到了许多诸如以下的声明: static int __init qco…

Java之类与对象(图文结合)

目录 一、面向对象的初步认知 1、什么是面向对象 2、面向对象与面向过程 二、类定义和使用 1、简单认识类 2、类的定义格式 3、练习 (1)定义一个狗类 (2)定义一个学生类 三、类的实例化 1、什么是实例化 2、类和对象的…

CSDN 周赛38期题解

CSDN 周赛38期题解1、题目名称:代写匿名信2、题目名称:寻因找祖3、题目名称:小Q新式棋盘4、题目名称:拯救公主结束语1、题目名称:代写匿名信 小Q想要匿名举报XX领导不务正业! 小Q害怕别人认出他的字迹。 他…

【数据结构】Java实现双向链表

目录 1. 接口的实现 2. 动手实现双链表 2.1 重写SeqList接口方法 2.2 在当前链表尾部添加节点(尾插) 2.3 在当前链表头部添加节点(头插) 2.4 检验index是否合法 2.5 在 第index位置添加节点(任意位置) 2.6 …

【精品】华为认证数通HCIA+HCIP题库分享(含答案解析)

嗨~大家好久不见,我是薄荷学姐,随着华为业务也全球领域的迅猛发展,越来越多人开始重视华为认证的重要性。今天给大家分享一下去年8月份的题库,基本都是一样,希望可以帮助到大家哈想要通过华为认证,除了进行…

gdb调试工具和makemakefile工具

gdb调试工具和make/makefile工具 文章目录gdb调试工具和make/makefile工具一、gdb调试工具1.debug/release2.使用二、make/makefile1.什么是make/makefile2.编写一、gdb调试工具 1.debug/release 程序有两种默认的发布方式debug和release。release是无法进行调试的。Linux中g…

Bing+ChatGPT 对传统搜索引擎的降维打击

早些时候申请了新版 Bing 的内测资格,终于收到了通过的邮件。 一天的体验之后,我的感受是:当新版 Bing 具备了 ChatGPT 的聊天能力之后,它的能力不论是对传统搜索引擎,还是 ChatGPT 自身,都将是降维打击。 …

菜鸟刷题Day3

⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.字符串压缩:面试题 01.06. 字符串压缩 - 力扣(LeetCode) 描述 字符串压缩。利用字符重复出现的次数,编…

Python程序员看见一个好看的手机壁纸网站,开撸!

人生苦短,我用python 最近好像没什么大事, .那就采集一下小——姐——姐————看下吧~ python 安装包资料:点击此处跳转文末名片获取 最近有同学的爬虫代码出了bug,给问我怎么改 于是就发现了这个好看的手机壁纸网站。 这个图片应该是违规…

【Unity工具,简单学习】PUN 2,多人在线游戏开发,初步使用

【Unity工具,简单学习】PUN 2,多人在线网络工具前言简单介绍安装简单使用一些 nomenclature 部分连接到 Server设置简单的大厅UI游戏场景搭建关卡加载事后前言 链接 简单介绍 PUN 可以让你简单地开发多人游戏,在全球范围推出 让开发者不用…