当前位置: 首页 > news >正文

风控模型算法面试题集结

特征处理

1. 特征工程的一般步骤什么?什么是特征迭代

特征工程一般包含:

  • 数据获取,分析数据的可用性(覆盖率,准确率,获取容易程度)
  • 数据探索,分析数据业务含义,对特征有一个大致了解,同时进行数据质量校验,包含缺失值、异常值和一致性等;
  • 特征处理,包含数据处理和特征处理两部分。数据处理主要做清洗工作(缺失值、异常值、错误值、数据格式处理等),特征转换即对连续特征、离散特征、时间序列进行转换,常用标准化、归一化、区间缩放、二值化、哑变量编码等,便于入模;
  • 特征构建,构建与目标变量相关且区分度较好的特征,常用方法有特征交叉、四则运算、业务理解的处理等;
  • 特征筛选,特征维度过高不仅会导致模型训练效率低下,特征鲁棒性也不强,要做特征降维,常用方法有过滤法,包装法,嵌入法;

特征工程迭代:

  • 特征提取:根据具体问题分析,从数据中查找可以提出信息的关键数据;
  • 设计特征:可以自动进行特征提取,也可以手动进行特征构建;
  • 特征选择:从多个维度判断特征是否可以放入模型;
  • 计算模型:计算模型在改特征上所提升方准确率;
  • 上线测试:通过在线测试来评估特征是否有效;

2. 时间序列特征、连续特征、离散特征怎么转换

  • 时间序列特征:按时间变量的维度进行离散(年、月、日、时、分),或者与位置变量进行结合衍生出新的特征;
  • 连续特征:表转化、归一化、区间缩放、离散化。离散化常用的方法有卡方分箱、决策时分箱、等频和等距分箱;
  • 离散特征:如果类别不是很多,做哑变量处理;对于无需离散变量用都热编码,有序李淑娜使用顺序编码。如果类别较多,可用平均数编码;

3. 特征衍生方法有哪些

常用的特征衍生方法包括:

  • 基于业务理解构造特征,比如电商平台用户的购买和时间关系;
  • 特征交叉;
  • 分解类别特征,如对缺失特征可以分解成是否有这个类别的二值化特征,或者将缺失特征作为一个类别;
  • 重构数值,如单位转换等
  • 特征四则运算,如平均、最大最小、加减乘除等;

4. 特征筛选的目的和需求

目的:

  • 简化模型,增加模型的可解释性,降低过拟合风险
  • 缩短模型训练时间
  • 避免维度灾难

需求:

  • 可解释性好,与目标变量在业务上有解释
  • 时间维度上稳定
  • 有较好的覆盖度;

5. 特征筛选方法和各自的优缺点

Filter 过滤法:按照发散性、相关性对各个特征进行评分,设定阈值进行选择;

  • 方法有相关系数、方法(对连续变量)、卡方校验(类别变量)、信息熵、IV。实际过程主要基于相关系数和IV;
  • 优点:算法通用性强,复杂度低,适用于大规模数据集提出不相干变量,可以作为特征预筛选;
  • 缺点:由于算法评价标准独立于特征学习算法,特征子集在分类准确方面较低;

Wrapper封装法:利用学习算法的性能评价特征子集的好坏,wrapper法需要一个分类器。

  • 方法有完全搜索法、启发式搜索,随机搜索。工作中常用的是启发式搜索,如卡方分布的逐步逻辑回归进行评选;
  • 优点:相对于filter法能找到分类性能更好的特征子集
  • 缺点:算法复杂度高,当改变学习算法时,需要重新进行特征筛选;

Embedded嵌入法:先使用机器学习算法和模型进行训练,得到各个特征的权值系数,然后按照系数大小进行筛选。

  • 常用方法包括基于惩罚性的岭回归、Lasso回归,L1/2正则化,和基于树模型输出的特征重要性。工作中场景的基于随机森林、xgboost和lightgbm。
  • 优点:效果好,速度快,模式单调;
  • 缺点:参数设置,以及需要对模型算法原理有较好理解;

6. 如何发现和处理特征缺失值

在风控建模过程中,首先要了解缺失值产生的原因,是数据本身采集问题还是用户本身缺少这个属性,以及缺少属性对风险有无影响;

