机器学习 —— 使用机器学习进行情感分析 演示版


机器学习 —— 使用机器学习进行情感分析 详细介绍版
机器学习 —— 使用机器学习进行情感分析 演示版


一、项目构想

        在现代互联网时代里,人们的意见、评论和建议已成为政治科学和企业的宝贵资源。借助现代技术,我们现在能够最有效地收集和分析此类数据。该项目通过机器学习应用于语言分析,即情感分析;情感分析是分析用户情感的过程。我们可以将他们的情绪分为正面,负面或中性。
在这里插入图片描述

        这是最受欢迎的机器学习项目之一。其背后的原因是每家公司都试图了解客户的情绪,如果客户满意,他们会留下来。该项目可能显示出减少客户流失的途径。

在这里插入图片描述

二、实现过程

数据集

  1. 首先,我们构建模型需要数据集,我们使用一个互联网电影数据库中的大量电影评论数据。下载链接: Sentiment Analysis (stanford.edu)
    在这里插入图片描述

  2. 如上图所示,test和train目录下都有25000个数据集,分别在neg 与 pos文件夹下,代表负面(6分以下)和正面(6分以上)的评论。之后将我们的数据集进行处理,得到方便我们进行机器学习的CSV文件。

数据标注

  1. 导入包。Pyprind为进度条模块,用于实现处理进度可视化效果。
    在这里插入图片描述

  2. 分别创建进度条、标签字典和一个列表,分别用于显示处理进度;表示正面和负面评论;以及存储每个评论的文本和标签。
    在这里插入图片描述

  3. 通过遍历数据集中的‘pos’和‘neg’文件夹中的文件,将评论文本和标签添加到空列表中。
    在这里插入图片描述

  4. 创建DataFrame,用于存储评论文本和标签。之后打乱顺序,以防影响学习效果。

在这里插入图片描述

  1. 将DataFrame保存为CSV文件,并打印开头的三个评论,检查是否正常运行。

在这里插入图片描述

  1. 结果

在这里插入图片描述

数据预处理

        我们有了原始的数据集。需要对数据进行预处理,该数据有两个问题需要解决:

        (1)数据集含有大量的HTML符号,要消去文本中的HTML符号。

        (2)要将文本数据转化为矩阵数据,以便进行机器学习。

在这里插入图片描述

        对于问题一,可以用正则表达式来进行对特定符号的剔除。

        正则表达式就是利用特殊符号构建的一种规则,将文本中符合这种规则的字符串提取或者消除的一种方式,在这里我们构建了符合HTML符号的一种规则,将HTML符号在我们的文本数据中进行剔除。

问题一解决过程

  1. 导入包。并读取数据。

在这里插入图片描述

  1. 导入正则表达式模块,并定义一个delete_html函数。

在这里插入图片描述

  1. 在函数中,re.sub()用于空格替换文本中的HTML标签。

在这里插入图片描述

  1. re.findall()用于在文本中查找表情符号,之后移除非字母数字字符,转换为小写,并将表情符号添加到文本中。

在这里插入图片描述

  1. 完整代码

在这里插入图片描述

  1. 对‘review’列中的每个文本应用delete_html函数。

在这里插入图片描述

问题二解决过程

  1. 通过词袋模型对文本数据进行编码,将其表示为数值型的特征向量。词袋模型,是用于自然语言处理和信息检索中的一种简单的文档表示方法。通过这一模型,一篇文档可以通过统计所有单词的数目来表示,这种方法不考虑语法和单词出现的先后顺序。

  2. 使用词袋模型,首先对文本数据进行词汇分割,这里利用文本中的空格进行分割。

在这里插入图片描述

  1. 导入PorterStemmer,对文本进行词干提取,并返回词干化后的单词列表。

在这里插入图片描述

  1. 数据中还有大量“无意义” 词汇,需要用一个预先规定的停用词集合,在数据集中进行剔除。所以要先导入nltk库,下载并导入停用词列表。

在这里插入图片描述

数据划分

        数据预处理之后,进行数据划分。将数据集划分为训练集和测试集。通常,大部分数据用于训练,另一部分用于测试模型的性能。
在这里插入图片描述

        如上图所示,将前1000划分为训练集,后1000划分为测试集

搭建训练模型

  1. 导入库。作用如图所示。

在这里插入图片描述

  1. 定义参数网格。主要参数解释如图所示。

在这里插入图片描述

  1. 创建机器学习流水线,可以简化代码,将步骤封装成完整的工作流,避免了代码重复。

在这里插入图片描述

  1. 导入模型,并训练。

在这里插入图片描述

  1. 打印最优组合。

在这里插入图片描述

  1. 实现结果:

在这里插入图片描述

