自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(618)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 机器学习 专栏

随着现在以ChatGPT为代表的大模型发展,人工智能、机器学习、大模型 这些词逐渐火热起来了,所以是时候了解一下这些东西了,可能有的人会说不会太晚了吗,其实不晚,因为我们从来都是技术的创造者,只是技术的使用者而已,在一定程度上来说,及时的学会使用,对普通人来说就足以过上不错的日子。但是伴随着老的生产力的落幕,必然有新的生产力出现,否则整个社会的发展就陷入了停滞,其实我们可以看到现在的AI 发展的这么快,每一轮的技术发展都会有一二十年的生命周期,我们只能说传统互联网走到了夕阳西下的时候。

2024-03-30 13:11:30 136671

原创 数据仓库实战教程

以hadoop 作为基础生态,从0到进行数仓建设,主要分为基础篇和实战篇两部分,基础篇主要是各种组件的学习和案例,实战篇主要是三家企业的数仓设计案例,最后是扩展篇主要是实时数仓。

2020-12-28 09:19:07 189893 18

原创 Java集合汇总篇

一. 集合框架Java 集合框架一些列的接口和类来实现很多常见的数据结构和算法,例如 LinkedList 就是集合框架提供的实现了双向链表的数据结构,关于这一篇文章建议大家收藏,我会不断地完善和扩充它的内容,例如最下面的系列文章我以后也会对它进行不断的更新集合框架的接口集合框架提供了很多接口,这些接口都包含了特定的方法来实现对集合上的特定操作)我们将要学习这些接口以及子接口和它们的各种实现类,在开始之前我们先简单学习一下这些广泛运用的接口,可以看到整个集合框架,总共有三个顶级接口Collecti

2020-12-13 20:25:05 189964 3

原创 Spark MLlib 特征工程系列—特征转换QuantileDiscretizer

是 Spark 提供的一个特征转换器,用于将连续数值型特征离散化为多个区间。与Bucketizer不同,基于分位数(Quantiles)来划分数据,使得每个区间内的数据点数大致相等。这种方法在对数据进行分箱(Binning)时非常有效,特别是当数据的分布不均匀时。是一种基于分位数的离散化工具,特别适合数据分布不均衡的场景。通过设置区间数量,可以灵活调整离散化后的特征,使得每个区间内的数据点数接近一致。在实际应用中,常用于信用评分、市场分析等需要特征离散化的领域。掌握。

2024-08-24 07:00:00

原创 Spark MLlib 特征工程系列—特征转换RobustScaler

是一种基于数据的中位数和四分位数(interquartile range, IQR)进行缩放的工具。与基于均值和标准差的不同,更加适用于数据中存在离群值的情况,因为它不依赖于均值和标准差,而是基于数据的中位数和四分位差进行缩放。xscaledx−medianIQRxscaled​IQRx−median​medianmedian是数据的中位数。

2024-08-23 10:29:29 274

原创 Spark MLlib 特征工程系列—特征转换Polynomial Expansion

是 Spark MLlib 中的一种特征转换工具,主要用于将原始特征进行多项式扩展。多项式扩展通过生成原始特征的所有多项式组合来增加特征的维度,从而提高模型的表达能力。这种方法在非线性问题的建模中非常有用,因为它允许线性模型在更高维度空间中捕捉到数据中的非线性关系。是一种特征转换工具,通过生成输入特征的多项式组合,能够扩展特征的维度,从而增强模型的表达能力。这种方法特别适合用于线性模型的非线性扩展,使其能够在更高维空间中捕捉到复杂的非线性关系。通过 Spark 中的。

2024-08-23 10:27:24 21

原创 Spark MLlib 特征工程系列—特征转换PCA(Principal Component Analysis)

主成分分析(PCA) 是一种常用的降维技术,旨在通过线性变换将数据投影到一个新的坐标系中,这个新坐标系的维度由数据的主要方差方向决定。PCA 的核心思想是找到数据中方差最大的方向,即所谓的“主成分”,并将数据投影到这些主成分上,从而减少数据的维度。在 Spark 中,PCA 是通过实现的。它通常用于降低数据的维度,使得在保证信息损失最小的前提下简化数据结构,这对于高维数据的可视化、特征工程和加速机器学习模型的训练非常有用。是一种有效的降维技术,能够在保持数据主要信息的同时,减少数据的维度。