其次,对于缺失率较高的特征,尤其是评分卡模型,大于25%就不建议采用,在10%以内可用中位数或者随机森林来填充,区间内的可以考虑当做一个特殊类别来处理;

7. 特征异常值发现和处理

异常值的发现可采用如极差、四分位间距、均差、标准差等,还可以通过等距方法来检验异常点。,如欧式距离、绝对距离等

对于异常值处理,先判断是否是真正的错误。如果是错误数据,清理掉就行。如果无法判断,则看异常值是否较多,若较多可以采用单独类处理,如果不做也可不做处理。

8. 如何处理特征不平衡问题

  • 好坏样本比例不平衡,先确定好坏样本的定义;
  • 基于定义尝试扩大数据集,比如信贷中拉长时间线;
  • 对数据进行抽样,一种是欠采样,通过减少大类样本呢来降低不平衡;另一种是过采样,通过增加小数据样本来降低不平坦。实际工作中常用SMOTE方法来实现过采样。
  • 尝试用xgboost和lightgbm等对不平衡数据处理效果好的模型。

9. 特征离散化和特征交叉

相关文章:

风控模型算法面试题集结

特征处理 1. 特征工程的一般步骤什么?什么是特征迭代 特征工程一般包含: 数据获取,分析数据的可用性(覆盖率,准确率,获取容易程度)数据探索,分析数据业务含义,对特征有一个大致了解,同时进行数据质量校验,包含缺失值、异常值和一致性等;特征处理,包含数据处理和…...

PX4中的DroneCAN的实现库Libuavcan及基础功能示例

简介 Libuavcan是一个用C编写的可移植的跨平台库,对C标准库的依赖小。它可以由几乎任何符合标准的C编译器编译,并且可以在几乎任何体系结构/OS上使用。 在 DroneCAN 中,Libuavcan 有一个 DSDL 编译器,将 DSDL 文件转换为 hpp 头…...

Hot 3D 人体姿态估计 HPE Demo复现过程

视频讲解 Hot 3D 人体姿态估计 HPE Demo复现过程 标题:Hourglass Tokenizer for Efficient Transformer-Based 3D Human Pose Estimation论文地址:https://arxiv.org/abs/2311.12028代码地址:https://github.com/NationalGAILab/HoT 使用con…...

Linux操作系统6- 线程1(线程基础,调用接口,线程优缺点)

上篇文章:Linux操作系统5- 补充知识(可重入函数,volatile关键字,SIGCHLD信号)-CSDN博客 本篇Gitee仓库:myLerningCode/l27 橘子真甜/Linux操作系统与网络编程学习 - 码云 - 开源中国 (gitee.com) 目录 一.…...

每周一个网络安全相关工具——MetaSpLoit

一、Metasploit简介 Metasploit(MSF)是一款开源渗透测试框架,集成了漏洞利用、Payload生成、后渗透模块等功能,支持多种操作系统和硬件平台。其模块化设计(如exploits、auxiliary、payloads等)使其成为全球…...

MAC-禁止百度网盘自动升级更新

通过终端禁用更新服务(推荐)​ 此方法直接移除百度网盘的自动更新组件,无需修改系统文件。 ​步骤: ​1.关闭百度网盘后台进程 按下 Command + Space → 输入「活动监视器」→ 搜索 BaiduNetdisk 或 UpdateAgent → 结束相关进程。 ​2.删除自动更新配置文件 打开终端…...

【C语言】自定义类型:结构体,联合,枚举(上)

前言:在C语言中除了我们经常使用的数据(int,float,double类型)等这些类型以外,还有一种类型就是自定义类型,它包括结构体,联合体,枚举类型。为什么要有这种自定义类型呢?假设我们想描…...

SQLiteStudio:一款免费跨平台的SQLite管理工具

SQLiteStudio 是一款专门用于管理和操作 SQLite 数据库的免费工具。它提供直观的图形化界面,简化了数据库的创建、编辑、查询和维护,适合数据库开发者和数据分析师使用。 功能特性 SQLiteStudio 提供的主要功能包括: 免费开源,可…...

Mysql配置文件My.cnf(my.ini)配置参数说明

一、my.cnf 配置文件路径:/etc/my.cnf,在调整了该文件内容后,需要重启mysql才可生效。 1、主要参数 basedir path # 使用给定目录作为根目录(安装目录)。 datadir path # 从给定目录读取数据库文件。 pid-file filename # 为mysq…...

