【面试相关】数据分析面试前必看知识点Q&A②

半年前整理过一版的面试必看知识点Q&A①,可以结合看看

机器学习部分:

各类算法的学习可以参考,讲解的很清楚:
https://github.com/NLP-LOVE/ML-NLP

Q:线性回归

A:房价预测模型就是非常典型的线性回归,y=ax+b,线性回归是基于最小二乘法的距离公式。
在这里插入图片描述在这里插入图片描述
1、求解损失函数最小值的方法有两种:梯度下降和正规方程。
2、线性回归的另一个问题在于过拟合现象。所谓的过拟合是指在训练集上表现很好,但是测试集上表现很差。
3、为了解决上述问题,一般的线性回归都会采用加入正则项后的回归方程:岭回归(Ridge)和Lasso回归
4、两者区别在于:岭回归引入的是L2范数惩罚项,Lasso回归引入的是L1范数惩罚项。
5、Lasso回归最大的优点在于特征稀疏化。可以将很多θ均变成0,这样减小了特征值的计算,选取了那些比较重要的特征,避免过拟合。同时正式因为岭回归是要所有的θ均存在的,所以计算量Lasso回归将远远小于岭回归。
6、正则项中的λ称为正则化参数,如果λ选取过大,容忍程度较小,会把所有参数θ均最小化,造成欠拟合,如果λ选取过小,容忍程度比较大,会导致对过拟合问题解决不当。
7、一般来说,如果样本有很多特征值,选用Lasso要优于Ridge。

在这里插入图片描述

具体代码

#Lasso 
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import KFold
from sklearn.linear_model import Lasso
alpha_param={'alpha':list(np.logspace(-4,-3,10))}
kf = KFold(n_splits=5, random_state=42,shuffle=True)
grid_Lasso=GridSearchCV(Lasso(),param_grid=alpha_param,
                    cv=kf,scoring='neg_mean_squared_error')
grid_Lasso.fit(X_train,y_train)

Ridge Regression 岭回归
from sklearn.linear_model import Ridge
from sklearn.model_selection import KFold
from sklearn.model_selection import GridSearchCV
alphas_param={'alpha':list(np.logspace(-1,3,100))}
kf = KFold(n_splits=5, random_state=42,shuffle=True)
grid_Ridge=GridSearchCV(Ridge(),param_grid=alphas_param,
                    cv=kf,scoring='neg_mean_squared_error')
grid_Ridge.fit(X_train,y_train)

这里的alph就是正则化系数λ,采用GridsearchCV来寻找最佳的λ,同时加入了交叉验证,防止过拟合。

Q:逻辑回归

A:1、logistic回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数sigmoid函数映射,即先把特征线性求和,然后使用函数g(z)做为假设函数来预测。
2、 逻辑回归也有假设条件,主要是两个:
(1)假设数据服从伯努利分布
(2)假设模型的输出值是样本为正例的概率
假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。
3、g(z)可以将连续值映射到0和1上。logistic回归的假设函数如下所示,线性回归假设函数只是θx
在这里插入图片描述
logistic回归用来分类0/1问题,也就是预测结果属于0或者1的二值分类问题

#逻辑回归
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import KFold
kf = KFold(n_splits=5, random_state=42,shuffle=True)
Log_param_grid = {'C':[0.8,0.9,1,1.1,1.2,1.3,2] }
Log_grid = GridSearchCV(LogisticRegression(penalty='l1',solver='liblinear',
          dual=False, tol=0.0001,fit_intercept=True, 
          intercept_scaling=1, class_weight='balanced'),param_grid=Log_param_grid,
                    cv=kf,scoring='roc_auc')
Log_grid.fit(X_train,y_train)

1、penalty:正则化选择参数,用于解决过拟合,可选"l1",“l2” 2、solver:优化算法选择参数,当penalty为"l1"时,参数只能是"liblinear(坐标轴下降法)
3、solver参数决定了我们对逻辑回归损失函数的优化方法,有四种算法可以选择。
a) liblinear:使用了开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数。
b) lbfgs:拟牛顿法的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
c) newton-cg:也是牛顿法家族的一种,利用损失函数二阶导数矩阵即海森矩阵来迭代优化损失函数。
d) sag:即随机平均梯度下降,是梯度下降法的变种,和普通梯度下降法的区别是每次迭代仅仅用一部分的样本来计算梯度,适合于样本数据多的时候

与线性回归的区别:

逻辑回归(Logistic Regression)与线性回归(Linear
Regression)都是一种广义线性模型(generalized linear model)。
逻辑回归假设因变量 y服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。
因此与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。可以说,逻辑回归是以线性回归为理论支持的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。
逻辑回归的优缺点
优点:1. 直接对分类可能性进行建模,无需实现假设数据分布,这样就避免了假设分布不准确所带来的问题。
2. 形式简单,模型的可解释性非常好,特征的权重可以看到不同的特征对最后结果的影响。
3. 输出值自然地落在0到1之间,并且有概率意义,还能得到近似概率预测,对许多需利用概率辅助决策的任务很有用。
缺点:
1、准确率不是很高,因为本身基于的是线性模型,很难去拟合数据的真实分布。
2、本身无法筛选特征。
Q:朴素贝叶斯
A:简单来说,贝叶斯公式 + 条件独立假设 = 朴素贝叶斯方法。
在这里插入图片描述

Q:SVM
Q:决策树
Q:随机森林
Q:特征工程
Q:建模具体过程
Q:Python常用的包
Q:线性回归中多重共线性是什么?如果发生多重共线性,R2会怎么变?

Q:解决过拟合的方法

A: 增加数据量(万能办法)
减少特征:手动剔除,特征选择算法
正则化:结构风险最小化策略
数据稀疏:L1正则化 其他情况:L2正则化

Q:混淆矩阵,查准率,查重率,准确率,F1 分数

A:1、性能衡量机器学习我们常常需要建模,但是怎么评估一个模型的性能(泛化能力)呢?我们需要指进行评估对比。
2、不得不讲到混淆矩阵。
在这里插入图片描述
2.1 准确率:表示的是准确找到真正例和真反例占所有样本的比例,即预测正确的结果占总样本的百分比,但是由于样本不平衡的问题,比如在一个总样本中,正样本占90%,负样本占10%,样本是严重不平衡的。我们只需要将全部样本预测为正样本即可得到90%的高准确率,这样是不准确的。因此会衍生出查准率和召回率两个指标。
2.2 查准率:它是针对预测结果而言的,含义是在所有被预测为正的样本中实际为正的样本的概率,意思就是在预测为正样本的结果中,我们有多少把握可以预测正确。表达式为:(真正例)/(真正例+假正例)
2.3 查全率:召回率(Recall)又叫查全率,它是针对原样本而言的,它的含义是在实际真实值为正的样本中被预测为正样本的概率。表达式为:(真正例)/(真正例+假反例)
召回率应用场景:拿网贷违约率为例,相对好用户,我们更关心有多少坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。召回率越高,代表实际坏用户被预测出来的概率越高。
2.4 F1 分数-精准率和召回率的关系
通过上面两个表达式,我们发现:精准率和召回率的分子是相同,都是真正例TP,但分母是不同的,一个是(TP+FP),一个是(TP+FN)。两者的关系可以用一个P-R图来展示:
F1分数同时考虑了查准率和查全率,让二者同时达到最高,取一个平衡。F1分数的公式为 = 2查准率查全率 / (查准率 + 查全率)。我们在图中看到的平衡点就是F1分数得来的结果。
在这里插入图片描述
拿逻辑回归举例,逻辑回归的输出是一个0到1之间的概率数字,因此,如果我们想要根据这个概率判断用户好坏的话,我们就必须定义一个阈值。比如,我们定义了阈值为0.5,即概率小于0.5的我们都认为是0,而大于0.5都认为是1。因此,对于阈值为0.5的情况下,我们可以得到相应的一对查准率和查全率。
但问题是:这个阈值是我们随便定义的,我们并不知道这个阈值是否符合我们的要求。因此,为了找到一个最合适的阈值满足我们的要求,我们就必须遍历0到1之间所有的阈值,而每个阈值下都对应着一对查准率和查全率,从而我们就得到了这条曲线。
如何找到最好的阈值点呢?首先,需要说明的是我们对于这两个指标的要求:我们希望查准率和查全率同时都非常高。但实际上这两个指标是一对矛盾体,无法做到双高。图中明显看到,如果其中一个非常高,另一个肯定会非常低。选取合适的阈值点要根据实际需求,比如我们想要高的查全率,那么我们就会牺牲一些查准率,在保证查全率最高的情况下,查准率也不那么低。

Q:模型评估指标的选择-AUC&ROC

