
机器学习
猪逻辑公园
数据分析 机器学习 NLP 风控 营销推荐
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
11种离散型变量编码方式及效果对比
首先介绍一个关于离散型编码的Python库,里面封装了十几种(包括文中的所有方法)对于离散型特征的编码方法,接口接近于Sklearn通用接口,非常实用。下面是这个库的链接:Category Encoders1. Label Encoder / Ordered Encoder这个编码方式非常容易理解,就是把所有的相同类别的特征编码成同一个值,例如女=0,男=1,狗狗=2,所以最后编码的特征值...转载 2020-04-17 18:15:56 · 1804 阅读 · 0 评论 -
平均数编码:针对高基数定性特征(类别特征)的数据预处理/特征工程
平均数编码:针对高基数定性特征(类别特征)的数据预处理Mean Encoding: A Preprocessing Scheme for High-Cardinality Categorical Features论文原文下载:http://helios.mm.di.uoa.gr/~rouvas/ssi/sigkdd/sigkdd.vol3.1/barreca.pdf如果某一个特征是...转载 2020-03-13 15:29:16 · 1322 阅读 · 1 评论 -
度量学习中的马氏距离(Mahalanobis Distance)
对马氏距离的定义:马氏距离是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为,协方差矩阵为Σ...转载 2019-11-25 18:53:08 · 3279 阅读 · 0 评论 -
sklearn分类评估参数 average
参数解释average: string, [None, ‘micro’, ‘macro’(default), ‘samples’, ‘weighted’]将一个二分类matrics拓展到多分类或多标签问题时,我们可以将数据看成多个二分类问题的集合,每个类都是一个二分类。接着,我们可以通过跨多个分类计算每个二分类metrics得分的均值,这在一些情况下很有用。你可以使用average参数来...原创 2019-11-22 11:28:54 · 3318 阅读 · 0 评论 -
Multi task learning(MTL)多任务学习介绍
1、定义及与其他机器学习任务的区别1.1 单任务学习与多任务学习既然要介绍多任务学习,那么就必须要提到与之对应的单任务学习。我们平时接触最多的那些机器学习算法基本都是单任务学习,即专注于一个学习目标。如上图所示,有4个独立的神经网络,每个网络针对同样的输入只有一个输出函数(优化目标),这四个网络之间没有任何连接,所以每个网络之间的表示层是独立的,彼此训练的隐层对其他网络的训练没有任...转载 2019-10-21 11:33:46 · 2127 阅读 · 0 评论 -
机器学习中的多标签分类
多标签分类的算法,通常改变算法或数据,最常用的方法如下:改造成二分类比如,y标签一共有L个分类,那么就建立L个分类器,分别对应L个分类标签,进行训练。标签排序+二分类使用“成对比较”(pairwise comparison),获得L(L-1)/2个分类器。在训练这些分类器后,利用投票方式得到标签的排序。然后,利用二分类来对标签排序的投票结果进行补充,提高准确性。随机k标签从...转载 2019-10-21 10:55:08 · 2438 阅读 · 0 评论 -
学习博客收藏
http://www.csuldw.com/https://github.com/zhpmatrix/nlp-competitions-list-reviewWide & Deep与DeepFM模型https://www.zhihu.com/people/wang-ming-hui-38/postshttp://wd1900.github.io/#bloghttps:/...原创 2019-10-16 10:40:26 · 199 阅读 · 0 评论 -
如何在不平衡类上使用机器学习?
什么也不做。有时好运就这样降临在你的头上:你什么都不需要做。你可以使用所谓的自然(或分层)分布来进行训练,有时不需任何修改就能正常运行。 通过某些方法使得数据更加平衡: 对少数类进行过采样 对多数类进行欠采样 合成新的少数类 舍弃所有少数类,切换成一个异常检测框架。 在算法层面之上(或之后): 调整类的权重(错误分类成本) 调整...转载 2018-08-10 14:04:52 · 437 阅读 · 0 评论 -
使用 Scikit-learn 理解随机森林
在我以前的一篇文章(https://blog.datadive.net/interpreting-random-forests/)中,我讨论了随机森林如何变成一个「白箱子」,这样每次预测就能被分解为各项特征的贡献和,即预测=偏差+特征 1 贡献+ ... +特征 n 贡献。我的一些代码包正在做相关工作,然而,大多数随机森林算法包(包括 scikit-learn)并没有给出预测过程的树路径。因此...翻译 2018-08-03 10:23:32 · 587 阅读 · 0 评论 -
通过三门问题解释贝叶斯概率
三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let’s Make a Deal。 问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人...转载 2018-08-28 10:11:57 · 9118 阅读 · 0 评论 -
信用评分卡模型资料
卡方分箱详解https://blog.youkuaiyun.com/hxcaifly/article/details/80203663WOE和IV详解https://blog.youkuaiyun.com/shenxiaoming77/article/details/78771698逻辑回归坏样本概率转换成标准评分卡https://blog.youkuaiyun.com/lll1528238733/article...原创 2018-10-31 17:39:00 · 403 阅读 · 0 评论 -
《美团机器学习实践》—— 思维导图
第一章 问题建模第二章 特征工程第三章 常用模型第四章 模型融合第五章 用户画像第六章 POI实体链接第七章 评论挖掘第八章 O2O场景下的查询理解和用户引导第九章 O2O场景下排序的特点第十章 推荐在O2O场景中的应用第十一章 O2O场景下的广告营销第十二章 用户偏好和损失建模第十三章 深度学习概述...转载 2018-11-05 16:34:48 · 1450 阅读 · 0 评论 -
FTRL代码实现
FTRL(Follow The Regularized Leader)是一种优化方法,就如同SGD(Stochastic Gradient Descent)一样。这里直接给出用FTRL优化LR(Logistic Regression)的步骤:其中pt=σ(Xt⋅w)pt=σ(Xt⋅w)是LR的预测函数,求出ptpt的唯一目的是为了求出目标函数(在LR中采用交叉熵损失函数作为目标函数)对参数...转载 2018-11-11 16:54:44 · 1674 阅读 · 0 评论 -
模型融合之Stacking方法
Stacking(stacked generalization)是在大数据竞赛中不可缺少的武器将训练好的所有基模型对整个训练集进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练,即将这些训练的模型的输出再作为为输入训练一个模型,最后得到一个最终的输出。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预...转载 2018-08-10 09:36:50 · 4799 阅读 · 0 评论 -
多重共线性的解决方法
多重共线性(Multicollinearity)是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确[百度百科]。通俗的说,就是变量之间有较强的相关性,影响模型的预测能力。解决多重共线问题可以考虑一下几种方法:(一)删除不重要的自变量自变量之间存在共线性,说明自变量所提供的信息是重叠的,可以删除不重要的自变量减少重复信息。但从模型中删去自变量时应该注...转载 2018-08-10 09:15:38 · 21514 阅读 · 0 评论 -
WOE编码和IV信息量
WOE WOE的全称是“Weight of Evidence”,即证据权重。WOE是对原始自变量的一种编码形式。要对一个变量进行WOE编码,需要首先把这个变量进行分组处理(也叫离散化、分箱等等,说的都是一个意思)。分组后,对于第i组,WOE的计算公式如下: 其中,pyi是这个组中响应客户(风险模型中,对应的是违约客户,总之,指的是模型中预测变量取值为“是”或者说1的个...转载 2018-08-09 10:43:08 · 6341 阅读 · 1 评论 -
特征分箱
在建模中,需要对连续变量离散化,特征离散化后,模型会更稳定,降低了模型过拟合的风险。有监督的卡方分箱法(ChiMerge)自底向上的(即基于合并的)数据离散化方法。 它依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。基本思想:对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则...转载 2018-08-09 09:42:49 · 883 阅读 · 0 评论 -
特征选择-相关系数法F检验
F检验(F-test),最常用的别名叫做联合假设检验(英语:joint hypotheses test),此外也称方差比率检验、方差齐性检验。它是一种在原假设(null hypothesis, H0)之下,统计值服从F-分布的检验。 F检验的计算公式: p值的计算: p值的计算是与假设检验有着密不可分的关系,p值为结果可信水平的一个递减指标,p值越大,我们越...转载 2018-07-27 16:23:17 · 12307 阅读 · 0 评论 -
排序学习---ranknet方法
1 背景 随着移动互联网的崛起,越来越多的用户开始习惯于从手机完成吃、喝、玩、乐、衣、食、住、行等各个方面的需求。打开手机,点开手淘、美团等APP,商品玲玲满目,而让用户将所有商品一页页看完已经不现实,通常情况下用户也就查看前几页,如果找不到满意的商品则退出,从而造成流单。因此如何对商品进行排序使得用户能尽快完成购买流程已经成为这些平台的重要攻克方向。图1 手机淘宝、美团等ap...转载 2018-07-21 21:09:12 · 1501 阅读 · 0 评论 -
为什么一些机器学习模型需要对数据进行归一化?
一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢?很多同学并未搞清楚,维基百科给出的解释:1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度。下面我简单扩展解释下这两点。1 归一化为什么能提高梯度下降法求解最优解的速度? 斯坦福机器学习视频做了很好的解释:https://class.coursera....转载 2018-07-21 20:18:17 · 5550 阅读 · 0 评论 -
基于近邻的协同过滤
收集数据生成用户商品评分矩阵,构建用户或商品相似度矩阵,利用近邻用户或近邻商品的评分进行加权平均求和得到当前用户没有浏览过的产品评分,选择该用户对没有浏览过的评分TopN的产品列表推荐给当前用户 相似度计算 在UserCF中使用pearson相似度比较多在ItemCF中使用改进余弦相似度比较多 评分计算 加权平均求和、基于均值计算的加权平均求和、基于偏置项计算的加权平均求和...原创 2018-07-29 21:55:19 · 1171 阅读 · 0 评论 -
异常点/离群点检测算法
sklearn中关于异常检测的方法主要有两种: 1)、novelty detection:当训练数据中没有离群点,我们的目标是用训练好的模型去检测另外新发现的样本; 2)、outlier detection:当训练数据中包含离群点,模型训练时要匹配训练数据的中心样本,忽视训练样本中的其它异常点; sklearn提供了一些机器学习方法,可用...原创 2018-07-24 14:45:39 · 13877 阅读 · 0 评论 -
数据不平衡之SMOTE算法(人工合成数据)
怎么让不平衡的数据变平衡呢?主要有两个方法,一是欠抽样,顾名思义就是删除正样本(以正样本占绝大多数为例)中的样本,删除的数量根据负样本的数量而定,这种方法的缺点也很明显,会删除正样本所带的信息,当正负样本的比例悬殊时,需要删除较多的正样本数量,这会减少很多正样本携带的信息。 因此,最常用的方法是第二种——过抽样。 一种过抽样的方法是随机采样,采用简单...原创 2018-11-08 15:06:16 · 4654 阅读 · 0 评论 -
imbalanced-learn 不平衡数据处理之过采样、下采样、综合采样
官方文档:https://imbalanced-learn.org/en/stable/index.html参考博客:https://blog.youkuaiyun.com/kizgel/article/details/78553009https://www.jianshu.com/p/be343414dd24Imblearn package study1. 准备知识1.1 Compr...原创 2018-11-23 18:46:13 · 5673 阅读 · 0 评论 -
台湾-李宏毅教授的深度学习视频教程
李宏毅老师简介:主要研究领域为机器学习(特别是深度学习)、口语语义理解和语音识别。2012年从台北 National Taiwan University (NTU) 博士毕业。2012年9月—2013年8月,在 Sinica Academia 的 Research Center for Information Technology Innovation 做博士后。2013年9月—2014年7月...原创 2019-07-14 22:14:50 · 2288 阅读 · 0 评论 -
PCA异常检测
Principle Component Analysis是主成分分析,简称PCA。它的应用场景是对数据集进行降维。降维后的数据能够最大程度地保留原始数据的特征(以数据协方差为衡量标准)。PCA的原理是通过构造一个新的特征空间,把原数据映射到这个新的低维空间里。PCA可以提高数据的计算性能,并且缓解"高维灾难"。高维灾难详见https://www.leiphone.com/news/201706/...转载 2019-06-29 18:20:47 · 8228 阅读 · 0 评论 -
sklearn的自定义转换器transformer以及使用pipeline对数据进行处理
摘要在很多机器学习场景中,需要我们对数据进行预处理,sklean提供的pipeline接口方便我们将数据预处理与模型训练等工作进行整合,方便对训练集、验证集、测试集做相同的转换操作,极大的提高了工作效率。但是在不同场景下往往预处理的方法会出现多样性,然而sklearn所提供的预处理接口(Transformers)数量有限,有的时候往往需要我们自己编写函数对数据进行预处理。为了让我们自定义的数据...转载 2019-07-14 12:25:19 · 4728 阅读 · 0 评论 -
Scikit-learn——LogisticRegression与SGDClassifier
1.sklearn.linear_model.logistic regression一般来说,逻辑回归用梯度下降算法来求解参数比较常见;所以这也导致一开始误以为LogisticRegression模型就是用梯度下降算法来实现的,当遇到SGDClassifier(Stochastic Gradient Descent)随机梯度下降分类器的时候,就有点蒙了。梯度下降明明是一个求解算法,怎么就和分...转载 2019-06-04 20:57:24 · 1248 阅读 · 0 评论 -
XGBoost:参数解释
XGBoost参数在运行XGboost之前,必须设置三种类型成熟:general parameters,booster parameters和task parameters:General parameters:参数控制在提升(boosting)过程中使用哪种booster,常用的booster有树模型(tree)和线性模型(linear model)。 Booster paramete...转载 2019-05-30 23:13:31 · 359 阅读 · 0 评论 -
Feature Tools:自动特征构造
特征工程基本概念特征工程意味着从现有的数据中构造额外特征,这些特征通常分布在多张相关的表中。特征工程需要从数据中提取相关信息并将其存入单张表格中,然后被用来训练机器学习模型。构造特征是一个非常耗时的过程,因为每个新的特征通常需要几步才能构造,特别是当使用多张表的信息时。我们可以将特征构造的操作分为两类:「转换」和「聚合」。以下通过几个例子来看看这些概念的实际应用。通过从一或多列中构造新...转载 2019-04-26 15:44:10 · 1834 阅读 · 1 评论 -
机器学习中分类模型的评估方法之--Kappa系数
Kappa系数首先,我们介绍一下kappa系数:kappa系数是用在统计学中评估一致性的一种方法,我们可以用他来进行多分类模型准确度的评估,这个系数的取值范围是[-1,1],实际应用中,一般是[0,1],与ROC曲线中一般不会出现下凸形曲线的原理类似。这个系数的值越高,则代表模型实现的分类准确度越高。kappa系数的计算方法可以这样来表示:k=(po−pe)/(1−pe)...转载 2019-04-08 15:04:42 · 6280 阅读 · 0 评论 -
如何理解K-L散度(相对熵)
Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵。在概率学和统计学上,我们经常会使用一种更简单的、近似的分布来替代观察数据或太复杂的分布。K-L散度能帮助我们度量使用一个分布来近似另一个分布时所损失的信息。我们从下面这个问题出发思考K-L散度。假设我们是一群太空科学家,经过遥远的旅行,来到了一颗新发现的星球。在这...转载 2019-03-04 17:18:19 · 2883 阅读 · 0 评论 -
missingno绘制缺失数据分布图
pip install missingno import missingno as msno无效矩阵的数据密集显示msno.matrix(data, labels=True)条形图,msno.bar 是列的无效的简单可视化:msno.bar(data)缺失性相关性热图 missingno相关性热图措施无效的相关性:一个变量的存在或不存在如何强烈影响的另一个的存在:m...原创 2019-01-24 11:45:47 · 2056 阅读 · 0 评论 -
用PMML实现机器学习模型的跨平台上线
在机器学习用于产品的时候,我们经常会遇到跨平台的问题。比如我们用Python基于一系列的机器学习库训练了一个模型,但是有时候其他的产品和项目想把这个模型集成进去,但是这些产品很多只支持某些特定的生产环境比如Java,为了上一个机器学习模型去大动干戈修改环境配置很不划算,此时我们就可以考虑用预测模型标记语言(Predictive Model Markup Language,以下简称PMML)来实现跨...转载 2019-01-02 15:39:07 · 342 阅读 · 0 评论 -
XGBoost算法原理简介及调参
译文:Complete Guide to Parameter Tuning in XGBoost简介当模型没有达到预期效果的时候,XGBoost就是数据科学家的最终武器。XGboost是一个高度复杂的算法,有足够的能力去学习数据的各种各样的不规则特征。用XGBoost建模很简单,但是提升XGBoost的模型效果却需要很多的努力。因为这个算法使用了多维的参数。为了提升模型效果,调参就不可...翻译 2018-12-28 18:40:56 · 563 阅读 · 0 评论 -
主动学习(Active Learning)
1. 写在前面 在机器学习(Machine learning)领域,监督学习(Supervised learning)、非监督学习(Unsupervised learning)以及半监督学习(Semi-supervised learning)是三类研究比较多,应用比较广的学习技术,wiki上对这三种学习的简单描述如下:监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函...转载 2018-12-26 16:29:44 · 65961 阅读 · 4 评论 -
使用sklearn进行增量学习
问题实际处理和解决机器学习问题过程中,我们会遇到一些“大数据”问题,比如有上百万条数据,上千上万维特征,此时数据存储已经达到10G这种级别。这种情况下,如果还是直接使用传统的方式肯定行不通,比如当你想把数据load到内存中转成numpy数组,你会发现要么创建不了那么大的numpy矩阵,要么直接加载时报MemeryError。 在这种情况下我了解了几种选择办法,1. 对数据进行降维,2. 使用...转载 2018-12-26 15:04:23 · 1111 阅读 · 1 评论 -
TfidfVectorizer调参
TfidfVectorizer可以把原始文本转化为tf-idf的特征矩阵,从而为后续的文本相似度计算 token_pattern:这个参数使用正则表达式来分词,其默认参数为r"(?u)\b\w\w+\b",其中的两个\w决定了其匹配长度至少为2的单词,默认值只匹配长度≥2的单词,一般来说,长度为1的单词在英文中一般是无足轻重的,但在中文里,就可能有一些很重要的单字词,所以设置匹配规则为:t...原创 2018-12-14 11:19:18 · 4662 阅读 · 0 评论 -
jieba分词的原理
jieba介绍:一、支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。二、jieba自带了一个叫做dict.txt的词典, 里面有2万多条词, 包含了词条出现的次数(这个次数是于作者自己基于人民日报语...转载 2018-07-17 14:58:01 · 2121 阅读 · 0 评论 -
机器学习损失函数
一、分类算法中的损失函数在分类算法中,损失函数通常可以表示成损失项和正则项的和,即如下的形式: J(w)=∑iL(mi(w))+λR(w)其中,L(mi(w))L(mi(w))为损失项,R(w)R(w)为正则项。mimi的具体形式如下: mi=y(i)fw(x(i))y(i)∈{−1,1}fw(x(i))=wTx(i)对于损失项,主要形式如下:0-1损失Log损失Hingo损失指数损失感知损失1、...原创 2018-06-10 22:41:18 · 220 阅读 · 0 评论