自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(387)
  • 收藏
  • 关注

原创 信用评分卡建模:样本不均衡处理方法总结

前言在实际的评分卡开发中,会出现样本不均衡问题,比如违约样本远少于不违约样本,,通常将少数样本(坏样本)定义为正样本,多数样本(好样本)定义为负样本。要求模型对正负样本均有较好的区分能力,但样本不均衡的情况下则很难实现。样本不均衡会在特征选择,模型训练,评估指标等环节均产生严重影响,降低模型性能。本文依次从数据层,算法层和模型评估层介绍样本不均衡的处理方法。一 数据层1. 数据层下采样方法1)随机下采样方法 自助法抽样(Bootstrap Sampling)2)样本邻域选择的下采样方法

2021-03-08 21:22:16 1973

原创 并查集python版本模版

在做leetcode399题除法求值时用到了并查集,在这里把模版贴出来记录一下。class UnionFind: def __init__(self): self.father = {} ##记录每个节点的父节点 def find(self, x): root = x while self.father[root] != None: #寻找根节点 root = self.father[root] .

2021-01-06 18:19:05 150

原创 iterm快速登录开发机&&开发机文件传输

1、iterm快速登录开发机1.item2 - profiles介绍item2的功能之一,本文主要使用其的Send text at start功能,即在打开终端时输入相关指令2.expect介绍一种用来实现交互的编程语言,这里的交互可类比为登陆机器时输入密码等行为。他可以根据模拟的输出进行相关的输入。该功能mac安装可参考brew install expexct。3.编写相关程序这次的目的是让他自行登陆堡垒机并输入密码,待手机端确认过登陆后再输入登陆开发机和输入密码相关指令。同时还可以登陆其他

2022-05-17 16:50:42 854

原创 hadoop常用命令

1、查看指定目录下内容hadoop fs -ls /user/vsearch/vts_sy/liweiya/6m_10m_newbook_chapter_pv2、查看指定文件前几条数据hadoop fs -cat /user/vsearch/vts_sy/liweiya/20211001/000000_0 | head3、从hdfs下载文件/文件夹到开发机hadoop fs -get [hadoop文件/文件夹路径] [本地文件/文件夹路径]hadoop fs -get /user/vse

2022-05-17 16:29:11 3151

原创 git学习

文章目录1、Git四个工作区域2、Git工作流程3、Git常用命令分支操作修改查看修改提交修改回退标签操作1、Git四个工作区域Remote:远程仓库Repository:本地仓库index:暂存区workspace:工作区2、Git工作流程在工作区添加、修改文件;将修改后的文件放入暂存区域;将暂存区域的文件提交到本地仓库;将本地仓库的修改推送到远程仓库。3、Git常用命令分支操作git branch:列出本地分支git branch -a:列出所有分支,包括远程分

2022-05-17 16:22:01 234

原创 Linux常用命令总结

文章目录1、文本处理类1.1、grep1.2 awk1、文本处理类1.1、grepgrep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是f

2022-01-01 11:45:23 174

原创 文本翻译模型学习:Encoder-Decoder框架,Transformer,Bert

文章目录1、Encoder-Decoder框架2、attention机制3、Transformer模型4、Bert模型1、Encoder-Decoder框架知乎:一文看懂 NLP 里的模型框架 Encoder-Decoder 和 Seq2Seq深度学习笔记(六):Encoder-Decoder模型和Attention模型2、attention机制attention经典论文:《Effective Approaches to Attention-based Neural Machine Tran

2021-10-05 18:04:35 677

原创 联邦学习的学术研究和工业发展情况

