set1 & set2
set1.intersection(set2)
网格搜索
通过计算每个特征在所有树中的平均重要度进行排序
计算公式:
J j 2 ^ = 1 M ∑ m = 1 M J j 2 ^ ( T m ) , J j 2 ^ ( T m ) = ∑ t = 1 L − 1 i t 2 ^ 1 ( v t = j ) . \begin{aligned} \hat{J_j^2} &= \frac{1}{M}\sum_{m=1}^M\hat{J_j^2}(T_m), \\ \hat{J_j^2}(T_m) &= \sum_{t=1}^{L-1}\hat{i_t^2}1(v_t=j). \end{aligned} Jj2^Jj2^(Tm)=M1m=1∑MJj2^(Tm),=t=1∑L−1it2^1(vt=j).
count(列名)
、count(1)
、count(*)
有什么区别?一般来说,count(1)与count(*)区别不大,在统计的时候都是统计表中所有的记录数,而count(列名)则是统计该字段在记录中出现的次数,忽略字段为null的情况。
R表示最近一次消费时间间隔(recency)、F表示消费频率(frequency)、M表示消费金额(money)。我们可以把这三个指标当成三维空间上的三个维度,将用户分成8类,分别为重要|一般 价值|发展|保持|挽留 用户。可以对不同的客户实施不同的营销策略。
优点:
缺点:
注:如何提高b站的商业变现能力,或者如何优化b站的盈利模式?
内容变现,通过一些视频(电影,番剧等)付费或VIP优先制度提高用户的大会员购买率。
概率为 1 4 \frac{1}{4} 41
通过画图,固定一个点后,只要让另外两个点处于第一个点的两侧且他们之间的距离小于直径即可。或者也可以通过积分进行计算。
原文章链接:https://zhuanlan.zhihu.com/p/139570091
分为专用窗口函数rank(), dense_rank(), row_number()
和聚合函数sum(), avg(), count(), min(), max()
两个部分
(1)对于一般的检验目标都是点击率,购买率等比例指标,所以我们在做A/B test时大多利用的两样本比例的假设检验。
(2)假设A组中 x 1 , … , x n ∼ B ( 1 , π 1 ) x_1, \dots , x_n \sim B(1, \pi_1) x1,…,xn∼B(1,π1),B组中 y 1 , … , y n ∼ B ( 1 , π 2 ) y_1, \dots , y_n \sim B(1, \pi_2) y1,…,yn∼B(1,π2)。我们提出假设,
H 0 : π 1 = π 2 v s H 2 : π 1 ≠ π 2 H_0: \pi_1 = \pi_2 \quad vs \quad H_2: \pi_1 \neq \pi_2 H0:π1=π2vsH2:π1=π2
(3)为了做检验,我们构造检验统计量。
第一步:令 p 1 = 1 n ∑ i = 1 n x i , p 2 = 1 n ∑ i = 1 n y i p_1 = \frac{1}{n}\sum_{i=1}^nx_i, \quad p_2 = \frac{1}{n}\sum_{i=1}^ny_i p1=n1i=1∑nxi,p2=n1i=1∑nyi
第二步:在大样本下我们知道 n ( p 1 − π 1 ) π 1 ( 1 − π 1 ) ∼ N ( 0 , 1 ) , n ( p 2 − π 2 ) π 2 ( 1 − π 2 ) ∼ N ( 0 , 1 ) \frac{\sqrt{n}(p_1-\pi_1)}{\sqrt{\pi_1(1-\pi_1)}} \sim N(0, 1), \quad \frac{\sqrt{n}(p_2-\pi_2)}{\sqrt{\pi_2(1-\pi_2)}} \sim N(0, 1) π1(1−π1)n(p1−π1)∼N(0,1),π2(1−π2)n(p2−π2)∼N(0,1)
第三步:由于A组与B组样本独立,所以
n ( p 1 − p 2 − ( π 1 − π 2 ) ) ∼ N ( 0 , π 1 ( 1 − π 1 ) + π 2 ( 1 − π 2 ) ) n ( p 1 − p 2 − ( π 1 − π 2 ) ) π 1 ( 1 − π 1 ) + π 2 ( 1 − π 2 ) ∼ N ( 0 , 1 ) \sqrt{n}(p_1-p_2-(\pi_1-\pi_2)) \sim N(0, \pi_1(1-\pi_1)+\pi_2(1-\pi_2)) \\ \frac{\sqrt{n}(p_1-p_2-(\pi_1-\pi_2))}{\sqrt{\pi_1(1-\pi_1)+\pi_2(1-\pi_2)}} \sim N(0, 1) n(p1−p2−(π1−π2))∼N(0,π1(1−π1)+π2(1−π2))π1(1−π1)+π2(1−π2)n(p1−p2−(π1−π2))∼N(0,1)
第四步:这里我们的统计量实际上已经出来了, T = n ( p 1 − p 2 ) T = \sqrt{n}(p_1-p_2) T=n(p1−p2),但是由于 π 1 , π 2 \pi_1, \pi_2 π1,π2均未知,所以在给定两组样本时我们利用这个式子算出具体的统计量 T T T的观测值,但是我们却并不知道 T T T服从的分布的方差。所以我们需要求得 π 1 , π 2 \pi_1, \pi_2 π1,π2的估计值。这里有两种求估计值的方法。第一种,当原假设成立,即 π 1 = π 2 \pi_1 = \pi_2 π1=π2时,我们可以利用两个样本总体的比例去估计 π 1 , π 2 \pi_1, \pi_2 π1,π2,即利用 p = n 1 p 1 + n 2 p 2 n 1 + n 2 = p 1 + p 2 2 p = \frac{n_1p_1+n_2p_2}{n_1+n_2}=\frac{p_1+p_2}{2} p=n1+n2n1p1+n2p2=2p1+p2作为 π 1 , π 2 \pi_1, \pi_2 π1,π2的估计值。第二种,当备择假设成立,即 π 1 ≠ π 2 \pi_1 \neq \pi_2 π1=π2时,我们必须分别用 p 1 p_1 p1去估计 π 1 \pi_1 π1, p 2 p_2 p2去估计 π 2 \pi_2 π2。
(4)我们先求拒绝域,由于我们需要利用第一类错误去计算拒绝域,所以我们利用上面的第一种估计方法来计算统计量 T T T的方差,
σ 1 = π 1 ( 1 − π 1 ) + π 2 ( 1 − π 2 ) = 2 ⋅ p 1 + p 2 2 ⋅ ( 1 − p 1 + p 2 2 ) \sigma_1 = \sqrt{\pi_1(1-\pi_1)+\pi_2(1-\pi_2)} = \sqrt{2 \cdot \frac{p_1+p_2}{2} \cdot (1-\frac{p_1+p_2}{2})} σ1=π1(1−π1)+π2(1−π2)=2⋅2p1+p2⋅(1−2p1+p2)
所以
P { T ∈ C α ∣ H 0 } = α ⟹ C α = { T ≥ z α 2 σ 1 o r T ≤ − z α 2 σ 1 } P\{T \in \mathscr{C}_\alpha|H_0\} = \alpha \\ \Longrightarrow \mathscr{C}_\alpha = \{T \geq z_{\frac{\alpha}{2}}\sigma_1 \ or \ T \leq -z_{\frac{\alpha}{2}}\sigma_1 \} P{T∈Cα∣H0}=α⟹Cα={T≥z2ασ1 or T≤−z2ασ1}
(5)接下来我们要利用第二类错误计算所需的最小样本量,
P { T ∉ C α ∣ H 1 } = β P\{T \notin \mathscr{C}_\alpha|H_1\} = \beta \\ P{T∈/Cα∣H1}=β
注意,这个时候备择假设成立,即即 π 1 ≠ π 2 \pi_1 \neq \pi_2 π1=π2,所以我们此时必须用上面提到的第二种方法去估计 π 1 , π 2 \pi_1, \pi_2 π1,π2,即用 p 1 p_1 p1去估计 π 1 \pi_1 π1, p 2 p_2 p2去估计 π 2 \pi_2 π2,所以我们有
T ∼ N ( n ( π 1 − π 2 ) , σ 2 2 ) , σ 2 = p 1 ( 1 − p 1 ) + p 2 ( 1 − p 2 ) T \sim N(\sqrt{n}(\pi_1-\pi_2), \sigma_2^2), \\ \sigma_2 = \sqrt{p_1(1-p_1)+p_2(1-p_2)} T∼N(n(π1−π2),σ22),σ2=p1(1−p1)+p2(1−p2)
所以
P { − z α 2 σ 1 ≤ T ≤ z α 2 σ 1 } = β P { − z α 2 σ 1 − n ( π 1 − π 2 ) ≤ T − n ( π 1 − π 2 ) ≤ z α 2 σ 1 − n ( π 1 − π 2 ) } = β P { − z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 ≤ T − n ( π 1 − π 2 ) σ 2 ≤ z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 } = β ϕ ( z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 ) − ϕ ( − z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 ) = β P\{-z_{\frac{\alpha}{2}}\sigma_1 \leq T \leq z_{\frac{\alpha}{2}}\sigma_1\} = \beta \\ P\{-z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2) \leq T-\sqrt{n}(\pi_1-\pi_2) \leq z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)\} = \beta \\ P\{\frac{-z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2} \leq \frac{T-\sqrt{n}(\pi_1-\pi_2)}{\sigma_2} \leq \frac{z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2} \} = \beta \\ \phi(\frac{z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2}) - \phi(\frac{-z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2}) = \beta P{−z2ασ1≤T≤z2ασ1}=βP{−z2ασ1−n(π1−π2)≤T−n(π1−π2)≤z2ασ1−n(π1−π2)}=βP{σ2−z2ασ1−n(π1−π2)≤σ2T−n(π1−π2)≤σ2z2ασ1−n(π1−π2)}=βϕ(σ2z2ασ1−n(π1−π2))−ϕ(σ2−z2ασ1−n(π1−π2))=β
这里我们可以做一个近似,由于A组是实验组,B组是对照组,所以当 π 1 ≠ π 2 \pi_1 \neq \pi_2 π1=π2时,我们可以认为 π 1 ≥ π 2 \pi_1 \geq \pi_2 π1≥π2,即这个策略起到了效果并且是正面的效果。这样的话 − z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 \frac{-z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2} σ2−z2ασ1−n(π1−π2)就会是一个非常小的负数,我们可以近似认为 ϕ ( − z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 ) = 0 \phi(\frac{-z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2}) = 0 ϕ(σ2−z2ασ1−n(π1−π2))=0(实际上这里我们假设 π 1 ≤ π 2 \pi_1 \leq \pi_2 π1≤π2也可以,这样舍弃的就是右边的值)。于是我们得到(注意,本文用的全是上分位数),
ϕ ( z α 2 σ 1 − n ( π 1 − π 2 ) σ 2 ) = β P { X ≥ n ( π 1 − π 2 ) − z α 2 σ 1 σ 2 } = β n ( π 1 − π 2 ) − z α 2 σ 1 σ 2 = z β n = ( z α 2 σ 1 + z β σ 2 ) 2 ( π 1 − π 2 ) 2 \phi(\frac{z_{\frac{\alpha}{2}}\sigma_1 - \sqrt{n}(\pi_1-\pi_2)}{\sigma_2}) = \beta \\ P\{X \geq \frac{\sqrt{n}(\pi_1-\pi_2)-z_{\frac{\alpha}{2}}\sigma_1}{\sigma_2}\} = \beta \\ \frac{\sqrt{n}(\pi_1-\pi_2)-z_{\frac{\alpha}{2}}\sigma_1}{\sigma_2} = z_{\beta} \\ n = \frac{(z_{\frac{\alpha}{2}}\sigma_1 + z_{\beta}\sigma_2)^2}{(\pi_1-\pi_2)^2} ϕ(σ2z2ασ1−n(π1−π2))=βP{X≥σ2n(π1−π2)−z2ασ1}=βσ2n(π1−π2)−z2ασ1=zβn=(π1−π2)2(z2ασ1+zβσ2)2
其中 π 1 − π 2 \pi_1 - \pi_2 π1−π2可以用 p 1 − p 2 p_1-p_2 p1−p2代替,于是最终我们得到最小样本量n的计算公式,
n = ( z α 2 σ 1 + z β σ 2 ) 2 ( p 1 − p 2 ) 2 = ( z α 2 2 ⋅ p 1 + p 2 2 ⋅ ( 1 − p 1 + p 2 2 ) + z β p 1 ( 1 − p 1 ) + p 2 ( 1 − p 2 ) ) 2 ( p 1 − p 2 ) 2 . n = \frac{(z_{\frac{\alpha}{2}}\sigma_1 + z_{\beta}\sigma_2)^2}{(p_1-p_2)^2} = \frac{(z_{\frac{\alpha}{2}}\sqrt{2 \cdot \frac{p_1+p_2}{2} \cdot (1-\frac{p_1+p_2}{2})} + z_{\beta}\sqrt{p_1(1-p_1)+p_2(1-p_2)})^2}{(p_1-p_2)^2}. n=(p1−p2)2(z2ασ1+zβσ2)2=(p1−p2)2(z2α2⋅2p1+p2⋅(1−2p1+p2)+zβp1(1−p1)+p2(1−p2))2.
sigmoid函数
优点:sigmoid函数可以将实数映射到 ( 0 , 1 ) (0, 1) (0,1)区间内。平滑、易于求导
缺点:
hard-sigmoid函数
特点:计算量小,非平滑
tanh双曲正切函数
tanh函数相比于sigmoid函数更加得陡峭,并且输入值的均值为0。可以使得有差异的特征区分得更开,也不能避免梯度消失的情况。
ReLU函数
优点:
Leaky ReLU函数,PReLU函数,elu函数
特点:基本都可以算作ReLU的改进,主要就是为了防止当学习率设置得较大时,ReLU在开始就可能杀死很多神经元。而这些改进的函数的作用基本就是在x<0的时候,输出依然不为0,梯度依然不为0,可以使得神经元继续发挥作用。
softmax函数
主要用在分类网络的最后一层,把网络输出转化为各个类别的概率。
原因:
解决方法:
A U C = P ( P 正 样 本 > P 负 样 本 ) AUC = P(P_{正样本} > P_{负样本}) AUC=P(P正样本>P负样本)
具体的计算公式: A U C = ∑ I ( P 正 样 本 , P 负 样 本 ) N AUC = \frac{\sum I(P_{正样本}, P_{负样本})}{N} AUC=N∑I(P正样本,P负样本)
I ( P 正 样 本 , P 负 样 本 ) = { 1 , P 正 样 本 > P 负 样 本 0.5 , P 正 样 本 = P 负 样 本 0 , P 正 样 本 < P 负 样 本 I(P_{正样本}, P_{负样本}) = \left\{\begin{matrix} 1, P_{正样本} > P_{负样本}\\ 0.5, P_{正样本} = P_{负样本} \\ 0, P_{正样本} < P_{负样本} \end{matrix} \right. I(P正样本,P负样本)=⎩⎨⎧1,P正样本>P负样本0.5,P正样本=P负样本0,P正样本<P负样本