spark lda对参数进行调试

LDA模型参数设置,训练效果较好 前言:写小论文用到lda主题模型,在网上找了一圈没有找到训练效果较好的模型参数示例。为了写出小论文做了很多次实验,达到了实验中最好的效果,故贴出 代码: from gensim.models import LdaModel lda = LdaModel(corpus=corpus, id2word=dictionary, num_topics=size_lda, alpha="auto",eta='auto',passes=20) 其中,corpus,id2word,num_topics不多解释,主要是 阅读详情

online 方法setMaxIter

//对迭代次数进行循环
for(i<-Array(5,10,20,40,60,120,200,500)){
    val lda=new LDA()
                .setK(3)
                .setTopicConcentration(3)
                .setDocConcentration(3)
                .setOptimizer("online")
                .setCheckpointInterval(10)
                .setMaxIter(i)
    val model=lda.fit(dataset_lpa) 

    val ll = model.logLikelihood(dataset_lpa) 
    val lp = model.logPerplexity(dataset_lpa)

    println(s"$i $ll")
    println(s"$i $lp")
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

可以得到如下的结果:logPerplexity在减小,LogLikelihood在增加,最大迭代次数需要设置50次以上,才能收敛: 
这里写图片描述 
这里写图片描述

Dirichlet分布的参数α、β 
       docConcentration(Dirichlet分布的参数α) 
       topicConcentration(Dirichlet分布的参数β) 
       首先要强调的是EM和Online两种算法,上述两个参数的设置是完全不同的。 
EM方法: 
       (1)docConcentration: 只支持对称先验,K维向量的值都相同,必须>1.0。向量-1表示默认,k维向量值为(50/k)+1。 
       (2)topicConcentration: 只支持对称先验,值必须>1.0。向量-1表示默认。 
       docConcentration: Only symmetric priors are supported, so all values in the provided k-dimensional vector must be identical. All values must also be >1.0. Providing Vector(-1) results in default behavior (uniform k dimensional vector with value (50/k)+1 
       topicConcentration: Only symmetric priors supported. Values must be >1.0. Providing -1 results in defaulting to a value of 0.1+1. 
       由于这些参数都有明确的设置规则,因此也就不存在调优的问题了,计算出一个固定的值就可以了。但是我们还是实验下:

//EM 方法,分析setDocConcentration的影响,计算(50/k)+1=50/5+1=11
for(i<-Array(1.2,3,5,7,9,11,12,13,14,15,16,17,18,19,20)){
    val lda=new LDA()
                .setK(5)
                .setTopicConcentration(1.1)
                .setDocConcentration(i)
                .setOptimizer("em")                
                .setMaxIter(30)

    val model=lda.fit(dataset_lpa) 
    val lp = model.logPerplexity(dataset_lpa)
    println(s"$i $lp") 
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

可以看出果然DocConcentration>=11后,logPerplexity就不再下降了。 
这里写图片描述 
在确定DocConcentration=11后,继续对topicConcentration分析,发现logPerplexity对topicConcentration不敏感。

1.1         2.602768469 
1.2         2.551084142 
1.5         2.523405179 
2.0         2.524881353 
5            2.575868552

Online Variational Bayes 
       (1)docConcentration: 可以通过传递一个k维等价于Dirichlet参数的向量作为非对称先验。值应该>=0。向量-1表示默认,k维向量值取(1.0/k)。 
       (2)topicConcentration: 只支持对称先验。值必须>=0。-1表示默认,取值为(1.0/k)。 
       docConcentration: Asymmetric priors can be used by passing in a vector with values equal to the Dirichlet parameter in each of the k dimensions. Values should be >=0>=0. Providing Vector(-1) results in default behavior (uniform k dimensional vector with value (1.0/k)(1.0/k)) 
   topicConcentration: Only symmetric priors supported. Values must be >=0>=0. Providing -1 results in defaulting to a value of (1.0/k)(1.0/k).

运行LDA的小技巧

       (1)确保迭代次数足够多。这个前面已经讲过了。前期的迭代返回一些无用的(极其相似的)话题,但是继续迭代多次后结果明显改善。我们注意到这对EM算法尤其有效。 
       (2)对于数据中特殊停用词的处理方法,通常的做法是运行一遍LDA,观察各个话题,挑出各个话题中的停用词,把他们滤除,再运行一遍LDA。 
       (3)确定话题的个数是一门艺术。有些算法可以自动选择话题个数,但是领域知识对得到好的结果至关重要。 
       (4)特征变换类的Pipeline API对于LDA的文字预处理工作极其有用;重点查看Tokenizer,StopwordsRemover和CountVectorizer接口. 
       对文本的预处理,还可以参考我的另外两篇文章《Spark2.0 特征提取、转换、选择之一:数据规范化…》《Spark2.0 特征提取、转换、选择之二:特征选择、文本处理…》。

PySpark数据科学实战:从单机到分布式思维跃迁 分布式计算是现代数据处理的基础能力,其核心在于将海量数据(Volume)、高速流式数据(Velocity)和多源异构数据(Variety)统一纳入可扩展、容错、可调度的执行框架。PySpark作为Apache Spark的Python接口,通过惰性求值、DAG优化、血缘追踪与Executor资源协同等机制,将复杂的大数据工程抽象为数据科学家可理解、可调试、可迭代的链式操作。它不替代建模算法,而是消除‘数据太大无法计算’这一根本瓶颈,支撑实时风控、用户行为分析、推荐系统等典型场景。本文聚焦PySpark在真实 阅读详情

相关推荐

NLP技术在社交媒体分析中的实战应用与优化

自然语言处理(NLP)作为人工智能的核心技术之一,通过词向量表示、注意力机制等算法实现文本语义理解。其核心价值在于将非结构化文本转化为可计算的特征表示,在情感分析、话题识别等场景展现强大能力。社交媒体分析作为典型应用领域,面临文本碎片化、实时性要求高等挑战。通过预训练模型(如BERT、RoBERTa)的领域适配和轻量化部署,结合情感极性判断、LDA话题建模等技术,可显著提升UGC内容挖掘效率。实践中,Twitter-RoBERTa等专用模型配合TF-IDF特征工程,能使舆情监测准确率达到90%以上,同时基于

weixin_30607029的博客 439

NLP︱LDA主题模型的应用难题

NLP︱LDA主题模型的应用难题   将LDA跟多元统计分析结合起来看,那么LDA中的主题就像词主成分,其把主成分-样本之间的关系说清楚了。多元学的时候聚类分为Q型聚类、R型聚类以及主成分分析。R型聚类、主成分分析针对变量,Q型聚类针对样本。 PCA主要将的是主成分-变量之间的关系,在文本中LDA也有同样的效果,将一撮词(变量)变成话题(主成分),同时通过画像主成分,可以知道人群喜欢什么样子

Devin Jiang的博客 5209

LDA的优化算法:拟牛顿法

LDA的优化算法:拟牛顿法 作者:禅与计算机程序设计艺术 1. 背景介绍 潜在狄利克雷分配(Latent Dirichlet Allocation, LDA)是一种广泛应用于自然语言处理、文本挖掘等领域的主题模型算法。LDA通过建立文档-主题和词-主题的概率分布,发现文档中隐含的主题

AI天才研究院 1269

sklearn-逻辑回归-max_iter参数讲解

求解梯度,是在损失函数J(θ1,θ2)上对损失函数自身的自变量θ1和θ2求偏导,而这两个自变量,刚好是逻辑回归的预测函数(图1)的参数。

Zerol_Yan的博客 2609

【信息科学与工程学】【数据科学】数据科学领域 第十二篇 大数据主要算法07 任务工序(2)

工序类别工序名称工序描述处理时序输入输出控制点质量指标异常处理数据接入工序​流数据源连接连接到外部流数据源初始阶段流数据源配置流数据连接连接参数配置连接成功率重连机制,失败告警数据拉取从数据源拉取数据持续实时数据源连接原始数据流拉取频率,批大小数据延迟,吞吐量超时重试,流量控制反序列化将二进制数据反序列化数据到达时二进制数据结构化数据记录序列化格式反序列化成功率格式异常处理数据预处理工序​数据验证验证数据完整性和格式反序列化后原始数据记录验证后数据验证规则数据质量合格率丢弃无效数据,异常记录数据清洗清洗脏数

weixin_49199313的博客 781

Eplan2022 复制已有的宏文件生成新的原理图宏文件

Eplan2022 新建原理图宏文件

haier123888的博客 1万+

LDA(主题模型)

https://www.cnblogs.com/pinard/p/6831308.html https://www.jianshu.com/p/aed4014b069d https://www.cnblogs.com/yifdu25/p/8099826.html https://www.jianshu.com/p/fa97454c9ffd https://blog.youkuaiyun.com/huagong...

上帝是个娘们的博客 705

Ubuntu 22.04蓝牙开关秒关?别慌,可能是这个Intel固件文件在搞鬼

本文深入解析Ubuntu 22.04蓝牙开关秒关问题,指出Intel固件文件缺失是常见原因,并提供详细修复方案。通过确认硬件型号、检查固件文件及智能替代方案,帮助用户快速解决蓝牙故障,提升系统稳定性。

weixin_30247307的博客 755

Spark2.0机器学习系列之9: 聚类算法(LDA)

聚类算法 LDA Spark2.0代码

qq_34531825的博客 2万+

2025东方财富笔试考什么?cata能力测评攻略|答题技巧真题分享

4月10日-4月20日 专业笔试(行测+金融知识混合双打) 4月25日-5月10日 面试车轮战(AI面+半结构化+压力面) 5月15日起 Offer发放(谈薪必杀技:对标同花顺/雪球)这里不仅是金融极客的乐园,更是**“年薪30万管培生计划”**的主战场——你将用代码重构K线,用算法预判市场,成为资本市场的“数字先知”。东方财富,中国金融信息服务领域的“隐形冠军”,以**“金融数据+互联网”双擎驱动**,打造了覆盖证券、基金、期货的全生态交易平台。:• “我总坚持自己的方案”(HR:团队毒药!

Dgntsj的博客 3261

Arduino粉尘传感器DIY:打造智能PM2.5监测仪

本文详细介绍了如何利用Arduino和粉尘传感器DIY一个智能PM2.5监测仪。从硬件选购、接线步骤到代码编写,提供了完整的制作指南,帮助读者以低成本打造透明可靠的空气质量监测设备,并探讨了数据解读与智能升级方案。

i3j4k5的博客 390

spark1.0和2.0的区别_Spark2.0 VS Spark 1.* -------SparkSession的区别

Spark .0以前版本:val sparkConf = new SparkConf().setAppName("soyo")val spark = new SparkContext(sparkConf)Spark .0以后版本:(上面的写法兼容)直接用SparkSession:val spark = SparkSession.builder.appName("soyo").getOrCreate...

weixin_29699041的博客 402

GPL vs MIT:独立开发者选择开源协议的法律与商业考量

你可能听过这样的故事:某个开发者用业余时间写了个超好用的工具库,开源后被某大厂悄悄集成到闭源产品里赚得盆满钵满,开发者却连杯奶茶钱都没拿到;也可能听说过另一个案例:开发者选了GPL协议,结果用户修改代码后必须开源,反而推动项目社区快速壮大,最终靠技术服务赚到了钱。这些故事的核心矛盾,都源于开源协议的选择。对于独立开发者(尤其是单枪匹马写代码的个人或小团队),开源协议不是“随便选一个就行”的小事——它是代码的“使用说明书”,更是保护自身权益、规划项目未来的关键工具。

AI天才研究院 1179

hadoop distcp 参数调优_阿里巴巴资深架构师熬几个通宵肛出来的Spark+Hadoop+中台实战pdf - 架构技术分享交流...

Spark大数据分析实战1、Spark简介初识SparkSp ark生态系统BDASSp ark架构与运行逻辑弹性分布式数据集2、Spark开发与环境配置Spark应用开发环境2置使用Intelli i开发Spark远程调试Spark程序Spark编译配置Spark源码阅读环境3、BDAS简介SQL on SparkSpark StreamingGr aphXMIlib4、Lamda架构日志分析流...

weixin_39923157的博客 235

/home 挂载点无法访问 怎么解决 指令可以进入Home目录 du: 无法访问“*“: 输入/输出错误

本文介绍了Linux系统中XFS文件系统损坏的故障排查与修复方法。当/home挂载点出现I/O错误时,通过dmesg发现XFS日志错误和磁盘I/O报错,判断可能是文件系统逻辑损坏或硬件故障。解决方案包括:1)尝试卸载分区;2)使用xfs_repair工具进行预检查和正式修复;3)在极端情况下使用-L参数强制清空日志;4)若存在硬件故障,建议优先进行数据抢救并更换硬盘。最后强调重要数据应先备份,再考虑系统重建。

