自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清风徐来

Leo_Z

  • 博客(69)
  • 收藏
  • 关注

原创 凯利公式在股票投资中的实用性:理论神器还是现实陷阱?

想象你带着1000元起始资金参加这样一个翻硬币挑战游戏,你可以选择一直玩下去:每轮抛一次硬币,抛到正面,财富增加 80%。抛到反面,财富减少 50%。听上去是个稳赚不赔的游戏!但现实是……如果让10万个玩家参加这个游戏,并让他们各自玩100轮,你会发现:他们的平均财富确实在指数增长,但绝大多数人最后的财富竟然不到72元,甚至破产!为什么平均财富是增长的,但大多数人却越玩越穷?这就是典型的非遍历性陷阱。总觉得再来一局就能翻盘,恰恰是因为我们误把群体平均当成了个体命运。

2025-06-12 17:52:12 360

原创 Langchain&RAG you need - 段落拆分

文章摘要:本文介绍了LangChain中6种文本拆分器,重点推荐RecursiveCharacterTextSplitter和MarkdownHeaderTextSplitter。RecursiveCharacterTextSplitter采用逐层回退策略(段落→句子→单词→字符),适合通用文本处理,支持中文优化配置。MarkdownHeaderTextSplitter专用于结构化Markdown文档,自动维护标题层级元数据。表格对比了6种拆分器的推荐度、使用场景和特性,其中RecursiveCharact

2025-06-05 22:11:55 848

原创 深入浅出互联网归因分析模型(二):Markov链与Shapley值模型详解与实战

数据驱动的归因模型通过分析用户转化路径中的触点贡献,帮助优化营销策略。Markov链归因模型通过删除触点并观察转化率变化,衡量触点的必要性,适合分析路径顺序和关键节点。Shapley值归因模型则基于博弈论,计算触点在所有组合中的平均边际贡献,适合评估触点的整体效益。两种方法各有侧重,Markov强调路径中的关键触点,Shapley则关注触点的平均贡献,实际应用中可互为补充,提供更全面的归因分析。

2025-05-21 19:27:18 706

原创 深入浅出互联网归因分析模型(一): 6种常见的归因分析模型

在数字营销和推荐系统中,**归因分析(Attribution Analysis)**扮演着至关重要的角色。它帮助我们回答:用户完成转化前,到底是哪个渠道最起决定性作用?本文将系统梳理6种常见的归因分析模型,配以实际案例,并提供模型优化建议。在电商、APP拉新、投放优化中,我们常面临这样的疑问:用户通过搜索点击了广告,但他在三天前也点过一次公众号文章——是谁真正促成了这次转化?如果不清楚“谁功劳最大”,就无法有效分配营销预算,也难以优化运营策略。2.1 最后点击归因(Last Click Attribut

2025-05-21 18:08:48 551

原创 互联网通用指标体系说明

本说明文档系统整理了互联网行业中常用的大盘指标,包括定义、作用、计算方式及应用场景,适用于产品分析、数据监控、运营决策等多个维度。VV(Video View,视频播放量)三、内容/视频平台指标。五、指标关系与应用场景。四、电商平台核心指标。

2025-04-24 15:44:20 927

转载 pycharm + deepseek 实现curse功能

点击左侧“API Keys”,点击创建 API key,输出名称为“AI 代码提示”,也可以使用其它自定义的名称。插件安装成功后,在右侧的标签栏中,会显示一个Continue的标签,我们点击即可进入,随后点击设置按键,如下图。点击“创建",一定要记录此处的 API key,可以先将 API key 复制在其它地方。打开PyCharm,打开文件->设置->插件,搜索“Continue”,点击安装。随后,我们将两处apiKey替换为先前保存的API key。等待插件安装完毕后,点击“应用”,插件安装成功。

2025-02-13 11:53:11 225

原创 特征交叉-CAN学习笔记&代码解读

两部分concat以后加一个DNN常规操作,看起来就像是用co-action做显式的特征交叉,然后DIEN做之前的序列建模。举个例子:如果是用户ID和产品ID的co-action,且产品ID是做induction,用户ID是做feed。

2024-12-11 10:43:34 554

原创 特征交叉-FiBiNet特征交叉原理与代码学习

两个field做交叉得到新的特征,比方把物品和用户地点做embedding,然后做交叉, 如果用inner product和hadamard乘积,必须维度一致,不一致的情况下,Bilinear引入了一个W矩阵,保证两者可以做交叉。SENet 虽然不是特征交叉方法,但是是在FiBiNet这个文章里一起出现的,就说明下,是一种field-wise加权,一共m个field。1)field维度的平均池化:每一个field做average-pooling,3)还原:再加一个linear+sigmoid还原成m维度。

