自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Spark上基于Minhash计算jaccard相似度

问题引入在风控领域常会面临一种场景:随着安全策略的打击,部分已经显露的账号/用户会被稽核、处置,要么被动地被封停,要么被坏人干脆舍弃掉。坏人会重新注册新的账号进行活跃。而这些新老账号之间很可能没有直接的交易关系,甚至连登陆设备也不同,就较难发现其关联性。但有一点是较难隐藏的:上下游的关系链。因此,可以尝试通过关系网络结构上的相似性来量化两个账号之间的关联度,从而对于风险用户关联分析起到一个补充作用。可用下图来辅助说明,x的交易流入方集合为{a,b,c,d}, y的交易流入方集合为{b,c,d},一个

2020-07-28 19:36:39 1774

原创 专题练习-决策树

前言本篇结合周志华老师的《机器学习》一书第4章习题,用python实践其中几个题目,为大家提供学习及实践中的参考。题目我们尝试将上述4道题结合起来,从简单到复杂来进行实践。这里提到的数据集表4.3,已经整理好,放到了本人github项目空间 https://github.com/aaronlou/DataScienceProject/blob/master/Data/waterm...

2020-04-23 07:47:17 737

原创 图上的机器学习系列-聊聊SDNE

前言本篇继续我们的Graph Embedding之旅途。今天要聊的是SDNE(Structural Deep Network Embedding)。结合的论文为《Structural Deep Network Embedding》,这是2016年发表的一篇论文,与node2vec在同一年问世。总体上来,SDNE更像LINE,而不像Deepwalk。有了LINE的基础后,理解这篇文章会较快。...

2020-04-16 10:10:09 811

原创 图上的机器学习系列-聊聊struc2vec

前言本篇继续我们的Graph Embedding之旅。以往我们生成的节点向量保留的一个特征是节点之间的距离,基于随机游走的这一类方法生成的节点距离往往是图上空间位置上的相近。现实世界中,网络中的节点往往还有一个特征就是其在网络结构上的位置角色,类似于下图中u,v这两个节点,它们在结构上的作用很相似,但如果基于随机游走的方法来进行embedding表示,无法将其映射为相似的账号。对传统复杂网络...

2020-04-15 11:54:32 1653

原创 图上的机器学习系列- 聊聊MetaPath2vec

前言本篇继续Graph Embedding这个话题。我们以前已经聊过DeepWalk、Node2Vec、LINE、GraphSAGE(详见公众号历史文章),它们都是面对的同质图问题,而今天将讨论的MetaPath2Vec则是要回答**如何对于异质图也能进行低维的空间向量表示**。结合的论文为《metapath2vec: Scalable Representation Learning f...

2020-04-14 10:50:02 1863

原创 图上的机器学习系列-聊聊GraphSAGE

