机器学习概述,特征工程简述2.1——2.3

机器学习概述:

1.1人工智能概述

     达特茅斯会议—人工智能的起点

     机器学习是人工智能的一个实现途径

     深度学习是机器学习的一个方法发展而来

     1.1.2   机器学习和深度学习能做什么

               传统预测     图像识别    自然语言处理

1.2什么是机器学习

     数据

     模型

     预测

     从历史数据当中或得规律?这些历史数据是怎么的格式?

     1.2.2 数据集构成

              特征值+目标值

1.3机器学习的算法分类

     监督学习

            目标值:类别-分类问题

                   k-近邻算法,贝叶斯算法,决策树与随机森林,逻辑回归

            目标值:连续型的数据-回归问题

                   线性回归,岭回归

            目标值:无-无监督学习

                   聚类  K-means

            1.预测明天的气温多少度?  回归

            2.预测明天是阴天,晴天?  分类

            3.人脸年龄识别?  回归/分类

1.4机器学习开发流程

     1)获取数据

     2)数据处理

     3)特征工程

     4)机器学习算法训练-模型

     5)模型评估

     6)应用

1.5学习框架和资料介绍

     1)算法是核心,数据与计算是基础

     2)找准定位

     3)怎么做?

             1,入门

             2,实战类书籍

             3,机器学习——“西瓜书”,周志华

                  统计学习方法——李航

                  深度学习——“花书”

  1. 机器学习库和框架



特征工程:

2.1数据集

         2.1.1 可用数据集

                      公司内部  百度

                      数据接口  花钱

                      数据集

                      学习阶段可以用的数据集:

                                             1)sklearn    2)kaggle    3)UCI

                      1.Scikit-learn工具介绍

           2.1.2 sklearn数据集

                   sklearn.datasets

                           load-*   获取小规模的数据集

                           fetch-*  获取大规模的数据集

                                          获取大规模数据集,需要网络上下载,函数的第一个参数是data-home,表示数据集下载的目录,默认是~/scikit-learn-data/

                           2 sklearn  小数据集

                                        sklearn.datasets.load-iris()

                                         加载并返回鸢尾花数据集

                                         sklearn.datasets.load-boston()

                                         加载并返回波士顿放假数据集

                           3 sklearn  大数据集

                      sklearn.datasets.fetch-20newsgroups(data-home=None,subset='train'

                      subset:'train'或者'test','all',可选,选择要加载的数据集

                      训练集的‘训练’,测试集的‘测试’,两者的‘全部’

                           4 数据集的返回值

                                 datasets.base.Bunch(继承自字典)

                                            dict["key"] = values

                                            bunch.key = values

     2.1.3 数据集的划分

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

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

                        测试集:20%--30%

                        训练集特征值,测试集特征值,训练集目标值,测试集目标值

                         x_train,             x_test,               y_train,             y_test

2.2 特征工程介绍

     算法,  特征工程

     2.2.1 为什么需要特征工程

     2.2.2 什么是特征工程

              sklearn  特征工程

              pandas   :数据清晰,数据处理

2.3 特征提取

         2.3.1.将任意数据(如文本或图像)转换为可用于机器学习的数字特征

注意:特征值化是为了计算机更好的去理解数据

          字典特征提取(特征离散化)

          文本特征提取

         2.特征提取API

           sklearn.feature_extraction

2.3.2 字典特征提取

字典特征提取——类别——数学公式

父类:转换器类

返回sparse矩阵

      spares  稀疏:将非零值   按位置表示出来,可以节省内存,提高加载效率

应用场景:1)pclass ,sex 数据集当中类别特征比较多时

                   2)本身拿到的数据就是字典类型

2.3.3文本特征提取

注意:有新版本中更新的知识点

单词  作为  特征

句子,短语,单词,字母

特征:特征词

方法1:CountVectorizer    :统计每个样本特征词出现的个数

         stop_words  停用词

停用词表

停用词表(Stop Words List)是自然语言处理(NLP)和信息检索领域中的一个术语,指的是在文本处理过程中被排除在分析之外的词汇列表。这些词汇通常是那些在文本中非常常见,但对于文本的主题或情感分析没有太大意义的词,比如“的”、“是”、“在”等在中文中的常用词,以及英文中的“the”、“is”、“at”、“which”等。

停用词表的主要作用包括:

1. **减少数据维度**:去除停用词可以减少文本数据的维度,从而降低计算复杂度。

2. **提高分析质量**:去除停用词有助于提高文本分析的质量,因为停用词往往不会对文本的主题或情感产生显著影响。

3. **节省存储空间**:在存储文本数据时,去除停用词可以节省存储空间。

4. **避免噪音**:停用词可能会引入噪音,影响文本分析的准确性。

在不同的应用场景中,停用词表可能会有所不同,因为某些词在特定的上下文中可能具有重要意义。例如,在法律文本中,“合同”、“协议”等词可能就不是停用词。