1、需要先讲讲两个指标:真正率(TPR)和假正率(FPR)。真正率=召回率=真正例/(真正例+假反例)
假正率=假正例/(假正例+真反例),因为我们发现TPR和FPR分别是基于实际表现1和0出发的,也就是说它们分别在实际的正样本和负样本中来观察相关概率问题。
2、正因为如此,所以无论样本是否平衡,都不会被影响。还是拿之前的例子,总样本中,90%是正样本,10%是负样本。我们知道用准确率是有水分的,但是用TPR和FPR不一样。这里,TPR只关注90%正样本中有多少是被真正覆盖的,而与那10%毫无关系,同理,FPR只关注10%负样本中有多少是被错误覆盖的,也与那90%毫无关系,所以可以看出:如果我们从实际表现的各个结果角度出发,就可以避免样本不平衡的问题了,这也是为什么选用TPR和FPR作为ROC/AUC的指标的原因。
3、ROC(接受者操作特征曲线)
ROC(Receiver Operating Characteristic)曲线,又称接受者操作特征曲线。该曲线最早应用于雷达信号检测领域,用于区分信号与噪声。后来人们将其用于评价模型的预测能力,ROC曲线是基于混淆矩阵得出的。
ROC曲线中的主要两个指标就是真正率假正率,上面也解释了这么选择的好处所在。其中横坐标为假正率(FPR),纵坐标为真正率(TPR),下面就是一个标准的ROC曲线图。
在这里插入图片描述
4、ROC曲线的阈值问题
与前面的P-R曲线类似,ROC曲线也是通过遍历所有阈值来绘制整条曲线的。如果我们不断的遍历所有阈值,预测的正样本和负样本是在不断变化的,相应的在ROC曲线图中也会沿着曲线滑动。
FPR表示模型虚报的响应程度,而TPR表示模型预测响应的覆盖程度。我们所希望的是:虚报的越少越好,覆盖的越多越好。所以总结一下就是TPR越高,同时FPR越低(即ROC曲线越陡,越靠近y轴),那么模型的性能就越好。
5、AUC(曲线下的面积)
为了计算 ROC 曲线上的点,我们可以使用不同的分类阈值多次评估逻辑回归模型,但这样做效率非常低。幸运的是,有一种基于排序的高效算法可以为我们提供此类信息,这种算法称为曲线下面积(Area Under Curve)。
AUC的一般判断标准
0.5 - 0.7:效果较低,但用于预测股票已经很不错了
0.7 - 0.85:效果一般
0.85 - 0.95:效果很好
0.95 - 1:效果非常好,但一般不太可能
简单代码

from sklearn import metrics
from sklearn.metrics import auc 
import numpy as np
y = np.array([1, 1, 2, 2])  
scores = np.array([0.1, 0.4, 0.35, 0.8])  
fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
metrics.auc(fpr, tpr) 

Q:PCA
高维(上万)能不能用pca我也不太清楚,感觉不能,运算应该不会太友好,而且pca主要是消除变量之间的线性相关性,高维数据降维后可能会忽略掉一些重要特征的信息,用lasso应该更好一些。onehot不能用pca,因为onehot生成的特征肯定是线性无关的

统计学部分:

Q:二项分布、泊松分布、正态分布、指数分布、伯努利分布

1、伯努利分布:是一个离散型概率分布,若成功,则随机变量取值1;若失败,随机变量取值为0。成功概率记为p,失败为q = 1-p。
在这里插入图片描述
2、泊松概率分布:它主要用于估计某事件在特定时间或空间中发生的次数。泊松概率还有一个重要性质,它的数学期望和方差相等,所以上题的方差为2.5,标准差为根号2.5,即1.58。
在这里插入图片描述
上述分布都是离散概率分布,当随机变量是连续型时,情况就完全不一样了。因为离散概率的本质是求x取某个特定值的概率,而连续随机变量不行,它的取值是可以无限分割的,它取某个值时概率近似于0。

Q:假设检验(T检验\Z检验\F值\p值)