2024-08-23 10:26:43 23

原创 Spark MLlib 特征工程系列—特征转换OneHotEncoder

是一种将类别型特征转换为独热编码的工具,常用于机器学习模型中的类别型特征处理。独热编码是一种表示类别型数据的方式,通过将类别转换为二进制向量,简化了算法对类别特征的处理。Spark 中的自动采用稀疏向量表示法,并且为了避免多重共线性,编码向量的长度为N-1,其中N为类别的数量。在使用时,通常需要先通过将类别型字符串转换为数值索引,然后再进行独热编码。只能将数值索引转换为独热编码(One-Hot Encoding),而不能直接处理字符串类别。因此,在应用之前,必须先使用。

2024-08-22 08:51:52 9

原创 Spark MLlib 特征工程系列—特征转换Normalizer

Normalizer是一种基于范数的归一化工具,通过将输入向量除以其范数,使得向量满足特定的范数要求(如 L1、L2、L∞)。归一化能够消除特征值量级差异的影响,确保模型在处理不同特征时更加平衡和稳定。Spark 的Normalizer是一种高效的大规模数据预处理方法,适用于需要特征标准化的各种场景,尤其在基于距离度量的算法中效果显著。这种特征工程方法在处理高维数据和需要标准化的数据集时,能够显著提升模型的表现力和稳定性,为后续建模打下良好的基础。

2024-08-22 08:51:10 9

原创 Spark MLlib 特征工程系列—特征转换N-Gram

NGram是一种从文本中提取连续 n 个词的工具,有助于捕捉文本中词汇之间的局部依赖关系。与简单的词频或单词袋模型相比,n-gram 特征能更好地捕捉复杂的语义信息,特别是在处理短文本或句子时,效果更加显著。它对于自然语言处理任务非常有用,可以生成一系列有意义的特征,用于文本分类、情感分析等任务。通过设置不同的 n 值,你可以生成不同长度的 n-gram 特征,灵活地适应各种文本分析需求。这使得NGram。

2024-08-21 10:44:20 122

原创 Spark MLlib 特征工程系列—特征转换MinMaxScaler

通过线性变换将特征值缩放到指定范围。它的主要目的是确保所有特征在相同的范围内,从而消除特征间因量级差异导致的影响。xscaledx−xminxmax−xmin×rmax−rminrminxscaled​xmax​−xmin​x−xmin​​×rmax​−rmin​rmin​xxx是原始特征值。xminxmin​和xmaxxmax​分别是特征在数据集中的最小值和最大值。rminrmin。

2024-08-21 10:43:40 84

原创 Spark MLlib 特征工程系列—特征提取LSH(MinHash)

MinHash 的核心思想是将集合映射为较小的哈希签名(MinHash 签名),并确保两个集合的 MinHash 签名相似度能够近似反映它们的 Jaccard 相似度。JAB∣A∩B∣∣A∪B∣JAB∣A∪B∣∣A∩B∣​对于大型集合,直接计算交集和并集的大小非常耗时,因此 MinHash 被提出以近似估计 Jaccard 相似度。MinHash 的核心思想是通过多个随机哈希函数对集合进行哈希,将每个集合映射为一组最小哈希值(MinHash 签名)。

2024-08-20 11:30:00 405

原创 Spark MLlib 特征工程系列—特征提取LSH(BucketedRandomProjectionLSH)

是 Spark 中 Locality Sensitive Hashing (LSH) 的一种实现,专门用于基于欧几里得距离的近似最近邻搜索。它通过随机投影将高维数据映射到低维空间,并利用哈希桶对数据进行分组,确保相似的数据点在哈希空间中的距离更近,从而实现快速的相似度搜索。在大数据环境中,直接计算每个数据点与其他所有点的距离代价极高,而能够有效降低计算复杂度,是处理大规模高维数据的常用工具。是 Spark 中处理高维数据相似度搜索的有效工具。