在 `CountVectorizer` 中,可以通过 `stop_words` 参数来指定停用词表。如果不指定,`CountVectorizer` 会使用一个默认的停用词表,该表包含了一些常见的停用词。你也可以自定义停用词表,以适应特定的应用需求。例如:

```python
from sklearn.feature_extraction.text import CountVectorizer

# 定义停用词表
stop_words = set(['the', 'is', 'at', 'which', 'and', 'on', 'for'])

# 创建 CountVectorizer 实例,指定停用词表
vectorizer = CountVectorizer(stop_words=stop_words)

# 应用 fit_transform 方法
data_new = vectorizer.fit_transform(['This is the first document.', 'This document is the second document.'])
```

在这个例子中,我们定义了一个简单的停用词表,并将其传递给 `CountVectorizer` 实例。这样,在文本向量化过程中,这些停用词将被忽略。
 


中文文本特征提取:

需要使用jieba进行分词。

输出:

这一种并未达到理想效果.


关键词:在某一个类别的文章中,出现的次数很多,但是在其他类别的文章中出现次数很少

方法2:TfidfVectorizer  :寻找关键词

Tf-idf 文本特征提取

其主要思想是:如果某个词或者短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来做分类。

TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

举例:(帮助更好理解TF-IDF)

对上面照片进行解释:

以下是文档中提到的 TfidfVectorizer 类的主要方法:

  1. TfidfVectorizer.fit_transform(X):

    • X: 文本数据,可以是字符串列表或者包含文本字符串的可迭代对象。
    • 这个方法会计算输入文本数据的 TF-IDF 权重,并将文本转换为稀疏矩阵格式。
    • 返回值: 一个稀疏矩阵,其中每一行代表一个文档,每一列代表一个词汇,矩阵中的值表示该词汇在文档中的 TF-IDF 权重。
  2. TfidfVectorizer.inverse_transform(X):

    • X: 一个数组或者稀疏矩阵,通常是 fit_transform 方法的输出。
    • 这个方法将 TF-IDF 权重矩阵转换回原始的文档格式。
    • 返回值: 转换之前的文档数据格式。
  3. TfidfVectorizer.get_feature_names():

    • 这个方法返回 TfidfVectorizer 在 fit_transform 过程中识别出的词汇列表。
    • 返回值: 一个包含所有特征名称(即词汇)的列表。

stop_words 参数是一个可选参数,用于指定在文本处理过程中要排除的停用词。如果设置为 None,则使用 TfidfVectorizer 的默认停用词列表。你也可以提供一个自定义的停用词列表,以适应特定的文本分析需求。

这些方法使得 TfidfVectorizer 成为文本数据预处理和特征提取的有力工具,特别是在机器学习和自然语言处理领域。


案例演示:


TF-IDF重要性:分类机器学习算法进行文章分类中前期数据处理方式。

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

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

相关文章

基于vite6+ vue3 + electron@33 实现的 局域网内互传文件的桌面软件

目录 项目介绍项目部分截图介绍下基础项目搭建先搭建一个vite 前端项目 再安装 electron 相关依赖依赖安装失败解决方案修改 vite配置文件和 ts 配置文件修改packjsonts相关配置项目结构介绍 项目介绍 前端 基于 vue3 ts windicss 后端 就是node 层 项目地址: h…

Linux 内核系统架构

Linux 内核是一个复杂且高度模块化的系统,负责操作硬件资源、管理进程和内存、提供网络服务、执行文件系统操作、进行设备驱动程序的管理等。它为用户空间提供了一个抽象层,并为应用程序提供了底层服务。本文将深入探讨 Linux 内核的系统架构&#xff0c…

TYUT设计模式精华版

七大原则 单一职责原则 职责要单一不能将太多的职责放在一个类中 开闭原则 软件实体对扩展是开放的,但对修改是关闭的 里氏代换原则 一个可以接受基类对象的地方必然可以接受子类 依赖倒转原则 要针对抽象层编程,而不要针对具体类编程 接口隔离原则 …

计算机网络——不同版本的 HTTP 协议

介绍 HTTP,即超文本传输协议(HyperText Transfer Protocol),是应用层的一个简单的请求-响应协议,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。本文将介绍 HTTP 协议各个版本。 HTTP/1.0 HTTP/1…

Fastapi + vue3 自动化测试平台---移动端App自动化篇

概述 好久写文章了,专注于新框架,新UI界面的实践,废话不多说,开搞 技术架构 后端: Fastapi Airtest multiprocessing 前端: 基于 Vue3、Vite、TypeScript、Pinia、Pinia持久化插件、Unocss 和 Elemen…

FreeRTOS之ARM CR5栈结构操作示意图

FreeRTOS之ARM CR5栈结构操作示意图 1 FreeRTOS源码下载地址2 ARM CR5栈结构操作宏和接口2.1 portSAVE_CONTEXT宏2.1.1 portSAVE_CONTEXT源码2.1.2 portSAVE_CONTEXT宏操作栈结构变化示意图 2.2 portRESTORE_CONTEXT宏2.2.1 portRESTORE_CONTEXT源码2.2.2 portRESTORE_CONTEXT宏…