聊天模型集成指南

文章目录 聊天模型集成指南Anthropic聊天模型集成PaLM2聊天模型PaLM2API的核心功能OpenAl聊天模型集成聊天模型集成指南 随着GPT-4等大语言模型的突破,聊天机器人已经不仅仅是简单的问答工具,它们现在广泛应用于客服、企业咨询、电子商务等多种场景,为用户提供准确、快速的反…...

搭建农产品管理可视化,助力农业智能化

利用图扑 HT 搭建农产品管理可视化平台,实现从生产到销售的全流程监控。平台通过物联网传感器实时采集土壤湿度、温度、光照等数据,支持智慧大棚的灌溉、施肥、病虫害防治等功能。同时,农产品调度中心大屏可展示市场交易数据、库存状态、物流…...

tee命令

tee 是一个在 Unix/Linux 系统中常用的命令,它用于读取标准输入(stdin),并将其内容同时输出到标准输出(stdout)和文件中。它常用于将命令的输出保存到文件的同时,也显示在终端屏幕上。 基本语法…...

国自然面上项目|基于海量多模态影像深度学习的肝癌智能诊断研究|基金申请·25-03-07

小罗碎碎念 今天和大家分享一个国自然面上项目,执行年限为2020.01~2023.12,直接费用为65万元。 该项目旨在利用多模态医学影像,通过深度学习技术,解决肝癌诊断中的难题,如影像的快速配准融合、海量特征筛选…...

「勾芡」和「淋明油」是炒菜收尾阶段提升菜品口感和观感的关键操作

你提到的「勾芡」和「淋明油」是炒菜收尾阶段提升菜品口感和观感的关键操作,背后涉及食品科学中的物理化学变化。以下从原理到实操的深度解析: 一、勾芡:淀粉的“精密控温游戏” 1. 科学原理 淀粉糊化(Gelatinization&#xff0…...

ROS云课三分钟-差动移动机器人导航报告如何撰写-及格边缘疯狂试探

提示词:基于如上所有案例并结合roslaunch teb_local_planner_tutorials robot_diff_drive_in_stage.launch和上面所有对话内容,设计一个差速移动机器人仿真实验,并完成报告的全文撰写。 差速移动机器人导航仿真实验报告 一、实验目的 验证 T…...

应用案例 | 精准控制,高效运行—宏集智能控制系统助力SCARA机器人极致性能

概述 随着工业4.0的深入推进,制造业对自动化和智能化的需求日益增长。传统生产线面临空间不足、效率低下、灵活性差等问题,尤其在现有工厂改造项目中,如何在有限空间内实现高效自动化成为一大挑战。 此次项目的客户需要在现有工厂基础上进行…...

蓝桥备赛(16)- 树

一、树的概念 1.1 树的定义 1)树型结构(一对多)是⼀类重要的非线性数据结构 2 )有⼀个特殊的结点,称为根结点,根结点没有前驱结点 3)除了根节点外 , 其余结点被分成 M(M…...

黑马测试mysql基础学习

视频来源:软件测试工程师所需的MySQL数据库技术,mysql系统精讲课后练习_哔哩哔哩_bilibili 环境准备: 虚拟机Linux服务器安装mysql数据库。本机安装Navicat。使Navicat连接虚拟机的数据库。(麻烦一点的是Navicat连接虚拟机的数据…...

ROS2-话题学习

强烈推荐教程: 《ROS 2机器人开发从入门到实践》3.2.2订阅小说并合成语音_哔哩哔哩_bilibili 构建功能包 # create package demo_python_pkg ros2 pkg create --build-type ament_python --license Apache-2.0 demo_python_pkg 自己写的代码放在./demo_python_pkg/…...

C++指针的基本认识

1.数组做函数参数 首先,所有传递给函数的参数都是通过传值方式进行的,传递给函数的都是参数的一份拷贝。 接着,当传递的参数是一个指向某个变量的指针时,函数将对该指针执行间接访问操作(拷贝指针,并访问所指向的内容),则函数就可以修改指向的变量。 2.一维数组 数组名…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

day36-多路IO复用

一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

Bean 作用域有哪些?如何答出技术深度?

导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答&#xff0c…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...