首页 > 其他分享 >R语言SVM模型文本挖掘分类研究手机评论数据词云可视化

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化

时间:2024-01-16 18:01:40浏览次数:34  
标签:SVM 分类 分类器 词频 可视化 手机 词云 文本 数据

随着大数据时代的来临,数据挖掘和机器学习在诸多领域中的应用价值日益凸显。手机评论数据作为消费者对产品和服务的主观反馈,具有巨大的商业价值。本文旨在帮助客户通过R语言实现支持向量机(SVM)模型在文本挖掘分类方面的研究,并对手机评论数据进行词云可视化分析,以深入挖掘消费者意见,为企业决策提供有力支持。

支持向量机(SVM)

感知机学习算法会因采用的初值不同而得到不同的超平面。而SVM试图寻找一个最佳的超平面来划分数据,怎么算最佳呢?我们自然会想到用最中间的超平面就是最好的。如下图 :

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_数据

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_机器学习_02

基于距离的聚类算法

层次分析(Clustering Analysis):根据在数据中发现的描述对象及其关系的信息,将数据对象分组。其目标是,组内的对象互相之间是相似的(相关的),不同组中的对象是不同的(不相关的)。组内的余弦距离越小,相似性越大,组间差别越大,聚类就越好。就理解数据而言,簇是潜在的类,而聚类分析就是研究自动发现这些类的技术。

文本挖掘中的分类模型

 

 支持向量机方法能在训练样本数很小的情况下达到很好分类推广能力的学习算法,它能做到与数据的维数无关。以线性可分的问题为例,从图<可直观地理解 算法。算法所得到的决策面为:将两类分开最大缝隙的超平面。对决策面设计起作用的点(图中圈中的点)称为支持向量 。分类线方程 可以对它进行归一化 使得对线性可分的样本集。它被成功的应用于手写数字识别和文本自动分类等很多领域。

数据预处理

用SVM实现文本分类,先要从原始空间中抽取特征,将原始空间中的样本映射为高维特征空间中的一个向量,以解决原始空间中线性不可分的问题.

文本分类(Text Categorization 或Text Classification)是在已给定的分类体系下(文本集),依据文本的内容或对文本的标识信息等,通过分类程序的学习和运算等处理方式,自动地确定文本所关联的类别。从数学角度来看,文本分类是一个映射的过程,即系统根据已经掌握的每类若干样本的数据信息,总结出分类的规律从而建立并关联判别公式和判别规则;当分类器遇到输入的未标明类属的新文本时,根据总结出的判别规则,确定该文本相关联的类别。

手机评论数据:

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_机器学习_03

 

 

#剔除特殊词和回车等特殊符号  
res=gsub(pattern="[我|你|的|了|是]"," ",res);  
res=gsub(pattern="[1|2|3|4|5|6|7|8|9|0]"," ",res);

首先需要一个训练样本集作为输入,以便分类器能够学习模式并找到分类函数。训练集(Training set) 由一组数据库纪录或元组构成,每个记录是一个由有关字段值组成的特征向量,这些字段称做属性(Feature),用于分类的属性叫做标签(Label)。训练集中标签属性的类型必须是离散的。为降低分类器错误率,提高分类效率,标签属性的可能值越少越好。对于经典支持向量分类机来说,正负二类分类值{+1,-1}(binary classification)是最理想的分类值状态。 

  从训练集中自动地构造出分类器的算法叫做训练。得到的分类器常要进行分类测试以确定其分类准确性。测试集使用的数据和训练集通常具有相同的数据格式。在实际应用中常用一个数据集的2/3作为训练集,1/3作为测试集。

特征选取

 

将文本转换成为适合分类任务后,本文对各个关键词的词频进行统计。而词频较小的特征词汇对许多任务影响相对较小。因此本文筛选出词频最高的20个特征词汇,并使用这些词频来建模,从而提高准确度。

 

 

# 降序排序  
v=rev(sort(v));   
d=data.frame(word=names(v), freq=v);

高频特征词汇词云图如下:

 

 