专注于计算机研发知识和资讯分享 155

AI原生SaaS应用的自动化运维体系构建

随着ChatGPT掀起的AI原生应用浪潮,越来越多SaaS(软件即服务)产品开始以"AI优先"的方式设计——从用户交互到核心功能,都深度依赖机器学习模型(如推荐算法、智能客服)、实时数据流(如用户行为分析)和弹性算力(如大模型推理)。这类应用的运维需求与传统SaaS完全不同:传统运维像"修水管",哪里漏了补哪里;AI原生运维则像"照顾会成长的宠物",需要实时感知模型状态、数据变化和流量波动,主动调整资源。

AI天才研究院 1080

基于Spark ML 聚类分析实战的KMeans

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34040079的博客 761

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

基于数据挖掘的直播数据可视化分析系统设计与实践

数据挖掘是从海量数据中提取有价值信息和模式的关键技术,其核心原理在于通过算法自动发现数据中的规律、关联和趋势。在数据驱动的时代,这项技术为业务决策提供了从描述性分析到预测性洞察的跃升,其技术价值体现在将非结构化、高维度的原始数据转化为可理解、可操作的知识。在直播、电商、社交等互联网应用场景中,数据挖掘技术被广泛应用于用户行为分析、内容理解、智能推荐等领域。本文聚焦于直播行业,深入探讨如何运用文本分析、关联规则挖掘等方法,结合ECharts等可视化工具,构建一个能够处理海量弹幕与用户行为数据,并最终产出业务洞

