vivo面试经历-一面-推荐算法工程师

版权声明:博主原创文章属私人所有,未经允许 不可转发和使用 https://blog.csdn.net/a1066196847/article/details/86549572

1:在计算auc的时候,如果对负样本进行采样,是否会大幅度影响最终的数值。

正确答案:不会

原因:首先对于auc,我们应该先知道他的具体计算方法,和对应画出来的图

  正样本 负样本
预测为正 TP(真正例,预测为正 预测也为正) FP(假正例,预测为正 但真实为负)
预测为负 FN(假负例,预测为负 但真实为负) TN(真负例,预测为负,真实也为负)

然后我们计算,真正率 和 假正率

TPR = TP / (TP+FN)

FPR = FP / (FP +TN)

结合面试题继续回答:当进行负样本采样时,>阈值的负样本和<阈值的负样本留下的概率是相同的,所以比例不会变化,多以正样本得分大于负样本的概率也不会变化。

更详细的AUC介绍可以参考这篇博客:深入理解AUC

2:对于mysql中,怎么来分析一长段sql哪段是最耗时的

首先开启mysql的慢查询,把执行慢的语句都保存下来。慢查询

接着使用explain来具体每一条语句来进行分析。explain

总体的流程,可以参考下面这个链接 https://www.cnblogs.com/qmfsun/p/4844472.html  里面有具体的例子

3:红球白球概率

https://blog.csdn.net/sysysty/article/details/52891663

4:python中写源码来计算auc

肯定不是用计算roc曲线的面积来进行计算,而是应该用“AUC统计意义去计算。所有的正负样本对中,正样本排在负样本前面占样本对数的比例,即这个概率值”来进行计算。下面给出sql和python代码

https://blog.csdn.net/u014035615/article/details/80077523

https://tracholar.github.io/machine-learning/2018/01/26/auc.html

猜你喜欢

转载自blog.csdn.net/a1066196847/article/details/86549572