2024-08-20 09:00:00 776

原创 Spark MLlib 特征工程系列—特征转换MaxAbsScaler

是一种线性缩放工具,它将每个特征值除以其在该列中的最大绝对值,使得数据被缩放到 [-1, 1] 之间。这种方法适用于稀疏数据集(如文本数据、图像数据等),因为它不会改变数据的稀疏性。xscaledx∣xmax∣xscaled​∣xmax​∣x​xxx是原始特征值。xmaxxmax​是该特征列中最大绝对值。是一种基于最大绝对值的缩放方法,将数据缩放到 [-1, 1] 范围内。

2024-08-19 08:36:16 1312

原创 Spark MLlib 特征工程系列—特征转换Interaction

是 Spark MLlib 中的一种特征工程工具,用于生成输入特征之间的交互特征。交互特征是两个或多个原始特征的组合,通常表示这些特征之间的关系。通过生成交互特征,模型可以更好地捕捉输入特征之间的相互作用,从而提升模型的表现力和准确性。是一种特征工程方法,通过生成输入特征之间的组合或交互,丰富了模型的输入信息,使得模型能够捕捉到特征之间的复杂关系。在很多实际应用中,特征之间的交互作用可能对目标变量有着显著影响,通过生成这些交互特征,模型能够更好地描述和预测复杂的模式。

2024-08-19 08:35:17 1267

原创 Spark MLlib 特征工程系列—特征转换Imputer

Imputer是 Spark 中用于处理缺失数据的工具。在机器学习数据预处理中,缺失值是常见的问题。Imputer可以填充数值型数据中的缺失值,通过使用指定的策略(如均值、中位数)替换缺失值,从而提高数据质量并确保模型训练时不受缺失数据的影响。Imputer是 Spark 中处理数值型缺失值的工具,通过设置输入输出列和填充策略,可以方便地处理数据中的缺失问题。根据数据的分布特征选择合适的填充策略,可以提高模型的稳定性和预测能力。在实际应用中,Imputer。

2024-08-18 09:30:00 2403

原创 Spark MLlib 特征工程系列—特征转换ElementwiseProduct

的核心思想是将输入向量中的每个元素与预定义的权重向量(scaling vector)逐元素相乘,生成一个新的向量。输入向量v为v1v2vnv 为 ( [v_1, v_2, \dots, v_n] )v为([v1​v2​vn​])。权重向量w为w1w2wnw 为 ( [w_1, w_2, \dots, w_n] )w为([w1​w2​wn​])。

2024-08-18 07:00:00 2404

原创 Spark MLlib 特征工程系列—特征转换DCT(Discrete Cosine Transform)

离散余弦变换(Discrete Cosine Transform,DCT)是一种用于信号处理和图像压缩的重要工具。它将信号或数据从时域或空域转换到频域,使数据表示为不同频率的余弦函数的加权和。DCT 在许多应用中使用,如 JPEG 图像压缩和音频信号处理,因为它能有效地将大部分信号能量集中在低频成分,从而减少冗余信息。在机器学习中,DCT 可用于特征提取,帮助将数据表示为频域特征,进而用于分类、聚类等任务。在信号处理和数据分析中,时域空域和频域是描述数据的不同视角。时域。

2024-08-17 15:23:26 3101

原创 Spark MLlib 特征工程系列—特征转换Bucketizer

Bucketizer可以根据指定的边界将连续变量分桶(分区间),将其转化为离散变量。每个区间代表一个特定的“桶”,原始数据将根据落入哪个区间而被标记为相应的桶标签。Bucketizer通过指定一组分割点(splits)来定义区间(桶)。原始数据根据这些分割点进行划分,然后映射到对应的桶标签。splits 的第一个元素是区间的最小值(可以是负无穷大),最后一个元素是区间的最大值(可以是正无穷大)。splits 数组中的元素必须按升序排列。

2024-08-17 07:45:00 3463

原创 Spark MLlib 特征工程系列—特征转换Binarizer