随机梯度下降算法

        当数据集过大,我们可以用随机梯度下降算法(SGD)。SGD主要应用在大规模稀疏数据问题上,经常用在文本分类及自然语言处理,是深度学习中常用的优化算法之一。

  1. 数据预处理和数据划分与前文相同,仅截图展示。

在这里插入图片描述在这里插入图片描述

  1. 导入训练模型。

在这里插入图片描述

  1. 分批次加载训练集数据,每次加载1000条,共45*1000。

在这里插入图片描述

  1. 使用模型对测试数据集进行评估,并打印评估结果。

在这里插入图片描述

  1. 实现结果:

在这里插入图片描述

        与第一种方法对比可知,第二种方法准确度更高。

在这里插入图片描述

三、可视化分析

对训练集和测试集的准确率进行可视化分析

  1. 如图所示,进行10次迭代,仅展示核心代码:

在这里插入图片描述

  1. 绘制训练集和测试集准确率随迭代次数的变化:

在这里插入图片描述

  1. 可视化

在这里插入图片描述

        如图所示,在训练集上进行部分拟合后,十次迭代的准确度与测试集经过十次迭代的准确度相差不远,说明模型欠拟合。

对训练集经过深度学习后的准确率与损失函数进行可视化分析

  1. 如图所示,搭建深度学习模型,训练后获取准确度和损失函数,仅展示核心代码:

在这里插入图片描述

  1. 绘制训练集准确率和损失函数曲线:

在这里插入图片描述
3. 可视化

在这里插入图片描述

        如图所示,在训练集上进行深度学习后,准确度远远高于验证准确度,而且损失函数也比验证损失函数小,说明深度学习训练效果好。
在这里插入图片描述

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

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

相关文章

第十五届蓝桥杯测试组模拟赛两期

文章目录 功能测试一期-场景法-登录功能一期-等价类-边界值-添加用户账号输入框一期-登录-缺陷报告一期- UI自动化测试一期-单元测试-路径覆盖二期-正交法-搜索条件组合二期-测试用例二期-缺陷报告二期-自动化测试二期-单元测试-基本路径覆盖 功能测试 一期-场景法-登录功能 …

什么是 DNS 记录?

DNS记录是存储在DNS服务器上的文本指令。它们表明与一个域名相关的IP地址,也可以提供其他信息。DNS记录是计算机用语,指域名系统(Domain Name System,简称DNS)中的一条记录,这条记录存储于DNS服务器中。每一…

html基础(2)(链接、图像、表格、列表、id、块)

1、链接 <a href"https://www.example.com" target"_blank" title"Example Link">Click here</a> 在上示例中&#xff0c;定义了一个链接&#xff0c;在网页中显示为Click here&#xff0c;鼠标悬停指示为Example Link&#xff0c…

Bootstrap 5 保姆级教程(一):容器 网格系统

一、容器 1.1 固定宽度&#xff08;.container&#xff09; .container 类用于固定宽度并支持响应式布局的容器。 以下实例中&#xff0c;我们可以尝试调整浏览器窗口的大小来查看容器宽度在不同屏幕中等变化&#xff1a; <!doctype html> <html lang"en&quo…

4.2.4 理解路由器数据包过程

1、实验目的 通过本实验可以掌握&#xff1a; 了解IP路由原理了解数据包封装和解封装的概念了解路由器路由和交换过程 2、实验拓扑 观察路由器路由数据包过程的实验拓扑如图4-3所示&#xff0c;设备接口地址信息如表4-2所示。 图4-3 观察路由器路由数据包过程的实验拓扑 本…

文件批量重命名,繁体中文秒变简体中文,轻松实现高效翻译

在数字化时代&#xff0c;我们的工作、学习和生活都离不开电脑文件。随着时间的推移&#xff0c;文件数量不断增加&#xff0c;管理起来变得越来越困难。你是否曾经为如何高效、有序地管理文件而烦恼&#xff1f;现在&#xff0c;有一款强大的文件批量重命名工具&#xff0c;它…

CAXA3D工艺图表2019版 下载地址及安装教程

CAXA 3D工艺图表是CAXA 3D软件中的一个功能模块&#xff0c;专门用于创建和展示工艺流程和工艺图。它为工程师和设计师提供了一种直观和清晰的方式来表示和记录产品的工艺过程。 使用CAXA 3D工艺图表&#xff0c;用户可以创建具有层次结构的工艺流程图&#xff0c;显示产品的各…

Aigtek:高压放大器常见问题及解决方法有哪些

高压放大器是一种关键的电子设备&#xff0c;常用于实验室、工业和科学研究中&#xff0c;用于放大电压信号。然而&#xff0c;像所有的电子设备一样&#xff0c;高压放大器也可能遇到各种常见问题。下面安泰电子将介绍一些高压放大器常见的问题以及相应的解决方法。 一、电源问…

