滴滴风控机器学习算法岗面试题8道(含答案解析)

年前,技术群组织了一场数据类的技术&面试讨论会,邀请了一些大厂同学和23年参加招聘的同学来分享:新人如何入门数据和算法岗,面经/面试题分享、大厂在算法场景的落地项目及经验分享等热门话题。

今天我整理了风控算法方向的面试题,分享给大家,希望对后续找工作的有所帮助。如果你想加入我们的讨论群或者希望要更详细的资料,文末加入。喜欢本文记得收藏、关注、点赞 。


问题1:样本不平衡问题怎么处理的,有什么方法?

  • 重采样方法:通过欠采样(随机删除多数类样本)或过采样(复制少数类样本或生成合成样本)来平衡样本分布。常见的方法包括随机欠采样、SMOTE(Synthetic Minority Over-sampling Technique)等。

  • 类别权重调整:通过调整分类算法中不同类别的权重,使得分类器更加关注少数类样本。一些分类算法(如逻辑回归、支持向量机)提供了设置类别权重的参数。

  • 集成方法:使用集成学习算法,如随机森林或梯度提升树(例如XGBoost和LightGBM),能够处理样本不平衡问题。这是因为集成算法可以从多个子模型中综合考虑不同类别的情况。

问题2:快速排序时间复杂度?稳定性怎么样?为什么是不稳定的

快速排序(QuickSort)的平均时间复杂度为O(n log n),最坏情况下的时间复杂度为O(n^2)。快速排序的稳定性取决于具体的实现方式。通常情况下,快速排序是不稳定的,因为在分区过程中,元素的相对顺序可能会改变。

快速排序的不稳定性是由于分区过程中的元素交换操作引起的。在分区过程中,我们选择一个基准元素(通常是第一个或最后一个元素),将小于基准的元素放在基准的左边,大于基准的元素放在基准的右边。在交换元素的过程中,相等元素的相对顺序可能发生改变,从而导致排序结果的不稳定性。

问题3:各种评估指标

  • 准确率(Accuracy):分类正确的样本数与总样本数之比。

  • 精确率(Precision):在被分类为正例的样本中,真正例的比例。

  • 召回率(Recall):在所有正例中,被正确分类为正例的比例。

  • F1分数(F1 Score):精确率和召回率的调和均值,综合考虑了两者。

  • ROC曲线(Receiver Operating Characteristic curve)和AUC(Area Under the Curve):绘制真正例率(TPR)和假正例率(FPR)之间的关系曲线,并计算曲线下面积。

  • 混淆矩阵(Confusion Matrix):展示分类结果的四个统计数字:真正例(True Positive, TP)、假正例(False Positive, FP)、真反例(True Negative, TN)和假反例(False Negative, FN)。

问题4:gboost算法介绍?

XGBoost是一种基于梯度提升树(Gradient Boosting Tree)算法的集成学习模型,它在梯度提升树的基础上进行了优化和改进。

XGBoost的主要特点和优势包括:

  • 正则化:XGBoost引入了正则化项来控制模型的复杂度,防止过拟合。它通过控制叶子节点的权重以及树的复杂度来实现正则化,避免单棵树过于复杂。

  • 自定义损失函数:XGBoost允许用户自定义损失函数,从而能够灵活地适应不同的任务需求。

  • 特征选择:XGBoost通过计算特征的重要性得分,可以帮助识别和选择最具预测能力的特征。

  • 高效并行:XGBoost在训练过程中支持并行计算,可以利用多线程和分布式计算加速模型的训练。

  • 缺失值处理:XGBoost能够自动学习如何处理缺失值,无需对缺失值进行特殊处理。

  • 特征交叉:XGBoost支持特征交叉,可以通过组合特征创建新的特征,提升模型的表达能力。

问题5:评分卡建模全流程?

  1. 数据准备:收集并清洗需要建模的数据,包括缺失值处理、异常值处理、变量转换等。

  2. 变量选择:通过特征分析、相关性分析、变量筛选方法(如IV值、WOE值)等,选择最具预测能力的变量作为建模输入。

  3. 数据切分:将数据集切分为训练集和验证集(测试集),用于模型训练和验证。

  4. 建立评分卡模型:根据业务需求选择适当的分类算法,如逻辑回归、决策树等,建立评分卡模型。在建模过程中,需要进行特征工程、变量转换、变量融合等步骤。

  5. 模型评估和验证:使用验证集对模型进行评估,包括计算评分卡的各项指标,如准确率、精确率、召回率、F1分数等。根据评估结果对模型进行调优和验证。

问题6:是否熟悉 transformer 的架构

Transformer本身是一个典型的encoder-decoder模型,Encoder端和Decoder端均有6个Block,Encoder端的Block包括两个模块,多头self-attention模块以及一个前馈神经网络模块;Decoder端的Block包括三个模块,Masked多头self-attention模块,多头Encoder-Decoder attention交互模块,以及一个前馈神经网络模块;需要注意:Encoder端和Decoder端中的每个模块都有残差层和Layer Normalization层。

问题7:transformer输出层的softmax有什么用

Transformer输出层的softmax用于将模型的输出转换为概率分布,以便进行分类任务。它将模型的最后一层的隐藏状态映射到一个多类别分类任务上的概率分布,使得模型可以计算每个类别的概率,并选择概率最高的类别作为预测结果。

问题8:一个数组 返回所有和为k的组合

给定一个数组,返回所有和为k的组合可以通过回溯法或动态规划来实现。以下是一个示例的伪代码,演示如何使用回溯法来找到和为k的组合:

def find_combinations(nums, k):
    def backtrack(start, target, path):
        if target == 0:
            result.append(path)
            return
        for i in range(start, len(nums)):
            if nums[i] <= target:
                backtrack(i, target - nums[i], path + [nums[i]])


    result = []
    backtrack(0, k, [])
    return result

技术交流

独学而无优则孤陋而寡闻,技术要学会交流、分享,不建议闭门造车。

建立了技术交流与面试交流群,面试真题、答案获取,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:Python学习与数据挖掘,后台回复:交流
方式②、添加微信号:dkl88194,备注:交流

文章精选

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 400 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前 状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个6个月内逾 个月内逾 期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来用户在未来 用户在未来 用户在未来 6个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 问题转换成 问题转换成 问题转换成 2分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 AUC ,从 Master Master Master,LogInfoLogInfo LogInfo ,UpdateInfo UpdateInfo UpdateInfo 表中构建 表中构建 特征,考虑评估指标为 特征,考虑评估指标为 特征,考虑评估指标为 特征,考虑评估指标为 特征,考虑评估指标为 AUC AUC,其本质是排序优化问题,所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 排序优化的 排序优化的 排序优化的 RANK_AVG RANK_AVG RANK_AVG融合方法。 融合方法。 融

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值