警惕开源信息成为泄密源头

文章目录 前言一、信息公开需谨慎1、警惕采购招标泄密。2、警惕信息公开泄密。3、警惕社交媒体泄密。 二、泄密风险需严防1、健全制度,明确责任。2、加强管控,严格审查。3、提高意识,谨言慎行。 前言 大数据时代,信息在网络空间发…

指针(上)

目录 内存和地址 指针变量和地址 取地址(&) 解引用(*) 大小 类型 意义 const修饰 修饰变量 修饰指针 指针运算 指针- 整数 指针-指针 指针的关系运算 野指针 概念 成因 避免 assert断言 指针的使用 strl…

常见的数据结构---队列、树与堆的深入剖析

目录 一、队列 二、树 三、堆 在现代计算机科学与工程领域,队列、树和堆是三种极其重要的基础数据结构,它们各自具有独特的特点和应用。在日常开发中,合理选择和使用这些数据结构可以显著提高程序的效率和可维护性。它们不仅奠定了算法设计…

Java 整合图片处理相关一套:传输、保存、重命名、删除、AI图片文字识别、图片映射、vue3裁剪、设置黑白色、设置负片、提高照片品质

目录 一、vue3 axios spring boot文件传输 二、Java图片保存到本地 三、Java 本地图片重命名 四、Java 删除本地图片 五、 JavaAI图片文字识别 六、Java映射图片地址,前端直接访问图片 七、vue3 图片裁剪 八、Java 设置图片黑白色 九、Java 设置图片负片 …

web三、 window对象,延时器,定时器,时间戳,location对象(地址),本地存储-localStorage,数组去重new Set

一、 window对象 window对象 是一个全局对象,也可以说是JavaScript中的 顶级对象 像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的 所有通过 var定义 在全局作用域中的 变量 、 函数 都会变成window对象的属…

【AI系统】昇腾异构计算架构 CANN

昇腾异构计算架构 CANN 本文将介绍昇腾 AI 异构计算架构 CANN(Compute Architecture for Neural Networks),这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达芬奇架构和软件层面的全栈支持,旨在提供…

Spark和MapReduce场景应用和区别

文章目录 Spark和MapReduce场景应用和区别一、引言二、MapReduce和Spark的应用场景1. MapReduce的应用场景2. Spark的应用场景 三、MapReduce和Spark的区别1. 内存使用和性能2. 编程模型和易用性3. 实时计算支持 四、使用示例1. MapReduce代码示例2. Spark代码示例 五、总结 Sp…

CSS函数

目录 一、背景 二、函数的概念 1. var()函数 2、calc()函数 三、总结 一、背景 今天我们就来说一说,常用的两个css自定义属性,也称为css函数。本文中就成为css函数。先来看一下官方对其的定义。 自定义属性(有时候也被称作CSS 变量或者级…

【C语言】递归的内存占用过程

递归 递归是函数调用自身的一种编程技术。在C语言中,递归的实现会占用内存栈(Call Stack),每次递归调用都会在栈上分配一个新的 “栈帧(Stack Frame)”,用于存储本次调用的函数局部变量、返回地…

大数据新视界 -- 大数据大厂之 Hive 数据压缩算法对比与选择(下)(20 / 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【golang】单元测试,以及出现undefined时的解决方案

单元测试 要对某一方法进行测试时,例如如下这一简单减法函数,选中函数名后右键->转到->测试 1)Empty test file 就是一个空文件,我们可以自己写测试的逻辑 但是直接点绿色箭头运行会出问题: 找不到包。我们要在…

ETL工具观察:ETLCloud与MDM是什么关系?

一、什么是ETLCloud ETLCloud数据中台是一款高时效的数据集成平台,专注于解决大数据量和高合规要求环境下的数据集成需求。 工具特点 1.离线与实时集成:支持离线数据集成(ETL、ELT)和变更数据捕获(CDC)实…

人形机器人训练、机器臂远程操控、VR游戏交互、影视动画制作,一副手套全部解决!

广州虚拟动力基于自研技术推出了多节点mHand Pro动捕数据手套,其最大的特点就是功能集成与高精度捕捉,可以用于人形机器人训练、机器臂远程操控、VR游戏交互、影视动画制作等多种场景。 一、人形机器人训练 mHand Pro动捕数据手套双手共装配16个9轴惯性…

IDL学习笔记(二)IDL处理卫星数据

IDL处理卫星数据 HDF文件数据集属性通用属性 常用HDF4操作函数常用的HDF5操作函数读取HDF文件的一般步骤 HDF4文件读取-----数据信息查询HDF4文件读取示例-----目标数据TIFF输出提取modis产品中数据,与某一点经纬度最接近的点有效结果,并按每行内容为日期…