深度学习实践(一)基于Transformer英译汉模型

本文目录 前述一、环境依赖二、数据准备1. 数据加载程序解析word_tokenize()将字符串分割为一个个的单词&#xff0c;并由列表保存。 2. 构建单词表程序解析&#xff08;1&#xff09;将列表里每个子列表的所有单词合并到一个新列表&#xff08;没有子列表&#xff09;中。&…

4.9日总结

1.MySQL概述 1.数据库基本概念&#xff1a;存储数据的仓库&#xff0c;数据是有组织的进行存储 2.数据库管理系统&#xff1a;操纵和管理数据库的大型软件 3.SQL&#xff1a;操作关系型数据库的编程语言&#xff0c;定义了一套操作型数据库统一标准 2.MySQL数据库 关系型数…

单例模式(饿汉模型,懒汉模型)

在着里我们先了解什么是单例模式。 就是某个类在进程中只能有单个实例&#xff0c;这里的单例模式需要一定的编程技巧&#xff0c;做出限制&#xff0c;一旦程序写的有问题&#xff0c;创建了多个实例&#xff0c;编程就会报错。 如果我们学会了单例模式&#xff0c;这种模式…

小程序变更主体流程是怎样的?

小程序迁移变更主体有什么作用&#xff1f;“小程序主体变更”是指小程序账号开发者将其小程序项下业务交由其他开发者承接、运营和服务。主体变更完成后&#xff0c;小程序的运营权限、主体信息将发生变化。小程序迁移变更主体的条件有哪些&#xff1f;1、境外小程序不支持小程…

秋叶Stable diffusion的创世工具安装-带安装包链接

来自B站up秋葉aaaki&#xff0c;近期发布了Stable Diffusion整合包v4.7版本&#xff0c;一键在本地部署Stable Diffusion&#xff01;&#xff01; 适用于零基础想要使用AI绘画的小伙伴~本整合包支持SDXL&#xff0c;预装多种必须模型。无需安装git、python、cuda等任何内容&am…

yolov7的改进工地安全帽佩戴检测系统-协同双注意力机制CDAM2(教程+代码)

研究的背景和意义 随着工业化和城市化的快速发展&#xff0c;建筑工地的安全问题日益凸显。在建筑工地中&#xff0c;工人的安全是至关重要的&#xff0c;而工地安全帽的佩戴是保障工人安全的重要措施之一。然而&#xff0c;由于工地环境复杂多变&#xff0c;工人的佩戴情况往…

【jQuery】jQuery框架

目录 1.jQuery基本用法 1.1选择器 1.2jQuery对象 1.3事件绑定 1.4链式编程 1.5过滤方法 1.6样式操纵 1.6属性操纵 1.7操作value 1.8查找方法 1.9类名操纵 1.10事件进阶 1.11触发事件 1.12window事件绑定 2.节点操作与动画 2.1获取位置 2.2滚动距离 2.3显示/隐…

C语言——调试技巧

1.Debug和Release的介绍 Debug 通常称为调试版本&#xff0c;它包含调试信息&#xff0c;并且不作任何优化&#xff0c;便于程序员调试程序。Release 称为发布版本&#xff0c;它往往是进行了各种优化&#xff0c;使得程序在代码大小和运行速度上都是最优 的&#xff0c;以便用…

AIGC实战——StyleGAN(Style-Based Generative Adversarial Network)

AIGC实战——StyleGAN 0. 前言1. StyleGAN1.1 映射网络1.2 合成网络1.3 自适应实例归一化层1.4 风格混合1.5 随机变化 2. StyleGAN 生成样本3. StyleGAN23.1 权重调制与解调3.2 路径长度正则化3.3 非渐进式增长 4. StyleGAN2 生成样本小结系列链接 0. 前言 StyleGAN (Style-Ba…

Echarts柱状图多样式实现

样式一 样式二 在这里插入代码片

大语言模型开源数据集

本文目标&#xff1a;汇聚目前大语言模型预训练、微调、RM/RL、评测等全流程所需的常见数据集&#xff0c;方便大家使用&#xff0c;本文持续更新。文章篇幅较长&#xff0c;建议收藏后使用。 一、按语料类型分类 1、维基百科类 No.1 Identifying Machine-Paraphrased Plagia…

【行业认证,实力背书】NISP一级证书,你的信息安全职业通行证!

国家信息安全水平考试(NISP一级) 2024年3月考试成绩发布 通过的学员由中国信息安全测评中心颁发证书 以下是考试通过名单 PART01&#xff1a;什么是国家信息安全水平考试 国家信息安全水平考试&#xff08;NISP&#xff09;认证分为一级和二级&#xff0c;证书由中国信息安全测…