1、假设检验是先对总体参数提出一个假设值,然后利用样本信息判断这一假设是否成立。
一种叫原假设,也叫零假设,用H0表示。原假设一般是统计者想要拒绝的假设。另外一种叫备择假设,用H1表示。备则假设是统计者想要接受的假设。
2、第I类错误或α错误:它是指原假设实际上是真的,但通过样本估计总体后,拒绝了原假设。这个错误的概率我们记为α。这个值也是显著性水平
3、第II类错误或β错误:它是指 原假设实际上假的,但通过样本估计总体后,接受了原假设。明显者是错误的,我们接受的原假设实际上是假的,所以叫取伪错误,这个错误的概率我们记为β。
4、显著性水平是指当原假设实际上正确时,检验统计量落在拒绝域的概率,简单理解就是犯弃真错误的概率。这个值是我们做假设检验之前统计者根据业务情况定好的。显著性水平α越小,犯第I类错误的概率自然越小
5、假设检验步骤
1)提出原假设与备择假设
2)从所研究总体中出抽取一个随机样本
3)构造检验统计量
4)根据显著性水平确定拒绝域临界值
5)计算检验统计量与临界值进行比较
6、一个总体参数的小样本(n>=30)假设检验方法:
在这里插入图片描述
P< α,拒绝H0
7、T检验:主要用于样本量比较小的时候(n<30)。要求比较的资料服从正态分布, 总体标准差σ未知的正态分布资料。t检验只能用于两样本均数及样本均数与总体均数之间的比较。
在这里插入图片描述
即:如果p< =α,那么拒绝零假设,也就是备择假设成立。
如果p>α,那么原假设成立

为什么统计者想要拒绝的假设放在原假设呢?因为原假设备被拒绝如果出错的话,只能犯第I类错误,而犯第I类错误的概率已经被规定的显著性水平所控制。

Q:置信区间&置信度&置信性
【统计】某调查公司接受委托满意度调查,满意度分数在0~20之间,随机抽取36名消费者,平均满意分12,标准差3,在大样本的假设下,根据调查结果对总体平均满意情况的95%的置信区间,结果是:
Q:显著性水平
Q:辛普森悖论
Q:概率和似然是什么

似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ),在这里的解释是,如果y=1,那么你用不同的θ和x相结合就会求出y=1的时的概率时多大,说白了就是你最终得到的y值和1到底有多像。
似然和概率区别的描述在教科书中,似然常常被用作“概率”的同义词。但是在统计学中,二者有截然不同的用法。概率描述了已知参数时的随机变量的输出结果;似然则用来描述已知随机变量的输出结果时,未知参数的可能取值。
例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的**“概率”**是多少;
而对于“一枚硬币上抛十次,落地都是正面向上”这种事件,我们则可以问,这枚硬币正反面对称的“似然”程度是多少
一种是已知参数,正反对称,求得到某种结果的概率。
另一种是已知落地都是正面向上这个结果,这是一个给定的结果,问”正反对称“的可能性,就是求参数值=0.5的可能性。

Q:相关系数和协方差
Q:F检验,z统计量,t统计量
Q:切比雪夫不等式
Q:皮尔逊和斯皮尔曼系数
Q:偏态分布怎么处理
Q:数据倾斜

sql部分:

Q:Union和Join的区别
Q:Sql执行顺序
Q:sql行转列
Q:除了distinct 还有什么方法去重
Q:什么情况下索引不命中
Q:试一下连接数据库

Excel部分:

Q:讲一下Vlookup的用法和每个字段含义

python 部分:

业务方面:

Q:介绍一个数据分析项目
Q:次留,七留
Q:留存率下降怎么办
Q:DAU下降怎么办
Q:怎么衡量短视频生态
Q:AB test

A/B 测试是一种产品优化方法:为同一个优化目标制定两个方案,让同一部分用户中的一部分用户命中 A 方案,同时另一部分用户命中 B 方案,统计并比较不同方案的点击率、转化率等数据指标,通过不同方案的数据表现,在确定数据表现通过假设检验后,决定最终方案的实验方法。
1、同时性和同质性:两个策略是同时投入使用的,两个策略使用群体尽可能保持一致
2、流量分配规则:正交和互斥,
正交:每个独立实验为一层,一份流量穿越每层实验时,都会随机打散再重组,保证每层流量数量相同。
互斥: 实验在同一层拆分流量,不论如何拆分,不同组的流量是不重叠的。
AB测试实验中,两个或多个实验内容相互影响则选择互斥方法分配流量,两个或多个实验内容不会相互影响则选择正交方法分配流量。
3、主要步骤:
1)先设置好实验条件和统计指标
2)
Q:APP指标拆解
Q:抖音优缺点,对比快手
Q:第一类错误,第二类错误,怎么降低第一类错误
Q:帕累托分析法
Q:RFM
Q:AARRR

大数据部分:
Q:Hive,hadoop原理

保持渴求,不要沉寂

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值