前言本篇结合《Inductive Representation Learning on Large Graphs》来聊聊GraphSAGE。这是一种已经在工业界得到广泛采纳的图神经网络方法,具有较好的分布式实施特性,推荐大家关注。方法定义GraphSAGE是Graph SAmple and aggreGatE的简称,可以猜想该方法在抽样与聚合上一定有其独到之处。其更正式的定义如下(...

2020-04-13 00:04:55 1006

原创 专题练习:K折交叉验证 VS 留一法

前言欢迎关注本人公众号本篇结合周志华老师《机器学习》第3章习题而讲。做为入门项目,我们推荐使用Python来进行编码实践,有需求了解更多其它机器学习生态的同学,可以在公众号后面留言,也可以加入数据科学实战QQ交流群:250695418。好了,来做习题吧西瓜书《机器学习》p69页第3.4题:选择两个UCI数据集,比较10折交叉验证和留一法所估计出的对率回归的错误率。...

2020-04-11 20:35:17 1254

原创 专题练习:对率回归(逻辑回归)的编程实践

前言欢迎关注本人公众号:本篇结合周志华老师《机器学习》第3章习题而讲。对率回归,其实就是logistic regression,也即业界常说的逻辑回归,但后者这个译法并不好,周老师将之译为了对率回归,没有屈服于现有的“劣币”译法,体现了教育者的独立精神,点赞!关于logistic回归的知识,还可以参考本公众号历史文章《上手机器学习系列-第3篇-聊聊逻辑回归》,共分上、中、下三...

2020-04-11 20:28:52 491

原创 图上的机器学习系列-聊聊LINE

前言本篇继续GraphEmbedding旅途,来聊聊LINE这个方法,对应的paper为《LINE: Large-scale Information Network Embedding》。---广告时间,欢迎关注本人公众号:LINE的核心方法首先,还是先来脑补一下LINE方法的思考过程:相似度&距离在上一篇中,我们已经知道DeepWalk是采用类似于Word2Vec的...

2020-04-07 21:05:02 733

原创 图上的机器学习系列-聊聊Node2vec

前言继DeepWalk后,我们再来看一种基于随机游走策略的图嵌入方法——Node2Vec,有点像前者的升级版本,有了前者的基础,理解起来会快很多。--广告时间,欢迎关注本人公众号:核心方法Node2Vec与DeepWalk最大的不同(甚至是唯一的不同)就是在于节点序列的生成机制。DeepWalk在每一步探索下一个节点时,是在其邻居节点中进行随机选择,然后基于深度优先策略生成一个固定...

2020-04-07 20:40:04 768

原创 图上的机器学习系列-聊聊DeepWalk

前言本篇着重结合论文《DeepWalk: Online Learning of Social Representations》来聊,过程中尽量把一些概念和方法展开多讨论一下。DeepWalk是干啥的我们来想这样一件事:机器学习是咋工作的?需要输入一堆特征变量对吧?无论是离散型还是连续型,但都是欧式空间中的数学表达,总归是可以用很多数学工具来分析的。但一个社交网络的图结构呢?每一个点该...

2020-04-05 00:30:03 629 1

原创 图上的机器学习-第0篇-问题描述与学习建议

从本篇开始,我们将一起开启图上的机器学习篇章。我们这里所说的“图”,是指图论这个领域的概念,而非图像。为什么要开启本系列随着当前GNN(图神经网络)在学术圈、工业界的同时爆发,未来3年左右,图上(或称复杂网络、关系数据)的机器学习、深度学习一定会呈现高度繁荣的局面,笔者建议对图论、图计算、机器学习这些领域感兴趣的朋友一定要密切关注该交叉领域的技术创新及应用发展。现实中越来越多的数据...

2020-03-30 16:53:27 298

原创 聊聊数据从业者的职业规划

前言一连多日都在聊机器学习算法相关的内容,今天让我们聊个轻松的话题:大数据行业的从业者究竟该如何规划自己的职业道路。笔者自己虽然经验也有限,但究竟是在行业里摸爬滚打了8年有余,在业务前台的商业分析、后台的风控分析都有几年的摸索,可以聊下自己的一些感想,以期给到年轻的读者一些有益的参考信息(或者说避坑指南)。选择什么样的岗位大数据领域可以选择的岗位空间还是比较多样的,例如数据开发工程师、商业分...

2020-03-26 22:35:12 900

原创 上手机器学习系列-第7篇(下)-CatBoost论文阅读笔记

前言在第7篇(上),我们介绍了CatBoost的代码实践,本篇来一起读一下算法原创论文《CatBoost: unbiased boosting with categorical features》,以期加深对于CatBoost的理解。论文中心思想笔者提炼了一下论文的核心逻辑如下图所示:所以最核心的是要理解论文提出的排序原则到底是咋回事。内容导读CatBo...

2020-03-24 18:14:01 715

原创 上手机器学习系列-第6篇(下)-LightGBM原理篇

前言前面的文章分享过了LightGBM的实践编码,本篇让我们一起来读一下算法论文《LightGBM: A Highly Efficient Gradient Boosting Decision Tree》,从原理层面上去深入一层。推荐大家在读论文的同时,参考LightGBM官网材料([https://lightgbm.readthedocs.io/en/latest/Features.html...

2020-03-20 15:08:59 362 1

原创 上手机器学习系列-第5篇(下)-XGBoost原理

本篇中我们结合XGBoost的论文《XGBoost: A Scalable Tree Boosting System》来理解一下该算法的原理。这是一篇写自2016年的论文,当时已经有大量的竞赛、工作实践开始采用XGBoost。作者在论文中将XGBoost称为Scalable,正是基于它的高性能特点,据论文讲,根据当时的评估,在单机上的运行速度对比中,XGBoost较业内其它算法快了至少10倍以上...

2020-03-19 10:17:57 246

原创 上手机器学习系列-第7篇(上)-CatBoost编码

前言本篇继续我们的集成算法学习之旅。这次带来的是一家俄罗斯搜索引擎公司推出的集成学习算法:Catboost(官网[https://catboost.ai/])。名字中的cat代表着categorical,就是说它可以直接处理类别型的特征变量,而无须进行one-hot-encoding处理,这还真是相比于其它算法包的一个优点。此外,官方宣传的卖点还包括:简化的调参(默认的参数即可实现高质量的预测)...

2020-03-15 20:03:27 1701

原创 上手机器学习系列-第6篇(上)-LightGBM编码

LightGBM相比于XGBoost,LightGBM官网的文档、Github写得都不敢让人恭维(缺少细节、案例语焉不详)。因此本篇从实际使用角度来介绍用法,就显得更有意义了。安装LightGBM号称的速度快不是没有成本的,它底层依赖了一些并行处理的库文件,因此在安装的时候会遇到各种问题。笔者已经单独写了一篇短文分享,详见本人CSDN博客《Mac环境下安装LightGBM的苦难记》。假设你...

2020-03-14 20:57:29 806

原创 Mac环境下安装LightGBM的苦难记

正常情况下,我们安装一个python的package,只要执行pip install <package_name>即可,但在安装该软件的过程中,即使成功执行了上面的pip命令,在import 的时候,很可能会遇到这样的报错(在MAC的环境下,windows下不知道是否会出现同样问题):Library not loaded: /usr/local/opt/libomp/lib/...

2020-03-14 08:20:07 949 1

原创 上手机器学习系列-第5篇(中)-XGBoost+Scala/Spark

书接上回在上篇中,我们介绍了XGBoost的原生接口使用方法,以及sklearn版本的接口。本篇我们再结合Scala/Spark来聊聊,以体现XGBoost在工程上的易用性。Spark是基于Scala原生语言开发的一个分布式迭代计算平台,其中MLLib模块包括了很多机器学习算法包(但比起Sklearn来肯定还是少的)。Scala 是一门面向对象+函数式JVM语言,需要编译后才能执行,但...

2020-03-13 09:54:08 1755 2

原创 上手机器学习系列-第5篇(上)-XGBoost

引言在第4篇中我们简要介绍了GBDT的使用方法,本篇来聊一种进阶的GBDT-XGBoost,这是一款极其优秀的算法解决方案,项目官方网站:https://xgboost.readthedocs.io/en/latest/。XGBoost本身最大的优势就在于它在工程上做了大量的工作,使得该算法可以广泛应用到不同的生态中(python、spark、C++等)。Python + XGBoost对...

2020-03-12 21:39:07 494

原创 上手机器学习系列-第4篇-聊聊GBDT

前言本期我们来聊GBDT,这是一种被广泛使用的集成学习方法。当今在kaggle竞赛中被广泛使用的XGBoost、LightGBM正是以它为基础。因此掌握好该基础算法的原理与编码技巧还是有必要的。我们知道,集成学习大致可分为Bagging、Boosting两种方法,其对于集成中每个单独学习器的训练过程如下简图所示:GBDT顾名思义,也是一种Boosting方法。我们不妨再把它的名字拆开说一下...

2020-03-11 17:27:09 214

原创 上手机器学习系列-第3篇(下)-聊聊logistic回归

书接上回在之前的上、中篇,我们分别聊了logistic回归的基本思想、sklearn中的实验方法,本篇中我们一起读一下sklearn中logistic的源代码,一窥其究竟,进一步加深我们对该方法的理解。代码地址Github中sklearn的地址为:https://github.com/scikit-learn/scikit-learn,在下属子录中,依次去找sklearn -> lin...

2020-03-09 20:46:59 275

原创 上手机器学习系列-第3篇(中)-聊聊logistic回归

书接上回在第3篇(上)中,笔者介绍了自己对于logistic回归是咋来的这一问题的思考。本文中篇让我们一起实战一下。用Python中的机器学习大杀器Scikit-learn来跑一个小任务。未来在下篇中,我们还会继续带领大家通读一遍sklearn的logistic回归源代码。数据来源本小节我们直接使用scikit-learn中自带的二分类数据集,通过以下方式可以导入:from sklearn...

2020-03-09 00:05:10 252

原创 上手机器学习系列-第3篇(上)-聊聊logistic回归

前言本系列关注于动手学习实践机器学习知识,往期文章可到公众号首页点击查看历史文章。本期我们来聊聊logistic回归,该方法简单优雅且兼具实用性,当前在企业界实际工作中仍有大量使用,因此对于初学者是一个比较好的上手练习。logistic回归是咋来的首先要说明一点,“逻辑回归” 这个翻译是非常差劲的一个翻译词汇(没办法,历史上有太多这种先入为主、劣币驱逐良币的案例了),从后面的讨论我们就会...

2020-03-07 17:41:49 273

原创 上手机器学习系列-第2篇-工具&学习资料准备篇

上手机器学习系列-第2篇-工具&学习资料准备篇工欲善其事,必先利其器。既然机器学习是一门实践性科学,那么过程中就非常重视动手能力了。本期为大家推荐一些相关的软件工具、学习资源,以期在正式开始编码之前让大家做好相应的准备工作。因为可以选择的平台与工具太多,反而是一种信息干扰,这里笔者结合多年行业工作经验为大家遴选出一些比较好的资料,以节约朋友们的自我探索时间。1. 编程环境现如今支持机...

2020-03-05 07:53:26 229

原创 上手机器学习系列-第1篇-聊聊机器学习的正确打开姿势

前言机器学习是一个充满乐趣的领域,也是一门动手性比较强的学科。就像掌握一类乐器一样,懂得乐理肯定是必要的,但反复练习,多动手实践,才能学好这门手艺。现在讲机器学习算法理论的材料已经很多了,而本系列突出以下特点:注重代码实践,把机器学习的概念动手实现出来;注重介绍大数据生态内与机器学习相关的技术,使得入门者可以了解在企业实际工作中相关岗位上都有哪些工作需要去做;注重资源推荐,很多知识点是需...

2020-03-05 07:43:30 167

原创 点破互联网职场新人的几个思想误区

掐指算来,从研究生毕业后进入互联网企业已经8年了,已算是步入”互联网中年人”这一尴尬群体,如果有什么能给刚毕业或即将面临择业的同学一点有益的分享,那么本期想聊聊职场新人容易持有的几点“幻想”,以及这些想法在实际工作中如何又是不切实际的,早日看破一些现象,调整好自己的心态,找到最适合自己的发展路径,这无疑是重要的。误区1: “互联网企业是很公平的”相对来说,是的,互联网职级设置更为扁平化,企业...

2020-02-23 22:39:38 249

原创 20 Newsgroup文本分类-基于sklearn

本项目聚焦于通过机器学习的方法来进行文本自动分类,采用的是有监督的学习,根据已经标注好类别的文本语料进行特征提取、建模、训练,进而对未知样本进行预测。可用于此场景的分类模型有很多,例如贝叶斯、决策树、SVM、深度学习等。本项目中将会重点尝试几个有代表性的模型,并对其应用效果进行对比分析。使用的数据集来自于业内著名的20 Newsgroups 数据集,包含20类标注好的样本,数据量共计约2万条记...

2018-07-28 12:03:07 5859

原创 数据分析案例之电影推荐

前言通过案例来学习数据分析的思路和练习相应分析工具,往往最有效的。本文用julia来进行全流程的探索和分析,以期达到既掌握分析思路,又练习了这一新兴的数据科学利器。同时,个性化推荐是个太大的topic,涉及的理论方法和实践非常多,本文有些地方会详细展开,有些则一笔带过。如无特殊说明,本文中所使用的code均为julia代码,IDE环境为JuliaPro.问题阐述个性化推荐是当今网络世界上普遍存在的...

2018-04-10 07:33:00 10770 1

原创 数据科学案例化学习(julia版本)

前言参考《数据科学实战手册》第2章中汽车燃油效率数据分析的过程,不过原书是用R来进行分析,这里我们通过julia来完成整个分析过程),同时我们也将会进行比原文进行更多的内容拓展, 并在文章中尽可能多地介绍julia进行数据操作的方法,以期达到既走完整个分析流程,又加深了大家对julia的深入了解。文章中所显示的代码如无特殊说明,均指 julia 代码,且工作环境为JuliaPro编辑器。数据科学工...

2018-04-10 07:31:12 2507 1

原创 数据科学工具箱之julia篇

julia是啥julia 于2012年的情人节当天由几位MIT研究人员对外正式发布,所以这是一门非常年轻的语言,截至2018年1月份已经有超过180万的下载安装量[wikipedia]。它的定位是高效率地进行科学计算,其执行性能据说达到了C语言的级别,业界有句评价是:Walks like python. Runs like C.十分钟入门速查表最最基本的

2018-03-23 00:56:03 3047

原创 从爬取到展示,数据科学工具串联练手 第2篇

书接上回(文章 http://blog.csdn.net/a_step_further/article/details/79360613  使用了python去爬取微博评论消息,再使用spark做预处理,用R做可视化),这次再换个姿势练习一下,思路是相近的,换换工具练手的目标仍然是活跃下思维。任务说明爬取新浪微博消息;这一次使用java处理中文文本预处理,这次的聚焦点在于文本中姓名的提取;这一次使...

2018-02-27 08:32:38 336

原创 从爬取到展示,数据科学工具串联练手

日常情况下,我们常常是从整洁的数据仓库表中读取数据,进行数据分析,但事实上,数据科学工作往往需要进行数据获取,预处理,分析,展示这样整个的流程。本文从一个实际的案例出来,将不同的分析工具串联起来(虽然仅用一种工具也能实现全流程工作,但不是本文的侧重点),目的是为了体现不同工具的特点和实际使用方法,有利于开拓思路。任务说明从新浪微博上爬取天猫超市微博消息的评论,进行分词,使用文字云的形式进行可视化。...

2018-02-24 12:42:40 361

原创 编程题目练习-翻牌

题目:有100张牌,依次写上1-100,按从小到大的顺序排列,初始时所有牌面向上。依次从第N张牌开始(N从2开始),每隔N-1张翻转牌面,直到无牌可翻。求最后所有背面朝上的数字。思路:如果一张牌被翻了奇数次,则是正面朝上;如果翻了偶数次,则是背面朝上。每张牌被翻转的次数,也就是该牌上数字在顺序操作中出现的次数。C++版本源代码:#include #includ

2017-08-14 07:07:21 1158

原创 回文寻找

题目:寻找一个大于10的最小正整数,使其本身、二进制转化值、八进制转化值,都是回文暴力解法:#include #include #include using namespace std;string conv(int N, int jinzhi);template string to_string(const T& t);int judgeHW(string in

2017-08-10 22:31:11 267

原创 hadoop UDF-获取前N周的日期时间点

应用场景:获取前N周的日期,且需要指定星期值(如周一、周二)。例如,获取前面第N个星期三当天的日期输入:1. 初始化日期,即从哪个日期值开始往前查询(支持 yyyyMMdd, yyyy-MM-dd, yyyy-MM-dd hh:mi:ss);2. 周区间的个数;3. 指定星期值(仅限于缩写 "SUN","MON","TUE","WED","THU","FRI","SAT")输出:日期值,格

2017-07-10 16:56:19 814

原创 排序算法练习-二分法

使用插入法来对一个数组进行排序,在寻找要插入的位置时,使用二分法。代码如下:#include #include using namespace std;int randN(int lower, int upper);void printVector(vector a);int getInsertPlace(vector a /*an already sorted vector*/,

2017-02-26 13:57:46 460

原创 使用tensorflow对Mnist数据集进行字体识别

上代码:#!/usr/bin/env python#coding:utf-8import tensorflowimport pandas as pdimport skflowtrain = pd.read_csv('~/Mnist/train.csv')X_train = train.drop('label',1)y_train = train['label']class

2017-02-07 22:59:17 843

原创 算法学习笔记之插入排序

用插入法进行排序练习步骤:1. 先生成一个随机的数组2. 用插入法进行排序#include #include #include using namespace std;int findInsertPlace(vector v, int value);int main(){ //先生成一个随机数组, 数组长度为N, 元素为100以内的随机整数

2017-02-01 19:50:15 357

空空如也

空空如也

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

TA关注的人

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