2024-11-25 19:08:20 461

原创 特征交叉-MaskNet文章总结&代码实现

串行的第一个是一个MaskBlock on feature embedding,后面接的都是MaskBlock on MaskBlock;主要有两种使用,一个是对embedding进行处理,图里LN-EMB里的LN指的是Layer Normalization。所有特征都和Instance-guide-mask进行运算,可以是串行的也可以是并行的。1) 2) 结束之后,文章的核心内容也基本结束,后面3)是MaskBlock的应用。最终输出的是一个处理后的embedding向量,后面简称为mask。

2024-11-22 18:41:47 1098

原创 特征交叉-Deep&Cross Network学习

一 tensorflow官方实现tensorflow的官方实现已经是V2版本class Cross(tf.keras.layers.Layer): """Cross Layer in Deep & Cross Network to learn explicit feature interactions. Args: projection_dim: int,低秩矩阵的维度,应该小于input_dim/2, 官方建议input_dim/4 diag_s

2024-11-20 11:52:20 525 1

原创 一种可以识别局部单调的系数

传统的相关性测量方法通常假定X与Y之间的关系是线性的,即X和Y之间的相关性是对称的。然而,新方法的目标是测量Y作为X的函数的程度,因此ξ(X, Y)不一定等于ξ(Y, X)。为了计算ξ,我们首先需要对数据进行排序,使得X的值按从小到大的顺序排列。然后,我们需要计算Y值的秩。pearson和kendall等系数再识别单调的时候,更多是关注整体情况,很多时候,变量和因变量之间非简单的单调关系,局部单调ξ识别。需要注意的是这个系数本质上还是去识别单调,比pearson之类的提升也仅限于局部单调的识别。

2024-06-17 11:52:47 372

原创 python bisect 二分算法工具以及应用

bisect_left/right 方法找到应该插入元素的位置,对于和序列中元素不相同的值。python bisect 工具以及应用。主要用于在顺序固定的序列中查找以及插入。

2024-05-07 15:38:23 441 1

原创 关于loguru一次错误排查记录

在做个性化推荐接口性能测试时,当并发量达到一定量级的情况下,系统会崩溃。loguru 的 logger.add() 方法中,enqueue 参数是一个布尔值,用于指定是否异步地写入日志。当enqueue为True时,这种异步日志记录涉及到进程间通信(IPC),loguru 使用了队列(来自 multiprocessing 模块)来在主程序和日志记录线程之间传递日志消息。

2023-09-13 17:02:27 1105 2

翻译 macro, micro and weighted 图解

多分类指标说明

2023-06-16 19:21:03 289

原创 一文解读pandas_udf

pandas_udf 详细介绍

2023-04-18 18:46:16 1419

原创 Guass Rank(深度学习数值特征归一化方法)

2.尺度转化为[-1,1], 将该位置的排序除以最大排序,在扩大2倍,本文还增加了一个bound,避免数值为-1或者1从而导致erfinv为无穷。Gauss rank是在学习中见识到的,主要应用于深度学习模型中连续性数值特征归一化的一种方式,可以看出,对最终结果有一定增益。高斯排序变化是将一组连续特征转化为相对的排序特征,在应用中最大的问题就是如果在测试集中出现训练集中没有的数字该怎么处理?而这一问题的解决方案是插值,通过插值的方法拟合相对的数值,从而达到一定的效果。3.调整极值,主要使用的工具是。

2022-10-17 13:30:12 1679

原创 数据内存压缩

主要的思想是改变int和float字段的占位,使用尽量小的占位存储字段。

2022-09-11 11:39:45 292

原创 无监督聚类评估

CH指标通过计算类中各点与类中心的距离平方和来度量类内的紧密度,通过计算各类中心点与数据集中心点距离平方和来度量数据集的分离度,CH指标由分离度与紧密度的比值得到。从而,CH越大代表着类自身越紧密,类与类之间越分散,即更优的聚类结果。故名思义,这个方法是衡量不同类和同一类的距离,越大表示同一类越紧密,不同类间距离越大,聚类效果越好。卡方检验的前置表,计算标签和特征的统计量,可以看到不同特征值聚类后的分布情况,人工评估。与前两个一致,也是一个分离度/聚集度评价指标,与之前不一样的是这个指标越小越好。

2022-08-25 15:01:33 625

翻译 Convex Clustering(凸聚类)

通过最小化convex funtion实现,也就是convex名字的由来。简而言之:convex clustering是把每一个观察点划分到一个簇中心中。第一项,衡量观察点和聚类中心的距离,第二项考虑的是距离中心之间的距离。划分到k个簇中,每个簇中的相似度,要比簇间相似度高。是聚类中心cluster centroid,是pair-specific weighs。为0,所以点各自为一类;正无穷则所有点都是一类。是观察点,q是常数项,...

2022-08-12 11:13:49 1002

原创 Target Encoding-类别特征编码

类别特征编码为什么要做类别特征编码类别编码的原因主要是计算机处理不了非数值形式的特征,常见的类别特征编码主要有两种,LabelEncoder和OneHotEncoderLabelEncoder因为是按照一定顺序进行的数字编码:一方面,顺序的数字增加其实对结果拟合而言是缺乏目的性和逻辑性的,另一方面对线性模型而言,还会引入一些本不该存在的偏置(例如某两个类别本来是没有区别的,但是LabelEncoder却有可能会把两个类别编码为0和2);OneHotEncoder可以避免偏置,但是OneHot

2022-08-05 15:36:29 1783

原创 LightFM推荐系统框架学习笔记(二)

一款强大的推荐系统框架,可以处理用户/产品冷启动这一篇主要对基础接口进行一些总结LightFMlightfm.LightFM(no_components=10, k=5, n=10, learning_schedule=‘adagrad’, loss=‘logistic’, learning_rate=0.05, rho=0.95, epsilon=1e-06, item_alpha=0.0, user_alpha=0.0, max_sampled=10, random_state=None)参数:

2022-07-28 11:18:39 950

原创 Spark学习笔记:Spark Streaming流计算引擎

spark 流计算

2022-07-08 10:57:47 477

转载 推荐系统的特征工程

推荐系统中的刀工

2022-06-22 10:50:10 3174

原创 jupyter lab 相关

jupyter相关

2022-06-14 12:54:20 412

原创 FTP安装以及使用以及Filezilla连接

FTP

2022-06-13 16:02:08 492

原创 LightFM推荐系统框架学习笔记

github特点:集成了BPR & WARP ranking losses多线程incorporate both item and user metadata,可以解决用户/产品冷启动

2022-05-26 10:03:47 2498

原创 python logging模块:给程序加个记录

最近需要给自己程序添加一些记录以助于排查bug,所以用到了logging,就此做些记录。logging是python内置的日志模块。1 基本认知1.1 level由严重程序排序依次为CRITICAL>ERROR>WARNING>INFO>DEBUG。下面是介绍【来自于ref3】1.2 logging四大组件logger:暴露接口 (expose the interface that application code directly uses)Handler:安排

2022-04-02 12:27:44 955

原创 python读取图片并且转码成base64

import base64with open("grayimage.png", "rb") as img_file:#对于图片而言read读取的结果是bytes b64_string = base64.b64encode(img_file.read()) return b64_string.decode("utf-8")# decode is used for removing b’ from the prefix of base64 code当然也可以使用opencv读取

2022-03-28 18:35:22 4928

原创 NVIDIA NeMo学习笔记

NeMo可以做以下三个方面的事情:Automatic Speech Recognition (ASR):声纹识别Natural Language Processing (NLP):自然语言处理Text-to-Speech (TTS) models:文本转音频简单来说,里面集成了一些用于以上三个事情的模型和工具,可以拿自己的数据进行迁移使用,就和目标检测里面detectron类似。...

2022-03-21 17:26:28 3124

原创 mongodb入门笔记

下载: docker pull mongo:latest运行:docker run –-name mongodb -p 27017:27017 -v /data/mongo:/data/db -d mongo –auth–name:设置容器名称-p 端口映射,使外部通过主机ip:27017访问mongodb服务-v 容器挂载目录,本机的/data/mongo挂载到/data/db中,作为mongodb存储目录-d 设置容器以守护进程方式运行,docker在后台运行,不会直接把执行命令的结

2022-03-10 15:27:09 2423

原创 optuna调参神器学习笔记(二)

手动添加先验参数optuna提供自动参数搜索,但有时候有一些特定的超参数集要先尝试, 比如初始学习率和叶子数量. 另外, 也有可能在让 Optuna 找到更好的超参数集之前,你已经尝试过一些集合.Optuna 提供 两个API 以应对这种场景:将这些超参数集合传递过去并让 Optuna 对其求值 enqueue_trial()将这些集合的结果标记为已完成的 Trials add_trial()第一个场景: 让 Optuna 对你的超参数求值有一些备选值使用Optuna 有一个 API opt

2022-03-04 12:07:14 2358

原创 调参神器optuna学习笔记

介绍optuna作为调参工具适合绝大多数的机器学习框架,sklearn,xgb,lgb,pytorch等。主要的调参原理如下:1 采样算法利用 suggested 参数值和评估的目标值的记录,采样器基本上不断缩小搜索空间,直到找到一个最佳的搜索空间,其产生的参数会带来 更好的目标函数值。optuna.samplers.TPESampler 实现的 Tree-structured Parzen Estimator 算法optuna.samplers.CmaEsSampler 实现的 CMA-

2022-03-04 11:18:04 9082 4

原创 Spark Low-Level API RDD学习笔记

1 什么是RDDs英文全称Resilient Distributed Datasets,翻译弹性分布式数据集Spark The Definitive Guide中是这么描述的:RDD represents an immutable, partitioned collection of records that can be operated on in parallel,个人的理解,rdd就是一类分布式对象集合,其中每个records就是一个对象,我们可以对这些对象进行分布式的运算。RDDs类型对于

2022-02-22 20:10:43 922

原创 Spark Low level API RDD学习笔记:key_value RDD

常规操作# 创建myCollection = "Spark The Definitive Guide : Big Data Processing Made Simple"\.split(" ")words = spark.sparkContext.parallelize(myCollection, 2)keyword = words.keyBy(lambda word:word.lower()[0])keyword.mapValues(lambda word: word.upper()).co

2022-02-17 16:13:54 744

原创 Spark low API RDD 学习笔记:Distributed Shared Variables

主要包含两种类型:Broadcast variablesaccumulators1.Broadcast Variables广播变量,把变量缓存到集群的各个节点,以便高效的使用.# create rddmyCollection = "Spark The Definative Guide:Make Big Data Proccesing Simple".split(" ")words = spark.sparkContext.parallelize(myCollection, 2)# c

2022-02-16 17:07:58 953

原创 Pandas 错误记录

1.错误发生在从hdfs下载csv文件到本地,利用pandas读取报错出现此错误的原因是因为输入文件的路径是文件夹路径,而不是文件本身。查看本地文件,果然data_rh.csv是个假数据文件打开里面有很多小文件。主要是利用spark df.write.format(“csv”).save("/tmp/myFile.csv") 保存的是一个myFile.csv的文件夹,有两个问题:hadoop fs -get 命令得到是一堆文件。文件都是以snappy格式压缩的第一个问题,可以使用coal

2022-02-15 14:18:46 1046

原创 spark rollup和cube的区别

这两个函数在spark中是用来代替spark sql 的GROUPING SETS函数的。主要的作用都是对多列做groupBy。既然spark中已经有了groupBy函数,这两个函数又是用来干啥的?他们之间有什么区别?Spark The Defination Guide书中解释是这样的:cube函数:Rather than treating elements hierarchically, a cubedoes the same thing across all dimensionsro

2022-01-13 12:15:35 1677

翻译 创建带类型的空DataFrame

pandas创建空dataframe,如果没有指定列类型则默认为object类型pandas.DataFrame([],columns=['a','b','c']).info()'''输出如下:<class 'pandas.core.frame.DataFrame'>Index: 0 entriesData columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------

2021-05-07 15:46:13 960

原创 impala & hive随机抽样方法

记录随机抽样方法:hive:select *col* from *table* where *condition* distribute by rand() sort by rand() limit *number*impala:select *col* from *table* where *condition* order by rand() limit *number*;-- 建立随机id然后按id排序select col,uuid() from table where co

2021-04-14 15:55:05 2259

原创 xgboost和随机森林特征重要性计算方法

随机森林中特征重要性和xgboost不同:随机森林中的特征重要性主要是基于不纯度(也可以叫做Gini importance):对于分类问题的话,就是gini不纯度对于回归问题的话,MSE(Mean Square error)或者MAE(Mean absolute error)sklearn中的解释sklearn源码...

2021-02-19 19:00:14 3846

空空如也

空空如也

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

TA关注的人

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