Binarizer如果特征值大于或等于阈值,则输出 1。如果特征值小于阈值,则输出 0。y1如果x≥threshold0如果xthreshold1, & \text{如果 } x \geq \text{threshold} \\0, & \text{如果 } x < \text{threshold}y10​如果x≥threshold如果xthreshold​xxx是输入特征值。threshold是用户定义的阈值。Binarizer。

2024-08-17 07:00:00 3317

原创 Spark MLlib 特征工程系列—特征提取Word2Vec

Word2Vec 是一种流行的词嵌入方法,用于将词语转换为低维的向量表示,这些向量能够捕捉词语之间的语义关系。:词向量的每个维度(即向量中的每个数字)通常不直接代表某个具体的语法或语义特征,而是从大规模语料中学习到的抽象特征。词向量的维度指的是用来表示每个词语的向量的长度,或者说是向量中包含的数值元素的个数。Word2Vec 的主要目标是生成单词的向量表示,而不是整个文本的向量表示。:如果词向量的维度是 100,那么每个词语都被表示为一个 100 维的实数向量,类似于一个包含 100 个数字的列表。

2024-08-16 09:48:55 4388

原创 Spark MLlib 特征工程系列—特征提取FeatureHasher

FeatureHasher 是一种强大的工具,适合处理复杂、多样化的数据类型,特别是在大规模数据处理中。然而,它的哈希冲突问题和不可解释性也需要在使用时考虑到。通过灵活地设置特征大小(numFeatures)和选择适合的输入特征列,可以有效地将各种类型的数据映射为固定大小的特征向量。

2024-08-16 09:47:54 4026

原创 Spark MLlib 特征工程系列—特征提取CountVectorizer

CountVectorizer的优点是,简单易用:易于理解和实现,适用于基本的文本分类任务。可解释性强:生成的特征向量中的每一维度对应词汇表中的一个词汇,易于解释。缺点是维度高:词汇表的大小可能很大,导致特征向量的维度非常高,可能需要处理大量的特征。稀疏矩阵:生成的特征向量通常是稀疏的,存储和计算上可能会浪费资源。无法捕捉词语顺序:CountVectorizer 只关注词的出现次数,忽略了词语的顺序和上下文信息。CountVectorizer 是一种将文本数据转换为特征向量的技术,通过统计词频来生成特征。

2024-08-15 15:55:39 4575

原创 Spark MLlib 特征工程系列—特征提取 TF-IDF

TF-IDF 是文本分类、聚类、信息检索等任务中的一种常见特征提取方法。通过降低常见词汇的权重,TF-IDF 能够更有效地捕捉那些对文档区分度更高的词汇,从而提高模型的效果。IDF 是 TF-IDF 中的重要组成部分,用于调整词频,以减少常见词对文本分析任务的影响。在 Spark 中,可以结合 HashingTF 或 CountVectorizer 来计算 TF-IDF 特征,进而用于各种机器学习任务。

2024-08-15 15:53:33 4817

原创 Spark MLlib 特征工程系列—相关性计算

假设检验(hypothesis testing),又称统计假设检验,是一种统计方法用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法,从而判断样本数据是否支持某个假设。显著性检验是假设检验中最常用的一种方法,也是一种最基本的统计推断形式,其基本原理是先对总体的特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出推断。计算两个数据序列之间的相关性是统计学中的一项常见操作。可用的度量是列的最大值、最小值、平均值、总和、方差、标准差和非零个数,以及总计数。

2024-08-15 15:51:42 4364

原创 Spark MLlib Pipeline

简单地说,Pipeline 是一套基于 DataFrame 的高阶开发 API,它让开发者以一种高效的方式,更轻松地将多种算法组合成单个管道或工作流,来打造端到端的机器学习流水线。这么说可能比较抽象,我们不妨先来看看,Pipeline 都有哪些核心组件,它们又提供了哪些功能。Pipeline将多个s 和Estimators 链接在一起生成一个ML Pipeline。

2024-08-14 16:48:10 5109

原创 Spark MLlib 特征工程(下)

可以看到,随着特征工程的推进,模型在训练集上的预测误差越来越小,这说明模型的拟合能力越来越强,而这也就意味着,特征工程确实有助于模型性能的提升。

