- 博客(17)
- 收藏
- 关注
原创 因果图模型与python验证
1.A→B→C。因果网络有三种基本类型或形式。1.A→B→C。这种接合形式是被称为链”接合或中介接合的最简单的表现形式。一个熟悉的例子是“火灾→烟雾→警报”。虽然称这个系统为“火灾警报”,但实际上它应该叫烟雾报警。火灾本身并没有引起警报,所以这里也就没有从火灾直接指向警报的箭头。只有火灾向空气中释放的烟雾分子才会触发警报。这个观察引出了关于链接合的一个重要概念点:中介物B“屏蔽screen off)了从A到C的信息或从C到A。
2024-03-19 19:38:23 1010
原创 归因方法梳理
马尔可夫归因的主要思想是移除效应:对于一个因子,和的差别,也就是边际增益或边际效应。举个不新鲜的例子:对于C1,有C1参与时,有两条转化路径:start-C1-C2-C3-conv,以及start-C2-C3-conv。所以P(conv|有C1) = P(start-C1-C2-C3-conv) +P(start-C2-C3-conv)没有C1参与时,有一条转化路径:start-C2-C3-conv。所以P(conv|没有C1) =P(start-C2-C3-conv)
2024-03-19 13:31:54 2272
原创 记录python销量预测的自动化工程-从数据库到机器学习模型
这是我在杭州工作时的一个项目,每天从数据库读取一次销量数据,进行时间序列模型(Prophet)的训练和销量的预测。涉及数据库(MySQL)读取、数据预处理、训练集和测试集划分、模型评价与选取以及预测数据写回(给BI同学)等步骤。6、config_prophet.py提供整个程序运行的参数,包括SKU选取参数、Prophet参数、训练集测试集划分参数等。5、run_prophet.py是主程序,运行从数据库读取数据到预测数据回写的全流程。4、Prophet.py的作用是训练、评价模型,并实现预测数据回写。
2024-03-18 20:56:54 231
原创 蒙提·霍尔悖论(三门问题)
1、三扇关闭的门,其中一扇的后面有一辆汽车,参赛者选中这扇门就可以赢得该汽车,而另外两扇门后面则各藏有一只山羊。2、当参赛者选定了一扇门,但未去开启它的时候,节目主持人会开启剩下两扇门的其中一扇,露出其中一只山羊。3、主持人其后会问参赛者要不要换另一扇仍然关上的门。
2024-03-18 20:31:25 512
原创 记录SQL用法—with和日期
2、日期相加函数DATE_ADD的用法:DATE_ADD(some_date, INTERVAL n DAY)。1、with的中间表可以引用前面建好的中间表,如t2引用t1,t3引用t2(这些中间表就是你的问题处理过程)。为例子,记录SQL的with和日期的用法。
2024-03-15 16:46:27 185 1
原创 SQL-子查询和窗口函数的使用
在外部查询的select中,第一个相关子查询计算每个客户的总payment,第二个子查询使用了第一个子查询的别名,第三个子查询使用了第二个子查询的别名。4、要解决这个问题,你需要将窗口函数的结果存储在一个子查询中,然后在外部查询中使用这个子查询的结果。3、使用窗口函数的别名。
2024-03-13 19:59:15 174
原创 SQL having可以使用select中的别名
参考链接:https://blog.csdn.net/weixin_51210725/article/details/124686426。如果ONLY_FULL_GROUP_BY sql mode不开启,那么mysql对标准SQL的扩展可以生效。之前的版本,ONLY_FULL_GROUP_BY sql mode。在mysql的数据库sakila下,执行下面一段代码。
2024-03-13 11:42:24 313
原创 力抠601. 体育馆的人流量-SQL相关子查询
2、判断最后一行时,如果本行和前面两行都满足大于等于100,,则最后一行满足要求;3、判断中间行时,如果本行和前、后相邻行都满足大于等于100,,则该行满足要求;1、判断第一行时,如果本行和后面两行都满足大于等于100,,则第一行满足要求;要逐行判断,判断上下文与要判断的行相关,用相关子查询。
2024-03-12 16:19:47 223 1
原创 力抠607. 销售员——SQL 相关子查询及视图
否则,如果第3步输出的结果为空,说明此时外部查询传递的name,在订单表中没有对应公司名称为“RED”的样本,通过not exists把它留下。相关子查询是外部查询逐行进行的,也就是说外部查询每进行一行,就把这行的相应值赋给子查询,并执行一次子查询(逻辑上是这样,暂不考虑sql的性能优化)。1.首先执行外部查询,1-2行,逐行查询SalesPerson表的name字段,并把某个name值存起来,将来传递给子查询。2.然后执行子查询中的子查询,6-11行,这个相当于非相关子查询,先运行且只运行一次。
2024-03-11 21:09:10 363
原创 机器学习闲聊(三)
精确率(Precision,P):是指预测结果中真正例(True Positive,TP)占所有预测结果中正例(Positive,TP+FP)的比例。lift值的理解:分子是在某阈值下的精确率P,分母是真正样本占总样本的比例,可以理解为预测样本为正的先验概率。画法与K-S曲线类似,先排序,然后从大到小取阈值,在该阈值下计算lift值,然后以阈值为横坐标,lift值为纵坐标画图。2.每个阈值下,所有样本按步骤1预测完,就会有一个混淆矩阵,同时有一个R,P值,(R,P)就是PR曲线的一个坐标点;
2024-03-06 21:42:38 361
原创 机器学习闲聊(二)
树模型,包括XGB、GBDT、随机森林等,模型结果就相当于是特征组合,每个叶子节点的意义是多个特征的分裂,只不过树模型是启发式最优化,结果输出的特征组合不一定是全局最优的。特征组合模型还包括因子分解机(FM),甚至后来出现DeepFM,Wide&Deep,都是在特征上做文章,以求更好的模型效果。此外,在深度学习的每一个隐层,都相当于是一次特征工程,只不过这个过程是自动的,是由模型的输入、输出和负反馈驱动的,不需要人工参与,当然,人对其内部的了解也就少了,这就是黑盒模型。输入到模型的特征,应该有相同的量纲。
2024-03-06 09:09:53 363
原创 XGBoost用Logloss做损失函数时的叶子节点权重和预测值问题
当XGBoost以Logloss作为损失函数的时候,我们知道预测值是各树叶子节点权重之和的sigmod函数。即第i个样本的预测值,等于该样本在各个树中落到的叶子节点的权重之和,再做sigmod(和逻辑回归形式一样,但含义不同),j代表树。网上讲XGBoost的文章很多,却很少有把从损失函数到这个结论的过程说的比较清晰的(至少我没有看到过,也可能是我理解能力不够吧哈哈)。本文尝试做这个工作。
2024-02-28 22:46:45 763 1
原创 数据工作的几点总结
先以一个工作中遇到的实际案例来开头吧。之前在杭州有一段工作,刚入职的时候就负责公司主要产品的销量预测任务。我和一个数据工程师做了对接,从他那里获得了销量的历史数据,了解了基本业务流和数据流的流程,对数据的每个属性维度的含义也都进行了说明,于是我就从观察数据开始,逐步进行处理和分析。训练完模型之后,发现几个SKU的销量在验证集中总有那么几天预测不准。我开始以为是Prophet模型参数设置的问题,但是调整后还是没有改善。于是我和数据工程师、市场部同事又进行了讨论,终于发现原来是由于库存缺货状态导致的。
2024-02-28 09:28:27 883
原创 SQL执行顺序—力扣262. 行程和用户
关于sql的执行顺序,https://blog.csdn.net/weixin_44141495/article/details/108744720/ 这篇文章说的很好关于sql的执行顺序,https://blog.csdn.net/weixin_44141495/article/details/108744720/ 这篇文字说的很清楚,这里搬几个图(如侵权请联系删除)。1、标准查询语句2、执行顺序3、示例。
2024-02-27 21:04:59 465
原创 标题SQL窗口函数之partition by
partition by与group by都是对表中的某维度进行分组。不同的是partition by返回的是分组后的每一条记录,不改变表中数据行数,后续可以做排序、topN等操作;而 group by返回的是分组的聚合值,例如max、sum、avg等值。
2024-02-27 17:29:40 2439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人