413

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

基于Django的微博事件分析系统设计与实现

社交媒体数据分析是当前大数据领域的重要应用方向,其核心在于将非结构化文本转化为结构化信息。通过Scrapy等爬虫框架采集原始数据后,需要经过文本清洗、情感分析和主题建模等关键步骤。Django作为Python生态中的高效Web框架,配合ECharts等可视化工具,能够构建完整的数据分析系统。这类系统在舆情监控、热点事件追踪等场景具有重要价值,特别是结合LDA主题模型和BERT等NLP技术后,可以显著提升事件检测和情感分析的准确率。微博事件分析系统的实现过程,为开发者提供了Web全栈开发与数据挖掘结合的典型范

weixin_33811539的博客 429

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MLSQL 的小记

???? MLSQL 的小记 MLSQL 解决了哪些问题 一. 配置 MLSQL 源码地址 engine和cluster 源码地址 console 1. mlsql-engine 模块 下图 mlsql_18.png 为 节点启动mlslq-engine 命令打印出的 为命令谁需要的变量 windows环境下调试代码:idea 打包在下载代码,修改package.cmd 。执行package.cmd 即可打包。 set MLSQL_SPARK_VERSIOIN=2.4 set DRY_RUN=false

qq_42496461的博客 838

Python网络小说分析系统:架构设计与实现