2024-08-14 16:45:52 5153

原创 Spark MLlib 特征工程(上)

特征选择的动机,在于提取与预测标的关联度更高的特征,从而精简模型尺寸、提升模型泛化能力。特征选择可以从两方面入手,业务出发的专家经验和基于数据的统计分析。归一化的目的,在于去掉不同特征之间量纲的影响,避免量纲不一致而导致的梯度下降震荡、模型收敛效率低下等问题。归一化的具体做法,是把不同特征都缩放到同一个值域。在这方面,Spark MLlib 提供了多种归一化方法供开发者选择。

2024-08-14 16:42:19 5650

原创 Spark MLlib 从房价预测”开始

这里的问题就是根据已有的历史数据,建立模型,来预测房价,因为这个例子中我们的问题其实已经很明显了,但是在一些大型项目中,我们一开始要做的事情其实是理清边界,从而确定问题,接下来根据问题来收集数据你需要掌握机器学习是怎样的一个计算过程。所谓机器学习(Machine Learning),它指的是这样一种计算过程。

2024-08-14 16:40:24 5032

原创 Spark MLlib数据结构—Vector和Matrix

对于多类分类,标签应该是从零开始的类索引:0、1、2,MLlib支持密集矩阵和稀疏矩阵,密集矩阵的全部值按列主顺序存储在单个double类型数组中,稀疏矩阵的非零条目值按列主顺序以压缩稀疏列(CSC)格式存储。MLlib支持存储在单台机器上的局部向量和矩阵,以及由一个或多个RDD支持的分布式矩阵。记住,MLlib中的本地矩阵是按列的主顺序存储的。是一个面向行的分布式矩阵,没有有意义的行索引,由 RDD 和它的行支持,其中每行都是一个局部向量。是一个没有有意义行索引的行式分布式矩阵,例如,特征向量的集合。

2024-08-14 16:38:30 4728

原创 自然语言处理—TF-IDF

这一小节,我们开始涉及了一点关于自然语言处理的知识。我在这一小节讲解了一个比较古老,但是很实用的关键词提取算法 TF-IDF,它的原理十分简单、易于理解,通过 TF-IDF 的计算,保留了那些出现频率高的词汇,同时又能够打压那些比较普通的词汇,即便是现在,这个算法仍然有比较广泛的应用。

2024-08-12 10:58:48 7053

原创 数仓建模—CDP和DMP

为了方便理解我们使用一些例子来说明DMP可以理解为巨大的流量池,在这个池子里可以投放广告,选择潜在客户,CDP 可以理解为私域流量池,可以再次营销,也可以理解为老用户流量池DMP可以理解为一个获取精准流量的工具,CDP 可以理解为一个维护精准客户信息的工具,想象一下那些电销的都是告诉你你上个月在我们这里买了多少多少,应该快用光了,这个月我们有活动,或者是你马上过生日了,我们送你什么什么。

2024-08-07 14:42:29 10760

原创 运营模型—渠道分析体系

渠道分析的关键指标其实还是围绕着业务的,所以针对不同业务我们的指标不一样,但是最终我们的目标还是分析出渠道的好坏。总结下来就是根据业务,选择合适的渠道,根据渠道策划不同活动投放不同的广告。

2024-08-07 14:18:05 10334

原创 Doris 全新分区策略 Auto Partition

自动分区在功能上基本覆盖了动态分区的使用场景,并带来分区规则前置的拓展,大大减轻了DBA 在管理数据时的工作负担。完成分区规则的定义后,大量的分区创建工作将全部由 Doris 自动完成。LIST 自动分区支持多列分区,每个自动创建的分区仅包含一个分区值,分区名长度不能超过 50。Auto List Partition 中,分区名的创建依赖某种特定的规则,对元数据维护具有特定的含义,长度 50 的分区名,所能包含的数据实际长度可能更短。RANGE 自动分区支持单个分区列,分区列类型必须为。

2024-08-07 12:16:45 10549

原创 运营模型—流量分析模型