文章目录1. [《Federated Machine Learning: Concept and Applications》](https://dl.acm.org/doi/abs/10.1145/3298981?casa_token=GtPgojkXeFQAAAAA:X1i18x350Fk_0dAg4ZnC5ECzP_SLKlGWHZD_VQkC6QvVY00yx-AVDa3map_ZzcIoq8xKcg39SSA)2. [《Advances and Open Problems in Federated

2021-09-21 16:50:10 164

原创 二分查找方法总结-蓝红划分法

二分查找,就是从一个查找范围中每次取中间值,然后根据中间值来判断是否满足条件或是缩小查找范围的过程,且这个范围内的值需要是有规律的,比如有序。二分查找分很多种情况,比如[1, 2, 3, 5, 5, 5, 8, 9]:找到第一个 ‘>=5’ 的元素找到最后一个 ‘<5’ 的元素找到第一个 '>5’的元素找到最后一个 ‘<=5’ 的元素以上四种方法的标准模版各不相同很难记忆,下面介绍一种通用记忆方法,蓝红划分法。建模流程:边界条件,以及返回类型如下:方法特性

2021-09-13 22:03:54 814

原创 机器学习中各种损失函数对比总结

文章目录一、分类问题1. 0-1损失函数(zero-one loss)2. Hinge 损失函数3. log对数损失函数4. Logistic损失5. 交叉熵损失函数 (Cross-entropy loss function)二、回归问题1. 绝对值损失函数2. 平方损失函数3. Huber损失损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别

2021-08-09 23:13:07 2887 1

原创 秋招投递情况汇总

这里写自定义目录标题一、提前批:1. [算法工程师-电商业务-Data-电商团队](https://jobs.bytedance.com/campus/position/6979437383105513758/detail?referral_code=SJB8GMW)2. [招行卡中心2022秋招提前批/极客大赛](https://www.nowcoder.com/discuss/686823)一、提前批:1. 算法工程师-电商业务-Data-电商团队投递时间:2021-7-302. 招行卡中心20

2021-08-01 15:12:28 226

原创 python二叉树的层序遍历模版

使用两个队列存储二叉树,主队列循环遍历各层,临时队列对每一层元素遍历,代码如下,res存放层序遍历结果:class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: if not root: return [] queue = [root] #主队列 res = [] level = 0 #标记层号

2021-07-24 19:18:12 187 1

原创 python二叉树的非递归遍历

​在树的深度优先遍历中(包括前序、中序、后序遍历),递归方法最为直观易懂,但考虑到效率,我们通常不推荐使用递归。栈迭代方法虽然提高了效率,但其嵌套循环却非常烧脑,不易理解,容易造成“一看就懂,一写就废”的窘况。而且对于不同的遍历顺序(前序、中序、后序),循环结构差异很大,更增加了记忆负担。因此,我在这里介绍一种“灰白标记法”,兼具栈迭代方法的高效,又像递归方法一样简洁易懂,更重要的是,这种方法对于前序、中序、后序遍历,能够写出完全一致的代码。其核心思想如下:使用颜色标记节点的状态,新节点为白色,已

2021-07-24 19:11:12 905

原创 jupyterlab添加conda环境

安装完Anaconda利用conda创建了虚拟环境,但是启动jupyter notebook之后却找不到虚拟环境。实际上是由于在虚拟环境下缺少kernel.json文件,解决方法如下:1. 创建环境:conda create -n 环境名称2. 在虚拟环境下创建kernel文件:conda install -n 环境名称 ipykernel3. 激活conda环境:conda activate 环境名称4. 删除kernel环境:jupyter kernelspec remove 环境名称

2021-07-22 13:10:33 1072

原创 2021招商银行FinTech训练营总结

文章目录一、初赛1. 赛题理解2. 思路解析二、复赛:高频交易预测1. 赛题背景课题研究要求比赛规则:评价标准数据说明计分规则2. 思路解析总结一、初赛时间:4/30/2021—5/12/20211. 赛题理解近年来,以A(artificial intelligence)B(big data)C(cloud)为代表的数据智能技术飞速发展。为适应新时期银行科技转型的发展战略,招商银行提出“轻运营”理念,通过对未来业务量进行精准预测,可以合理安排人力,提升关键工作节点的精确化和自动化能力,向着以卓越、高

2021-07-11 17:28:57 6612 8

原创 推荐算法前沿汇总

文章目录1.KDD2.RecSys3. SIGIR1.KDD会议网站:ACM SIGKDD Conference on Knowledge Discovery and Data MiningKDD是推荐领域一个顶级的国际会议。2020年接收的论文按照推荐系统应用场景可以大致划分为:CTR预估、TopN推荐、对话式推荐、序列推荐等。同时,GNN、强化学习、多任务学习、迁移学习、AutoML、元学习在推荐系统的落地应用也成为当下的主要研究点。此届会议有很大一部分来自工业界的论文,包括Google、Micr

2021-07-10 21:37:43 1170 2

原创 机器学习常用模型:softmax模型

参考文章:1. 神经网络中的softmax层为何可以解决分类问题——softmax前世今生系列(3)2. softmax函数的正推原理——softmax前世今生系列(1)文章目录1、softmax模型原理2、使用场景1、softmax模型原理Logistic模型只适合处理二分类问题,且在给出分类结果的同时还会给出结果的概率值。那么对于多分类问题,如果想要用类似的方法,输出分类结果的同时还给出概率,则可以使用softmax模型。softmax公式如下:softmax=eni∑j=1kejnso

2021-06-24 23:00:43 1484

原创 推荐系统常用模型

文章目录推荐系统算法学习(二)——DNN与FM DeepFM推荐系统算法学习(一)——协同过滤(CF) MF FM FFMMuti-Task之MMOE (作者:阿猫阿狗)

2021-06-20 18:06:04 328

原创 构建用户画像

文章目录1.用户画像的基础,原理,应用介绍:用户画像基础,原理,应用

2021-06-18 19:10:15 87

原创 FM模型和FFM模型总结

文章目录一、FM模型1. 引入背景一、FM模型1. 引入背景FM(Factorization Machine)主要是为了解决数据稀疏的情况下,特征怎样组合的问题。以广告分类的问题为例,根据用户与广告位的一些特征,来预测用户是否会点击广告。...

2021-06-13 21:54:04 311

原创 推荐系统各指标汇总

文章目录1. Click-Through Rate(CTR)/点击率2. Conversion Rate(CVR)/广告转化率3. Customer Lifetime Value(CLTV / LTV)/ 客户终身价值4. Cost Per Click(CPC)/每次点击成本5. Cost Per Engagement(CPE)/每次参与成本6. Cost Per Thousand Impressions(CPM)/每千次广告曝光成本7. Cost per action(CPA)/单次行动成本8. Cost

2021-06-12 21:34:14 1848

原创 特征选择方法

文章目录一、过滤法(Filter)1. 数据缺失情况变量筛选2. 方差变量筛选3. 预测能力变量筛选4. 基于业务理解的变量筛选(IV值,PSI值)5. 相关性指标变量筛选6. 主成分分析PCA二、包装法(Wrapper)常用方法:递归特征消除法(RFE,后向搜索方法)三、嵌入法(Embedding)1. 加入L1正则的模型2. 基于树模型的变量选择(随机森林,Xgbosot)3. 在评分卡模型中如果使用逻辑回归模型,也可以做特征选择四、一般的变量选择流程1. 基于IV值进行初步筛选2. 聚类分析3. 相关

2021-04-16 18:46:16 810

原创 聚类方法:K-means

目录1 原理2 算法步骤3 复杂度4 优缺点5 合理选择 K 值1 原理K-means 是我们最常用的基于欧式距离的聚类算法,其认为两个目标的距离越近,相似度越大。2 算法步骤所以 K-means 的算法步骤为:选择初始化的 k 个样本作为初始聚类中心 a=a1,a2,...,aka=a_1,a_2,...,a_ka=a1​,a2​,...,ak​;针对数据集中每个样本 xix_ixi​计算它到 k 个聚类中心的距离并将其分到距离最小的聚类中心所对应的类中;针对每个类别 aja_jaj​,重

2021-03-30 10:13:39 913

原创 LeetCode 215. 数组中的第K个最大元素

数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。方法一:使用堆排序建立大顶堆,每次建堆完毕,把堆顶元素和数组最后面的数调换位置,如此重复k次。参考代码:class S.

2021-03-27 14:42:50 138

原创 Python实现各种排序算法

一、快速排序快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。步骤为:挑选基准值:从数列中挑出一个元素,称为"基准"(pivot);分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成;递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。递归到最底部的判断条件是数列的

2021-03-27 12:58:55 401 2

原创 LeetCode:117. 填充每个节点的下一个右侧节点指针 II

填充每个节点的下一个右侧节点指针 II难度中等给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。示.

2021-03-26 11:35:13 125 1

原创 GBDT,Xgboost和LightGBM对比总结

目录前言一、GBDT二、Xgboost前言集成学习大致可分为两种:并行的集成学习方法Bagging和串行的集成学习方法Boosting。并行的集成学习方法,如随机森林,各个基学习器的构建是独立的,没有先后顺序。串行的集成方法,各个基学习器之间有强烈的依赖关系,如Adaboost, GBDT, Xgboost,LightGBM等。一、GBDTGBDT算法实现步骤如下:给定数据集T=(x1,y1),(x2,y2),...,(XN,yN)T={(x_1,y_1),(x_2,y_2),...,(X_N,y

2021-03-24 18:54:37 228

转载 时序数据处理模型:RNN与LSTM总结

1、RNN1、RNN的原理2、LSTM1、RNN的原理在使用深度学习处理时序数据时,RNN是经常用到的模型之一。RNN之所以在时序数据上有着优异的表现是因为RNN在 ttt 时间片时会将t−1t-1t−1时间片的隐节点作为当前时间片的输入。这样有效的原因是之前时间片的信息也用于计算当前时间片的内容,而传统DNN模型的隐节点的输出只取决于当前时间片的输入特征。,RNN结构如下图:图1:RNN结构图展开细节如下:图2:RNN时间线展开图其中U,V,WU,V,WU,V,W为参数矩阵,公式如

2021-03-23 17:35:30 3661

原创 Logistic回归模型:常用参数优化方法总结

前言Logistic模型常用的参数优化方法有,梯度下降法,牛顿法,拟牛顿法,坐标轴下降法等。Logistic回归模型可以表示如下:y=11+e−(wTx+b)y=\frac{1}{1+e^{-(w^Tx+b)}}y=1+e−(wTx+b)1​令y=h(x),则有下式:P(y∣x;w)=(h(x))y(1−h(x))1−yP(y|x;w)=(h(x))^y(1-h(x))^{1-y}P(y∣x;w)=(h(x))y(1−h(x))1−y其中,y取值0或1,构造似然函数如下:L(w)=∏i

2021-03-19 10:49:14 6314

原创 信用评分卡建模:logistic模型

前言logistic模型是基本线性回归模型的扩展,为了解决其无法对非线性问题分类,进行函数变换得到logistic模型,但logistic模型只能处理二分类问题,softmax在logistic模型的基础上进行改进,可以进行多分类。一、logistic模型基本线性回归模型公式如下:f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b其中wTw^TwT是参数向量,x是样本,b为偏置项。为了得到非线性效果,进行函数变换得到对数线性回归模型:f(x)=ln⁡(wTx+b)f(x)=\

2021-03-15 12:17:11 746

原创 信用评分卡建模:决策树模型

文章目录前言一、决策树原理二、决策树剪枝(pruning)前言在评分卡建模中,模型可解释性很重要,除了Logistic回归模型,决策树也是一个非常好理解的模型。决策树是一种贪心算法,得到的树不一定是最优的,而是效果较好的次优模型。决策树学习步骤为:特征选择->决策树生成->剪枝。一、决策树原理由于决策树模型无法提前知道,所以只能先从根节点开始在属性空间中选择最优的属性进行分裂得到不同的分支,即中间节点,然后中间节点继续在属性空间中选择最优的属性进行下一次分裂,以此类推,直到满足条

2021-03-12 15:48:46 1631

原创 信用评分卡建模:特征工程总结

数据和特征决定了机器学习的上限,而模型和算法只是进一步接近这个上限而已。由此可见特征工程在建模中的重要性。在传统评分卡模型的建模过程中,会经过一系列非常严格的数据预处理和特征工程,从众多特征中,选择少于20个特征参与建模,以保证模型性能。接下来我们从数据层和算法层两方面介绍如何衍生变量。一 数据层特征工程变量编码连续变量分箱函数变换如对数变换,日期类型转化为天数,变量归一化,标准化等多项式升维核函数映射时间切片如计算日期类型变量的1,3,6个月内的特征变化情况,可以

2021-03-10 21:27:16 583 1

原创 二分查找-四种题型总结

所谓二分查找,就是从一个查找范围中每次取中间值,然后根据中间值来判断是否满足条件或是缩小查找范围的过程,且这个范围内的值需要是有规律的,比如是有序的。二分查找分很多种情况,有标准二分查找,二分查找左边界,二分查找右边界,二分查找左右边界等。一、标准二分查找:找到target的位置leetcode:35.搜索插入位置给定一个排序数组和一个目标值target,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:.

2021-03-05 19:05:29 281

原创 leetcode-168. Excel表列名称

给定一个正整数,返回它在 Excel 表中相对应的列名称。例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...示例 1:输入: 1输出: "A"示例2:输入: 28输出: "AB"示例3:输入: 701输出: "ZY"思路:这是一个26进制的转换题,把1-26变成对应的A-Z,但是要注意,在对n求余数时...

2021-02-24 18:26:52 79

原创 leetcode:63. 不同路径 II----动态规划解法

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:

2021-02-18 17:45:20 139

转载 python进制转换函数

一:二,八,十六进制转十进制注意2进制对应的数值范围只能是0和1,超过范围会报错,8进制和16进制同理。print(int('100',2)) #二进制转十进制,int('20',2) 会报错print(int('30',8)) #八进制转十进制,int('80',8) 会报错print(int('f0',16)) #十六进制转十进制,int('g0',16) 会报错二:十进制转二进制、八进制、十六进制。内置函数bin、oct、hex得到的进制前面会分别带有’0b’,‘0o’,'0x’字符。

2021-01-14 18:38:06 6618

转载 Python3列表生成式

Python3列表生成式可迭代对象:列表、元组、字典等都是可迭代对象,就是可以遍历的对象range,用法如下: 1 2 3 4 5 6 7 8 print(range(10)) #可以生成从0开始到10的连续整数的迭代对象 print(range(0,10)) #可以遍历 foriinrange(10): print(i) #强制转换为列表...

2020-11-23 11:55:42 226

原创 hadoop大数据平台部署坑点总结

最近学习大数据,需要在linux服务器上部署完全分布式的hadoop+hive+hbase系统,先简单介绍一下(引自百度百科):Hadoop是一个分布式系统基础架构。它实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。提供高吞吐量(high throughput)来访问应用程序的数据,非常适合那些有着超大数据集(large data set)的应用程序。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,

2020-08-08 10:09:15 510

原创 mysql入门避坑指南--导入导出.csv文件常见问题

一: 在导入数据出现这个错误一般是因为地址里面的斜杠使用错误。比如下面load data local infile 'D:\road.txt'into table roadcd fields terminated by '\t'; 参考的许多资料,这里的地址都是使用单斜杠,但我却出现下面的错误信息:...

2019-10-25 14:30:20 1335

原创 2019年复旦计算机专硕考研经验总结

写在前面:本科湖南某双非渣学校,历经三次考研,第一年考的南京某211学校学硕,第二年考的复旦计专,初试排107名,无奈复试被刷,第三年387分,初试排名37,复试也稳定发挥,2019年终于上岸,各单科成绩如下,政治69,英语二77,数二120,960专业课 121,这一成绩和我估的分数差不多,也算对得起自己这几年的付出了。一:个人经历我是2016年毕业季开始准备第一次考研...

2019-04-14 15:05:17 21270 22

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除