2022/03/03 周四
- 字符串排序的正确方式:
sorted(str)
- list排序可用:
list.sort()
- 修改字符串的几种方式:
s=s.replace('A','aa')
s=s[:i]+'aa'+s[i+j:]
- 错误方式:
s[i:i+3]='abc'
,字符串不允许赋值,除非把字符串变为list;
- 字符串去除首尾字符:
- 去除首尾字符:
s=s.strip(si)
,si为字符串,若不传入参数,则默认去除空格; - 去除首部字符:
s=s.lstrip(si)
; - 去除尾部字符:
s=s.rstrip(si)
;
- 去除首尾字符:
2022/04/08 周五
hivesql和mysql中limit的使用区别:
- mysql支持
limit m,n
的用法,即从idx=m起,读取n条数据; - hivesql不支持该用法,如果实现上述功能,只能通过row_number()实现,即:
select a.course,a.score
from
(
select course,score,row_number() over(partition by course order by score desc) as n
from lesson
)a
where a.n<=2;
2022/04/13 周三
- sigmoid函数: σ ( x ) = 1 1 + e − x \sigma(x)=\frac{1}{1+e^{-x}} σ(x)=1+e−x1, σ ( x ) ∈ ( 0 , 1 ) \sigma(x)\in(0,1) σ(x)∈(0,1)
- Logistic回归:二元分类, y ^ = σ ( w T x + b ) \hat y=\sigma(w^Tx+b) y^=σ(wTx+b),损失函数 L ( y , y ^ ) = − ( y log ( y ^ ) + ( 1 − y ) log ( 1 − y ^ ) ) L(y,\hat y)=-(y\log(\hat y)+(1-y)\log(1-\hat y)) L(y,y^)=−(ylog(y^)+(1−y)log(1−y^))(交叉熵)
- 三种激活函数:
- sigmoid:只有二分类问题的输出层使用
- tanh双曲正切函数:是对sigmoid向下平移1个单位, tanh ( x ) = e x − e − x e x + e − x \tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} tanh(x)=ex+e−xex−e−x
- ReLU(rectified linear unit,修正的线性单元):比前两个效果好,因为导数要么为0要么为1,不影响梯度下降的速度
- 注:激活函数必须为非线性函数,否则就是对原始特征的线性组合
- 偏差 vs 方差
- 正则化:L1:1-范数;L2:2-范数;
2022/05/17 周二
- 双重差分检验(DID检验,Difference in Difference)
- 目的:衡量某策略的影响程度(impact)
- 原理:给定AB实验,计算exp组某指标在策略(AB实验)上线前后的增量(变化量),再次计算base组同一指标在策略上线前后的增量,最后,计算这俩增量的差值(即差值的差值,也叫倍差值,did名称的由来)。这个倍差值就反映了策略的impact。
因果推断模型概要
-
Uplift Tree:节点分裂的基本思想是最大化分裂后子节点之间的Y的分布【异质性的体现】Y的分布差异可以由KL散度来衡量,也可以由2-范数来衡量;
-
CTS-Tree:节点分裂的基本思想是最大化每个节点上的uplift值(增量),等同于最大化子节点和父节点之间的Y的差值 Δ μ ( s ) \Delta\mu(s) Δμ(s):
-
DR模型的相关证明:【比较好理解】
-
证明思路:在两种特殊情形下DREstimator成立:
-
情形1:Y的预测结果 = Y的潜在结果,即:
则:
-
情形2:Y的IPW结果 = Y的潜在结果(PS得分正确),即:
则:
-
-
DR ref:https://towardsdatascience.com/doubly-robust-estimators-for-causal-inference-in-statistical-estimation-3c00847e9db
Excel绘制数据条
- 使用场景:当存在一列/行数据,想可视化其相对大小关系时,可使用数据条进行单元格可视化;
- 使用方法如下图:
按上述操作打开“其他规则”,则可以调整可视化规则/类型,当最大/小值的类型设置为“数字”时,则可以控制每个单元格的填充长度,达到自己想要的效果;
效果展示:
pip设置全局镜像源(清华源)
- 管理员身份打开cmd
- 执行
pip config set globel.index-url https://pypi.tuna.tsinghua.edu.cn/simple
windows下安装jupyter并配合vscode使用
- 如果已经有python,直接在命令行执行
pip install jupyter
和pip install notebook
;【可通过pip list
或者jupyter --version
来查看是否安装成功】 - 若
pip install jupyter
执行失败,则需要更新自己的pip和setuptools:
pip install --upgrade setuptools
python -m pip install --upgrade pip
- 执行
jupyer --version
之后,如果发现还有没安装的,再执行pip install安装即可; - 在vscode里,需要安装三个jupyter相关插件,即可执行jupyter notebook了