wordcloud(d$word,d$freq.Freq,random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_支持向量机_04

得到的高频词汇频数。

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_机器学习_05

层次聚类结果

 

 

clust(dist(cldata))
plot(hc)

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_数据_06

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_支持向量机_07

3个聚类类别的数据词云可视化

 

 

#cluster 1 
y1=cldata[memb==1,]

#cluster 2

y2=cldata[memb==2,]

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_数据_08

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_支持向量机_09

R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_数据_10

从词频云图可以看到,第一个类中评价的主要关键词是发货速度等,从这些关键词来看,本文可以推测这类用户主要看重的是购买体验,并且主要集中在物流。也可以推测这些用户比较关注物流 。

第二个类别中主要的关键词是物流、好评、性价比等。从这些关键词我们大致可以推测这类用户主要看重的是购物的综合评价。他们比较看重手机的物流、好评,更在乎购物给他们使用的直观体验。

第三个类别中主要的关键词是正品,满意 。从这些关键词我们可以推测这类用户主要看重手机的品质,当然这类手机一般都是高端的定制手机。因此,这类手机大多是手机玩家,发烧友。如果手机能很好满足他们的需求,他们愿意做出较好的评价。因此针对这类用户,我们可以体检性能好、功能强大的手机。


R语言SVM模型文本挖掘分类研究手机评论数据词云可视化_机器学习_11

标签:SVM,分类,分类器,词频,可视化,手机,词云,文本,数据
From: https://blog.51cto.com/u_14293657/9275880

相关文章

  • R语言数据可视化分析案例:探索BRFSS数据
    原文链接:http://tecdat.cn/?p=9284 加载包   library(tidyr)library(knitr)opts_chunk$set(echo=TRUE,fig.align="center") 载入资料 rload("brfss2013.RData")第1部分:数据描述如何收集样本中的观测值,以及此数据收集方法对推断范围(可概括性/因......
  • R语言关联规则模型(Apriori算法)挖掘杂货店的交易数据与交互可视化
    原文链接:http://tecdat.cn/?p=22732 原文出处:拓端数据部落公众号 关联规则挖掘是一种无监督的学习方法,从交易数据中挖掘规则。它有助于找出数据集中的关系和一起出现的项目。在这篇文章中,我将解释如何在R中提取关联规则。关联规则模型适用于交易数据。交易数据的一个例子可以......
  • R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化
    全文链接:https://tecdat.cn/?p=34827原文出处:拓端数据部落公众号在房地产市场中,准确地预测房屋价格是至关重要的。过去几十年来,随着数据科学和机器学习的快速发展,各种预测模型被广泛应用于房屋价格预测中。而R语言作为一种强大的数据分析和统计建模工具,被越来越多的研究者和从业......
  • API可视化编排如何实现
    企业随着前后端分离架构、微服务架构、中台战略、产业互联互通的实施必将产生大量的各种协议的API服务,API将成为企业的数字化资产且API会越来越多, API服务之间的相互调用和依赖情况也随之越来越多和复杂。业务系统与业务系统之间、关联企业之间的API都相应存在大量的API相互调用......
  • Mysql中设置只允许指定ip能连接访问(可视化工具的方式)
    场景Mysql中怎样设置指定ip远程访问连接:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/115308120前面设置root账户指定ip能连接访问是通过命令行的方式,如果通过可视化工具比如Navicat来实现。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、使用N......
  • 数据可视化为什么能够为我们的生活带来改变?
    数据可视化,作为信息时代的一项强大技术,不仅改变了我们对数据的理解方式,更在日常生活中悄然发挥着深远的作用。下面我就以可视化从业者的角度来简单说说这个话题。在这个信息爆炸的时代,我们每天都面对着大量的数据。传统的数据呈现方式可能让人望而生畏,但数据可视化以其生动的图......
  • C#基于ScottPlot进行可视化
    C#基于ScottPlot进行可视化前言上一篇文章跟大家分享了用NumSharp实现简单的线性回归,但是没有进行可视化,可能对拟合的过程没有直观的感受,因此今天跟大家介绍一下使用C#基于Scottplot进行可视化,当然Python的代码,我也会同步进行可视化。Python代码进行可视化Python代码用matplot......
  • 数据可视化是如何帮助大型企业提高效率的?
    在当今信息大爆炸的时代,大型企业面临着前所未有的数据挑战。数据量庞大、多样化的信息汇聚,无疑成为企业高效运营的挑战之一。幸运的是,数据可视化作为一种强大的工具,正成为大型企业提高效率、优化决策的得力助手。数据可视化首先为企业带来了信息的直观呈现。通过图......
  • 数据可视化是如何帮助我们高效了解数据的?
    在信息爆炸的时代,数据扮演着越来越重要的角色,而数据可视化则成为解读和理解海量数据的得力工具。那么,数据可视化是如何帮助我们高效了解数据的呢?下面我就以可视化从业者的角度来简单聊聊这个话题。无需深奥的专业知识,数据可视化以直观、生动的方式呈现数据,让我们能够一眼洞悉信......
  • Python数据可视化操作:使用pygal库绘制直方图、XY线图和饼状图
    pygal是一个功能强大的Python库,用于绘制漂亮且交互性强的数据可视化图表。本文将深入介绍如何使用pygal库绘制直方图、XY线图和饼状图,并通过案例讲解帮助读者更好地掌握这些功能。1.绘制直方图直方图是一种用于表示数据分布的图表,通过柱形的高度展示不同数值的频率。下面是绘制直......