机器学习概述,特征工程简述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重要性:分类机器学习算法进行文章分类中前期数据处理方式。

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

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

相关文章

嵌入式蓝桥杯学习1 点亮LED

cubemx配置 1.新建一个STM32G431RBT6文件 2.在System-Core中点击SYS,找到Debug(设置为Serial Wire) 3.在System-Core中点击RCC,找到High Speed Clock(设置为Crystal/Ceramic Resonator) 4.打开Clock Configuration &#xff0…

【MySql】navicat连接报2013错误

navicat连接mysql报2013错误 报错信息1、检验Mysql数据库是否安装成功2、对Mysql的配置文件进行修改配置2.1、找到配置文件2.2、Linux下修改配置文本 3、连接进入mysql服务4、在mysql下执行授权命令 报错信息 Navicat连接mysql报2013错误 2013-Lost connection to MYSQL serve…

Next.js 路由使用完整指南

Next.js 路由使用指南 目录 基础路由 index 路由页面路由布局路由 嵌套路由 文件夹嵌套共享布局 动态路由 单参数路由多参数路由可选参数 路由组 组织结构共享布局 平行路由 同时渲染条件渲染 拦截路由 模态框照片预览 最佳实践 路由组织性能优化类型安全 1. 基础路由 Nex…

Vue2-从零搭建一个项目(项目基本结构介绍)

目录 一、脚手架安装 二、项目结构介绍 1、项目结构介绍 2、组件关系与脚手架入口内置关系 (1)组件关系 (2)脚手架入口内置关系 一、脚手架安装 在默认安装Node.js的前提下,需要进行两两步操作 直接参照下面的…

Redis 之持久化

目录 介绍 RDB RDB生成方式 自动触发 手动触发 AOF(append-only file) Redis 4.0 混合持久化 Redis主从工作原理 总结 介绍 Redis提供了两个持久化数据的能力,RDB Snapshot 和 AOF(Append Only FIle)…

8. Debian系统中显示屏免密码自动登录

本文介绍如何在Debian系统上,启动后,自动免密登录,不卡在登录界面。 1. 修改lightDM配置文件 嵌入式Debian系统采用lightDM显示管理器,所以,一般需要修改它的配置文件/etc/lightdm/lightdm.conf,找到[Seat…

Linux下,用ufw实现端口关闭、流量控制(二)

本文是 网安小白的端口关闭实践 的续篇。 海量报文,一手掌握,你值得拥有,让我们开始吧~ ufw 与 iptables的关系 理论介绍: ufw(Uncomplicated Firewall)是一个基于iptables的前端工具&#xf…

MySQL常见面试题(二)

MySQL 索引 MySQL 索引相关的问题比较多,对于面试和工作都比较重要,于是,我单独抽了一篇文章专门来总结 MySQL 索引相关的知识点和问题:MySQL 索引详解 。 MySQL 查询缓存 MySQL 查询缓存是查询结果缓存。执行查询语句的时候&a…

红日靶场vulnstark 2靶机的测试报告

目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、Weblogic漏洞利用 3、Getshell 4、CS上线 5、内网信息收集 利用zerologon漏洞攻击域控服务器(获取密码) 6、横向移动 ①使用PsExec上线域控服务器 ②使用…

用于LiDAR测量的1.58um单芯片MOPA(一)

--翻译自M. Faugeron、M. Krakowski1等人2014年的文章 1.简介 如今,人们对高功率半导体器件的兴趣日益浓厚,这些器件主要用于遥测、激光雷达系统或自由空间通信等应用。与固态激光器相比,半导体器件更紧凑且功耗更低,这在低功率供…

MFC工控项目实例三十五读取数据库数据

点击按钮打开文件夹中的数据文件生成曲线 相关代码 void CSEAL_PRESSUREDlg::OnTesReport() {CFileDialog dlgOpen(TRUE/*TRUE打开,FALSE保存*/,0,0,OFN_NOCHANGEDIR|OFN_FILEMUSTEXIST,"All Files(mdb.*)|*.*||",//文件过滤器NULL);CString mdb_1, m…

Harnessing Large Language Models for Training-free Video Anomaly Detection

标题:利用大型语言模型实现无训练的视频异常检测 原文链接:https://openaccess.thecvf.com/content/CVPR2024/papers/Zanella_Harnessing_Large_Language_Models_for_Training-free_Video_Anomaly_Detection_CVPR_2024_paper.pdf 源码链接:ht…

Linux笔试题(自己整理,已做完,选择题)

详细Linux内容查看:day04【入门】Linux系统操作-CSDN博客 1、部分笔试题 本文的笔试题,主要是为了复习学习的day04【入门】Linux系统操作-CSDN博客的相关知识点。后续还会更新一些面试相关的题目。 欢迎一起学习

BA是什么?

1.BA的定义 BA的中文译为“光束法平差”,也有翻译为“束调整”、“捆绑调整”等,是一种用于计算机视觉和机器人领域的优化技术,主要用于精确优化相机参数(包括内参数和外参数)和三维空间中特征点的位置。BA的目标是通过最小化重投影误差来提高三维重建的精度和一致性。重投影误…

Windows系统搭建Docker

Windows系统搭建Docker 一、系统虚拟化1.1启用虚拟化1.2启用Hyper-v并开启虚拟任务 二、安装WSL2.1 检验安装2.2 命令安装WSL(与2.3选其一)2.3 手动安装WSL(与2.2选其一)2.4 将 WSL 2 设置为默认版本 三、docker安装 一、系统虚拟…

洛谷二刷P4715 【深基16.例1】淘汰赛(c嘎嘎)

题目链接:P4715 【深基16.例1】淘汰赛 - 洛谷 | 计算机科学教育新生态 题目难度:普及 刷题心得:本题是我二刷,之前第一次刷是在洛谷线性表那个题单,当时印象深刻第 一篇题解是用的树来做,当时我不屑一顾&…

基于Matlab BP神经网络的电力负荷预测模型研究与实现

随着电力系统的复杂性和规模的不断增长,准确的电力负荷预测对于电网的稳定性和运行效率至关重要。传统的负荷预测方法依赖于历史数据和简单的统计模型,但这些方法在处理非线性和动态变化的负荷数据时,表现出较大的局限性。近年来,…

非标自动化行业ERP选型与案例展示!

非标自动化行业,那么使用的就是非标设备,什么是非标设备呢?用一句话来说明就是指设计制造方面没有形成国家标准的设备。 在如今追求高效的社会,各行各业都朝着提高效率精益工艺,缩减流程,调整业务,用各种…

十、软件设计架构-微服务-服务调用Dubbo

文章目录 前言一、Dubbo介绍1. 什么是Dubbo 二、实现1. 提供统一业务api2. 提供服务提供者3. 提供服务消费者 前言 服务调用方案--Dubbo‌ 基于 Java 的高性能 RPC分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。…

【AI系统】CANN 算子类型

CANN 算子类型 算子是编程和数学中的重要概念,它们是用于执行特定操作的符号或函数,以便处理输入值并生成输出值。本文将会介绍 CANN 算子类型及其在 AI 编程和神经网络中的应用,以及华为 CANN 算子在 AI CPU 的详细架构和开发要求。 算子基…