Scala
文章平均质量分 75
妙龄少女郭德纲
个人公众号 是十三不是四十三 ,分享一些算法和大数据相关的知识~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图计算:基于SparkGrpahX计算聚类系数
聚类系数(Clustering Coefficient)是图计算和网络分析中的一个重要概念,用于衡量网络中节点的局部聚集程度。它有助于理解网络中节点之间的紧密程度和网络的结构特性。这是一种用来衡量图中节点聚类程度的指标。它主要衡量一个节点的邻居之间的连接程度,反映了图中局部的紧密性或群聚程度。聚类系数可以用来揭示网络中的社区结构和节点之间的关系。聚类系数适用于无向图,PageRank适用于有向图。聚类系数的定义。原创 2024-09-12 10:12:41 · 700 阅读 · 0 评论 -
基于SparkGraphX实现带权重的PageRank算法
网页排序算法之PageRank其实PageRank也没跳出之前在前几篇文章中提到过的Pregel三件套,步骤一样,按需求修改源码即可。原创 2024-09-02 12:18:03 · 745 阅读 · 0 评论 -
使用SparkGraphX进行图计算时的编码问题
在SparkGraphX体系中,要求图网络中的点ID必须为Long类型,不像Python中的networkX工具包支持字符串类型的节点表示,但在现实场景中,有很多情况下,点ID都是字符串类型的,如身份证号、设备号或是埋点采集到的uid等等,都不是单纯能够使用Long类型来表示的。为解决上述问题,本文将提出两种解决方案,分别是Hash编码以及Row_number编码,接下来本文将详细描述上述两种方案的优缺点以及实现代码(基于Scala实现)。与Python自带的Hash编码不同,Java中的hash编码,多原创 2024-08-27 11:49:33 · 636 阅读 · 0 评论 -
基于Spark计算网络图中节点之间的Jaccard相似性
什么是MinHashLSH。原创 2024-08-22 16:16:58 · 797 阅读 · 0 评论 -
基于Spark实现大数据量的Node2Vec
Node2Vec 是一种基于图的学习算法,用于生成图中节点的低维度、高质量的向量表示。这种算法基于 word2vec 模型,将自然语言处理中的词嵌入技术应用于图结构的节点,以捕捉节点之间的复杂关系。Node2Vec 特别强调同时保留图中的局部(微观)和全局(宏观)结构信息。Node2Vec生成的节点嵌入可以有效的表示节点的网络邻域结构,其中相似或功能相关的节点在向量空间中彼此靠近,并且也可以当做特征输入到下游的机器学习任务。之前有写过一篇Python实现Node2Vec的文章,里面详细写了算法原理以及实现原创 2024-08-21 17:18:58 · 578 阅读 · 0 评论 -
基于SparkGraphX实现大数据量的Louvain算法(附Scala代码)
之前针对社群发现类算法有写过一篇用Python实现的面向小数据集的文章,其中也有涉及到Louvain算法的原理,今天这篇将主要专注于借助SparkGraphX实现Louvain算法的实现方案,该方案将更适用于大数据量,并且扩展性较好,集群资源给够就可以支持更大的数据量。不过需要注意的是,图计算框架SparkGraphX其实并不算是一个非常高效的框架(存在数据交换开销等等,可以查下资料图片),但是由于其依托于成熟的大数据框架Spark而实现,故而可以说是大数据图计算领域最为常用的一个图计算框架。其他的图计算框原创 2024-08-20 17:58:18 · 1035 阅读 · 0 评论 -
Spark算法之ALS模型(附Scala代码)
ALS模型,全称为交替最小二乘法(Alternating Least Squares),是一种基于协同过滤思想的矩阵分解算法。它的核心思想是通过隐含特征(latent factors)联系用户兴趣和物品(item),基于用户的行为找出潜在的主题和分类,然后对物品进行自动聚类,划分到不同类别或主题(代表用户的兴趣)。ALS算法的亮点之一在于优化参数时使用了交替最小二乘法,而非梯度下降算法,这使得ALS算法可以进行分布式并行计算。原创 2024-06-26 17:02:00 · 1627 阅读 · 0 评论
分享