2. scikit-learn 上总结了很多。网上资料很多。. check 1point3acres for more.
3. KNN可以用于有监督学习(分类及回归)和无监督学习(聚类)。对于前者,对于给定的含有 n 个特征的数据,各个数据点可以看成 n 维欧氏空间中的点,并且每个数据点含有他们的类别信息(分类)或者数值信息(回归),而对于一个新的数据点,我们想对它的类别或数值信息做预测,则我们会找出离这个新数据点最近的 n 个点并计算这 n 个点的占大多数的分类(分类)或平均数值信息(回归)以作为新数据点的相应预测结果。对于 n 的选择,n 越小则模型越复杂,更容易 overfitting 或者 capture outliers;n 越大模型越简单,但分类的边界可能就不明显或者难以体现数据中的关联。对于有监督学习,可以用所谓的 "cross-validation" 或者 "grid search" 去选择 n 的值,即尝试不同的 n 值然后去预测看效果,即 accuracy(分类)或 mean square error(回归)。对于无监督学习(聚类),我们会选择 k1 ,即想把数据分成几类,这个 k1 的选择一般靠 domain knowledge。选定了 k1 个中心点之后,对于所有数据点,计算与其距离最近的中心点,将此数据点分类至此中心点。对全部数据点分类完毕后,用每个类别中数据点各坐标的均值重新计算各个分类的中心点,重复前面这两个过程直至中心点 tends to converge 或者到达了一定的迭代次数。然后还要选择 k2 ,即与有监督中的 n 一样,在分好类别,对新的数据点进行预测的时候,我们要选择 k2 个距离新数据点最近的数据点,来对新数据点进行预测,这个 k2 的选择就和之前有监督的 KNN 一样。
这是我目前的理解,还要再仔细学一下。
4. 可以选择 ① 删除这些行或列,如果数据不多(10%)或者缺失的部分是 randomly distributed 的,即你有一些列代表数据的一些分类,缺失值没有全部在同一个分类里面。 ② 均值/中位数/模型 补全缺失值。需假设缺失的值与原始数据有相似的分布。也可以用机器学习等模型补充缺失值。 ③ 向前/向后 补充。如果缺失值在时间序列上有规律或者在某个维度上符合一些数列规律,可用其补充。. 1point 3 acres
这个还是需要很多实战经验的我感觉,要明白为什么会产生缺失值等等,而且通过不同的补充方法迭代结果以选取最好的补充方法。等我 kaggle 实战 100 个项目归来后再来分享经验👍
5. 我觉得面试老哥不太懂,因为我在学的时候一般没怎么遇到过这个概念,就是在做 validation check 比如算 sign test 可能会用到。后来查了一下,T 检验与 Z 检验(或者叫 U 检验)都是衡量正太样本的均值与整体正太样本均值之间差异的。首先 AB 测试是统计学上假设检验的一种,学学统计学的假设检验挺好的,T 检验这种。但一方面是,实际 AB 实验中,很多指标都不是正态分布的,我们一般用的点击率(去重后)倾向于符合二项分布,而当样本量很大的时候我们可以用正态分布来进行拟合,对于其他的指标
|type of metric |distribution | estimated variance of the metric|.google и | probability(如点击率去重) | binomial(二项分布)样本量大时用 normal 近似 | p(1-p)/N | | mean | normal (中心极限定理) | δ(variance of sample, not metric)^2/N | | median/percentile | normal (如果underlying data是normal并且样本量足够大) | ???(chatgpt 有回答,未知正误)| | rates (比如平均每分钟 call center 可以应接的电话数) | Poisson (非连续分布,长尾,均值很小的二项分布) | var=mean | | count/difference between two counts | normal (maybe 尤其对于人口数据) | 两组var之和 | .. | ratios (比如实验组与对照组点击率之比 Pexp/Pcont) |取决于分子分母的分布|如果分子分母都不是normal的,很难有analytical结果|
另一方面是,我在看假设检验的统计学书的时候,说 T 检验(或者 Z 检验)是,你假设知道整体样本的均值,然后你去进行一次抽样,检验抽样的均值是否符合整体假设。但还有另一种就是,你直接进行两次抽样,然后对比这两个抽样之间,是否相同或者不同。我感觉书上说这两个是两个事情,而 AB 测试是后一种,它在计算方式上与 T 检验也有些不同之处。我不知道是不是我学走火入魔了,有统计大佬也请指点一二。
. Waral dи,6. 这个我可太擅长了。就在选择指标的时候,如何衡量你选择的指标是一个好指标。有些指标看起来很 nice,比如每人每天平均使用 APP 的时长,但实际上这个指标可能非常的 robust,就是它很难改变,你真的看到它改变了,也是大概率由于你计算错误或者系统错误导致的。robust 指是否能对我实验的变化作出反应,sensitivity 指是否容易受异常值的影响。销售额指标,我们选销售额的均值,就很容易受异常值的影响。今天榜一大哥心情好,给女主播刷了一伯万,均值翻了好几翻,你一看哇塞我的实验真有效果,不是的兄弟,这就很 sensitive。而如果选择销售额的众数(median),即使实验很有效果,处于 median 以后的用户每个人都多刷了一千,你的 median 还是没变,这就太 robust 了。