下面的折线图可以对各渠道的流量情况进行追踪,分析占比不合理是短期内出现的,还是长期存在的,辅助问题的分析。怎样的占比才是合理的,在不同的场景下是不同的,但通常来说,付费流量占比不应过高,通用渠道占比应占据主导地位。流量按周的规律分布,工作日的流量较高,周末的流量比较低,但是上图中5月2日和4月1日是周一,流量也非常低,观察日历发现这两天为五一和清明假期,依然是休息日,所以流量不高。一般来说,流量以周为单位,周期性分布的情况是比较多的,将视角拉长,一次性多看几个周的数据,便于发现问题。

2024-08-07 11:12:31 10251

原创 Doris 数据集成 Apache Paimon

对于基线数据来说,Apache Paimon 在 0.6 版本中引入 Primary Key Table Read Optimized 功能后,使得查询引擎可以直接访问底层的 Parquet/ORC 文件,大幅提升了基线数据的读取效率。Apache Paimon 是一种数据湖格式,并创新性地将数据湖格式和 LSM 结构的优势相结合,成功将高效的实时流更新能力引入数据湖架构中,这使得 Paimon 能够实现数据的高效管理和实时分析,为构建实时湖仓架构提供了强大的支撑。

2024-08-06 16:38:23 10721

原创 Doris 数据集成 Apache Hudi

对于 Hudi COW 表的查询或者 MOR 表的 Read Optimized 查询而言,其数据都属于基线数据,可直接通过 Doris 原生的 Parquet Reader 读取数据文件,且可获得极速的查询响应。作为一种全新的开放式的数据管理架构,湖仓一体(Data Lakehouse)融合了数据仓库的高性能、实时性以及数据湖的低成本、灵活性等优势,帮助用户更加便捷地满足各种数据处理分析的需求,在企业的大数据体系中已经得到越来越多的应用。语句来查看一个下方示例的查询中,分别有多少基线数据和增量数据。

2024-08-06 16:37:12 10413

原创 Doris数据集成 Apache Iceberg

Apache Iceberg 是一种开源、高性能、高可靠的数据湖表格式,可实现超大规模数据的分析与管理。它支持 Apache Doris 在内的多种主流查询引擎,兼容 HDFS 以及各种对象云存储,具备 ACID、Schema 演进、高级过滤、隐藏分区和分区布局演进等特性,可确保高性能查询以及数据的可靠性及一致性,其时间旅行和版本回滚功能也为数据管理带来较高的灵活性。未来 ,Apache Iceberg 将作为 Apache Doris 的原生表引擎之一,提供更加完善的湖格式数据的分析、管理功能。

2024-08-06 16:28:13 10285

原创 数仓建模—Data Warebase AI 时代数据平台应当的样子

引言:在这个 AI 技术飞速发展的时代,我们有能力更深入地发掘数据潜在的价值,而数据处理不应当成为阻碍。云原生分布式 Data Warebase 将开启处理数据的新范式,它让数据的使用返璞归真,不论是存储还是查询,一个系统满足业务全方位数据需求。打破复杂数据架构的束缚,大大降低数据的使用门槛,释放数据潜能,让数据涌现智能。2002 年我加入 Microsoft SQL Server 引擎团队。那时的数据库市场相对简单,主要有三个厂商:Oracle、IBM(DB2)和 Microsoft(SQL Server

2024-07-29 11:06:33 21838

原创 SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

Apache SeaTunnel 作为一款强大的数据同步和转换工具,凭借其部署易用性、容错机制、数据源支持、性能优势、功能丰富性以及活跃的社区支持,成为了数据工程师们不可或缺的利器。SeaTunnel 能够满足各种规模和类型的数据处理需求,为用户提供高效、稳定和灵活的数据处理解决方案。随着数据环境的不断演变和发展,SeaTunnel 将继续在数据同步和转换领域发挥领导作用,推动数据驱动的业务发展。同时有商业版的产品,由商业公司提供产品企业级功能增强、服务、运维、Debug。

2024-07-25 17:10:18 28349

数据仓库理论与实战(适用于从事数仓方向的小伙伴)

数据仓库理论与实战(适用于从事数仓方向的小伙伴)

2022-02-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除