文本分析系统在现代数据处理中扮演着重要角色,其核心原理是通过NLP技术提取文本特征并进行结构化处理。以网络小说分析为例,系统通常采用分布式爬虫架构(如Scrapy-Redis)实现数据采集,结合TF-IDF和LDA等算法进行特征提取,最终通过Elasticsearch存储和可视化展示。这类技术在数字阅读领域具有重要价值,能够有效解决作品质量评估、题材分类和跨平台数据分析等实际问题。本文详细介绍的Python网络小说分析系统,特别针对网络文学特有的语言特征(如'修仙''爽文'等专有词汇)进行了优化,并提供了从

aoe41606的博客 443

B站大数据分析实战:从数据采集到用户兴趣图谱

大数据分析技术通过采集、处理和分析海量数据,揭示用户行为模式和内容趋势。其核心原理包括数据爬取、清洗、存储和建模,最终实现商业智能和用户洞察。在视频平台领域,弹幕和评论数据的情感分析、实体识别等技术尤为重要,可应用于内容优化、舆情监控等场景。以B站为例,通过Python+selenium采集数据,结合ClickHouse高效存储,并利用LightGBM构建预测模型,能有效分析用户兴趣和内容传播规律。本文通过实战案例,展示如何突破B站反爬机制,构建弹幕热词分析和用户兴趣图谱,为社区运营和内容创作提供数据支持。

weixin_30878501的博客 488

PySpark入门实战:从单机Pandas到分布式数据处理的临界点

PySpark 是面向大规模数据处理的分布式计算框架,其核心在于惰性求值、DAG执行计划与数据本地性原理,解决了单机内存瓶颈和不可扩展性问题。相比 Pandas 的全量加载模型,PySpark 通过逻辑视图+分区 RDD 实现可伸缩的数据流动,天然适配 HDFS/Parquet 等大数据存储,并为机器学习流水线(ML Pipeline)提供端到端工程化支持。它在电商用户行为分析、金融风控、物联网时序建模等真实场景中显著提升处理效率与稳定性。本文聚焦 PySpark 的三大支柱——分布式执行机制、Python

chuanjiaoye5017的博客 292

ANGEL:一个新型的分布式机器学习系统

引自:http://www.ccf.org.cn/c/2017-08-16/603621.shtml Angel: a new large-scale machine learning system ANGEL:一个新型的分布式机器学习系统 阅读量:36 崔斌,余乐乐 收藏本文 PDF在线浏览 下载本文    混合并行分布式机器学习异构感知SGD算法

wzebinbin的博客 6094

分布式机器学习系统之 ANGEL

引自:http://www.ccf.org.cn/c/2017-08-16/603621.shtmlAngel: a new large-scale machine learning system ANGEL:一个新型的分布式机器学习系统阅读量:36 崔斌,余乐乐 收藏本文 PDF在线浏览下载本文    混合并行分布式机器学习异构感知SGD算法 引言 当前,人工智能在多个领域的强势崛起,让人们领略到

AITBOOK 3140
上一篇: hive udaf
下一篇: 分隔和截断字符串, boost string algorithm library中的split和trim
青松愉快
博客等级 码龄14年 71粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值