自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

个人记录使用

修身养性,终生学习!

  • 博客(233)
  • 收藏
  • 关注

原创 【Spark-ML源码解析】Word2Vec

在阅读源码之前,需要了解Spark机器学习Pipline的概念。。包括特征转换和学习后的模型两种情况,用来将一个DataFrame转换成另一个DataFrame;接收一个DataFrame并输出一个模型(Transformer)。Word2Vec类是一个Estimator,实现了fit方法,返回模型Word2VecModel,即一个Transformer,该类实现了transform方法。阅读中有任何疑问,请参考PDF。

2023-12-19 22:45:00 905

原创 LabelRank算法(Python实现)

算法的定义和介绍就不收了,论文中都有,下面直接上代码实现。def label_rank(A, in_, q, r): def ismember(a,b): for i in a: res = 1 for j in b: if i not in j: res = 0 break if res == 1:

2021-03-22 09:56:22 606

原创 NetworkX中的社区发现算法实现

该模块实现了一些经典的社区发现的算法,使用该模块的方法需要导入networkx.algorithms.community模块。from networkx.algorithms import communityBipartitionsKernighan-Lin算法的实现kernighan_lin_bisection(G[, partition, …])K-Clique计算k-clique社区k_clique_communities(G, k[, cliques])Modularity-b

2020-12-27 20:22:17 5010

原创 手写算法系列(Python实现)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、K-Means二、pass总结前言锻炼自己实现算法的能力,提示:以下是本篇文章正文内容,下面案例可供参考一、K-MeansK-Means算法'''K-means算法是一种常用的无监督聚类算法,可以视作同时优化质心和每个样本的标签,使得损失函数最小,算法执行过程提现了EM的思想'''import numpy as npimport randomclass KMeans(): def __ini

2020-09-03 15:53:08 435

原创 秒杀面试Boosting家族~

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、常见问题二、解惑Boosting和BaggingGBDT与它的两个孩子总结前言面试中几乎是必问的内容,不知道你掌握的怎么样了呢,不管怎么样,看完这篇就没问题!提示:以下是本篇文章正文内容,下面案例可供参考一、常见问题GBDT和XGBoost的区别?XGBoost和LightGBM的区别?XGBoost和RF(随机森林)的区别?XGBoost损失函数有什么要求?LightGBM的目标函数是什么?二

2020-08-24 09:21:56 212

原创 Python面试一网打尽

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、Python装饰器、迭代器、生成器二、Python中的深拷贝和浅拷贝二、Python的可变和不可变类型总结前言本文对Python相关面试问题做一个总结,并将答案贴出,持续更新。提示:以下是本篇文章正文内容,下面案例可供参考一、Python装饰器、迭代器、生成器

2020-08-23 21:38:32 248

原创 Leetcode计算器问题(Python)

from collections import dequeclass Solution: def calculate(self, s: str) -> int: def helper(s): stack = [] sign = '+' num = 0 while len(s)>0: c = s.popleft()

2020-08-18 08:42:55 150

原创 Leetcode丢鸡蛋问题(Python)

887.鸡蛋掉落点评:这个题是一个经典的动态规划题,符合原问题的最优解可以从子问题的最优解中得出的特点。#超时class Solution: def superEggDrop(self, K: int, N: int) -> int: #状态表示 当前为K个鸡蛋,N层楼时的最小移动次数 #状态选择 如果鸡蛋碎了,K-1,1~ i-1;如果鸡蛋没碎,K不变,i+1~N #basecase 0个鸡蛋,需要一层层的测试;0个楼层,直接返回0

2020-08-17 20:41:48 521

原创 Python排列组合模板

笔试题第一个往往涉及到排列组合的问题,本文将给出一个Python语言的排列和组合的代码模板,像记住快排一样能够在各种笔试面试算法题中熟练默写。

2020-08-16 10:38:33 341

原创 LeetcodeNSum之和小结(Python)

前言:这个系列分为1、15、18三个题,分别是两数之和、三数之和和四数之和。其中两数之和要返回两数的下标,其余是返回组成的数字。1.两数之和点评:用了个hash表来保存每个数的下标。class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: a = {nums[i]:i for i in range(len(nums))} for i in range(len(n

2020-08-15 14:22:53 251

原创 Leetcode买卖股票系列题小结(Python)

121.买卖股票的最佳时机点评:整个思考化简过程还是没有跳出整个框架。k=1的时候通过写上发现k这个状态可以去掉,初始化正好也有机的结合到了转移方程中,最后例行优化空间。class Solution: def maxProfit(self, prices: List[int]) -> int: #状态,选择。有三种状态,第几天,第几次交易。三种状态转换,buy、sell、rest,使得在0-1间转换。 #dp[i][k][0]和dp[i][k][1]分别代表

2020-08-14 22:41:21 236

原创 Leetcode打家劫舍小结(Python)

class Solution: #备忘录写法 def rob(self, nums: List[int]) -> int: a = {} def dp(i): if i >= len(nums):return 0 if i in a:return a[i] res = max(dp(i+2)+nums[i], dp(i+1)) if i not in a

2020-08-14 18:47:21 374

原创 Leetcode完全/无限背包小结(Python)

原始完全背包问题说明:输入输出样例#二维DPN, V = map(int, input().split())dp = [[0 for i in range(V+1)] for j in range(N+1)]for i in range(1, N+1): vi, wi = map(int, input().split()) for j in range(1, V+1): dp[i][j] = dp[i-1][j] if j >= vi:

2020-08-13 21:30:54 532

原创 Leetcode0-1背包小结(Python)

0-1背包类的题目很简单,只要想清楚如何将问题转换为0-1背包(如分堆),套用一维模板直接秒杀。原始0-1背包问题说明:输入输出样例#二维写法N, V = map(int, input().split())dp = [[0 for i in range(V+1)] for j in range(N+1)]for i in range(1, N+1): vi, wi = map(int, input().split()) for j in range(1, V+1):

2020-08-13 21:28:36 270

原创 Leetcode滑动窗口四题小结(Python)

这种类型的题就是模板题,以后套模板就行了。需要注意的几个地方在注释中给出。3. 无重复字符的最长子串中等题点评:这个题过于简单,以至于模板整体结构都被改掉了,想看模板的建议从下面开始看。class Solution: def lengthOfLongestSubstring(self, s: str) -> int: window = {} l, r = 0, 0 res = 0 while r < len(s):

2020-08-13 21:24:59 210

原创 Linux文本分析处理命令大全

一文带你从零掌握Linux文本分析处理命令,包括cat、sort、uniq、cut、paste、join、comm、diff、patch、tr、sed、aspell。

2020-08-11 20:57:58 245

原创 看完这篇精选面试算法题集合,你也能进大厂!(Python版)

根据数据结构,可以将算法题分成数组、字符串、链表、栈、队列、树等几大类。根据算法,可以将题分为递归和循环、查找和排序、回溯法、动态规划和贪婪算法、位运算、DFS&BFS、随机、数学等几大类。而算法和数据结构又是一个排列组合的过程。上面介绍的算法和数据结构都是要十分熟练的掌握的,就不再总结,下面我们总结的是一些常见的技巧,有了这些技巧伴身,相信秋招算法题不在话下。文章目录一、经典类型1.滑动窗口2.双指针3.快慢指针“龟兔赛跑”4.区间合并5.循环排序6.链表翻转7.树BFS8.树DFS9.双堆1

2020-08-06 16:24:33 337

原创 朴素贝叶斯的面试看这一篇就够了

文章目录1.学习与分类2.参数估计1.学习与分类2.参数估计

2020-08-04 16:38:48 410

原创 XGBoost核心技术与实现

在学习本文之前,需要掌握CART树、Boosting算法。XGBoost中的Tree Boosting目标函数近似最优目标函数叶子权重切分点查找算法精确贪心算法基于直方图的近似算法快速直方图算法加权分位数概要算法稀疏感知切分点查找算法XGBoost中的排序学习DART树模型的可解释性XGBoost中的线性模型系统优化基于列存储数据块的并行学习缓存感知访问外存块计算分布式XGBoost...

2020-08-04 16:35:57 257

原创 机器学习算法实现(4):GBDT的两种实现——XGBoost、LightGBM

【系列开头】开这个系列是因为最近学习某些算法纸上谈兵太久,算法流程背的再熟,没有实现过就没法真正的理解算法的细节。这个系列要实现算法的顺序为逻辑回归、决策树(CART)、AdaBoost、GBDT。其他算法根据后续学习情况进行添加。能力有限,对于实现XGBoost和LightGBM比较吃力。因此使用几个例子,来学习两者如何使用,以及对比情况。...

2020-08-04 16:35:31 465

原创 决策树的面试看这一篇就够了

文章目录pass

2020-08-04 16:20:42 721

原创 机器学习面试知识点整理

各模型的优缺点及适用场景?一、传统机器学习算法感知机、SVM、LR、Kmeans、DBSCAN、决策树(CART、ID3、C4.5)、GBDT、RF、AdaBoost、XGBoost、LightGBM、EM、BP神经网络、朴素贝叶斯、LDA、PCA、核函数、最大熵二、深度学习CNN、RNN、LSTM、常用激活函数、Adam等优化算法、梯度消失(爆炸)三、推荐系统ItemBasedCF、userBasedCF、冷启动、SVD(各种变形)、FM、LFM四、NLPTF-IDF、TextRank、W

2020-08-03 11:26:28 1343

转载 2020年最值得加入的互联网公司有哪些?

北京:百度、阿里(阿里文娱,阿里影业,阿里健康)、腾讯(OMG,MIG)、京东、小米、字节跳动、美团、滴滴、爱奇艺、网易有道、搜狐、新浪、高德、搜狗、58同城、360、知乎、新浪微博、猎豹移动、微软中国、金山、猿辅导、陌陌科技、去哪儿网、盛大文学、自如网、凤凰网、穷游、36氪、虎嗅、豆瓣、拉勾、宜信、人人车、马蜂窝、用友软件、美菜网、学而思、智联招聘、完美世界、搜狐畅游、甲骨文、新浪乐居、猎聘网、金山软件、汽车之家、粉笔网、艺龙旅行网、赶集网、中华英才网、印象笔记、轻课、兰亭集势、易车网、折800、蓝港.

2020-05-16 18:01:15 4836

转载 职场新人,掌握深度工作方法也能5点就下班

01你在深度工作吗?不管是在工作还是学习,经常听到有人抱怨,“刚进入状态就被打断,想专心做完一件事都不行!”其实,我们每个人都会遇到这样的状况,想专心的时候一直被各种琐事打断,人浮于事。如果你在职场,办公室最常见的恐怕就是电脑屏幕上的无数窗口,刚打开文档准备写活动方案,却被工作群消息打断;想要静心完成一项重要工作,却不得不参加于你而言不重要的会议。导致的结果就是,白天的工作做不完,晚上不得不加班。为了让自己在短时间内完成更多工作,只能开启多任务工作模式,在电脑窗口间来回切换,不断转换工作思路,最.

2020-05-08 21:52:35 381

原创 机器学习算法实现(5):手写随机森林代码

【系列开头】开这个系列是因为最近学习某些算法纸上谈兵太久,算法流程背的再熟,没有实现过就没法真正的理解算法的细节。这个系列要实现算法的顺序为逻辑回归、决策树(CART)、AdaBoost、GBDT。其他算法根据后续学习情况进行添加。这是添加的第一个算法,与之前的Boosting同属于提升算法的一种,Bagging算法中的随机森林。随机森林,顾名思义,就是随机特征+森林般多的树。实现代码也是...

2020-04-26 01:01:01 1838 1

原创 机器学习算法实现(3):手写AdaBoost与GBDT

【系列开头】开这个系列是因为最近学习某些算法纸上谈兵太久,算法流程背的再熟,没有实现过就没法真正的理解算法的细节。这个系列要实现算法的顺序为逻辑回归、决策树(CART)、AdaBoost、GBDT。其他算法根据后续学习情况进行添加。...

2020-04-23 23:40:17 542

原创 机器学习算法实现(2):ID3、C4.5和CART实现分类与回归的对比

【系列开头】开这个系列是因为最近学习某些算法纸上谈兵太久,算法流程背的再熟,没有实现过就没法真正的理解算法的细节。这个系列要实现算法的顺序为逻辑回归、决策树(CART)、AdaBoost、GBDT。其他算法根据后续学习情况进行添加。本文介绍ID3和C4.5两种算法的决策树实现,并分别用来解决分类和回归问题。...

2020-04-23 11:18:49 1083

原创 机器学习算法实现(1):逻辑回归实现二分类

开这个系列是因为最近学习某些算法纸上谈兵太久,算法流程背的滚瓜烂熟,仅靠记忆对理解算法已经没有太大帮助,希望能通过自己手写实现+多种应用场景的使用更加深入的了解算法,做到手到擒来。这个系列要实现算法的顺序为逻辑回归、决策树(CART)、AdaBoost、GBDT。对于算法掌握贵在精,其次在追求全,其他算法如SVM根据情况后续添加。关于逻辑回归的原理就不多讲,书上都有,不熟多看两遍就能明白其大概...

2020-04-20 17:54:41 706

原创 【Spark编程基础(3)】Spark的设计与运行原理

文章目录1.Spark概述2.Spark生态系统3. Spark运行架构3.1基本概念3.2 架构设计3.3 Spark运行基本流程3.4 RDD的设计与运行原理4.Spark的部署和应用方式1.Spark概述对Hadoop MapReduce的优点继承、缺点改进;基于内存的计算框架,大型,低延迟。三大分布式计算系统开源项目:hadoop、spark、storm。运行速度快:内存计算、循环...

2020-03-18 23:18:14 288

原创 网络表示学习的核心启示

本文旨在探讨网络表示学习相关的一些具有启发性的问题。网络表示学习或者说网络嵌入能够干什么?节点重要性、社区发现、网络距离、节点分类、链接预测、网络演化等等第一个目标是重构原始网络;第二个目标是网络推断。Graph Embedding和Network Embedding的异同点?Graph是数学上的定义,是一种数据结构,用来建模pairwise关系的物体;Network是真实世界存在的...

2020-03-08 21:03:06 296

转载 复杂网络常用数据集网站

复杂网络的研究很多都离不开数据集,下面这些是个人在做科研的过程中在互联网上搜集到的一些数据集网站,列举出来也方便同行们去使用。(2018年12月14日更)1、http://vladowiki.fmf.uni-lj.si/doku.php?id=pajek:data:urls:index数据集网站集合。这个网站中列出来很多数据集网站,非常全,其中的很多网站数据描述详细,而且数据可以直接下载,大家...

2020-03-07 18:48:36 952

原创 【经典论文阅读】PageRank原理与实践

文章目录TitleSummaryResearch ObjectiveProblem StatementMethod(s)EvaluationConclusionNotes(optional)Reference(optional)TitleThe PageRank Citation Ranking:Bringing Order to the WebSummaryResearch Object...

2020-03-04 16:10:41 1613 1

原创 NetworkX中文使用手册

API实例基础画图网络图Football数据集

2020-03-02 21:27:46 5160

转载 如何找到科研金点子?

好的科研想法是开始科学研究的第一步,也是取得研究成果的关键一步。对于小白而言,往往很难在入门之初就顺利找到好的切入点,总觉得自己发现的、感兴趣的、能想到的都已经被各路前辈挖掘一番,无从下手。今天,小编带来了一篇专题分享:如何找到科研金点子?文章较全面地介绍了何为金点子、如何找到金点子、应避免哪些思维雷区......研究千万种,想法第一条,思路不对头,发文两行泪。【何为金点子】1.原创(or...

2020-03-02 20:50:37 990

原创 【NetWorkX实例(4)】Football数据集

Football数据集是非常复杂网络领域一个非常经典的数据集,作为一个tony数据集还是不错的。本文通过实例讲解如何用NetworkX结合其他工具对Football下载,解压,以及加载到NetworkX graph中。下载地址:http://www-personal.umich.edu/~mejn/netdata/football.ziptry: # Python 3.x impo...

2020-03-02 18:53:19 4157 1

原创 【NetWorkX实例(3)】图、边、节点等相关方法

在【NetWorkX实例(1)】基础操作一文中,介绍了networkx中图的生成,下面就介绍一下图、边、节点等相关方法。Graph相关方法功能degree(G[, nbunch,weight)返回单个节点或nbunch节点的度视图。Nodes相关方法功能nodes(G)返回图节点的迭代器number_of_nodes(G)返回图中节点的数...

2020-03-02 17:13:13 3519

原创 【Spark编程基础(2.4)】Scala语言基础—函数式编程基础

4 函数式编程基础函数的定义与使用定义函数最通用的方法是作为某个类或单例对象的成员,这种函数被称为方法。函数类型和函数值字面量函数字面量整型可以把具体值在方法调用中传来传去->函数可以想整型值一样在不同的方法调用中操作 传递函数的输入参数类型和返回值类型一起构成函数的类型。当参数只有一个时,圆括号可以省略只有存在多个参数时,圆括号才是必须的匿名函数(Lam...

2020-02-29 16:10:04 234

原创 【Spark编程基础(2.3)】Scala语言基础—面向对象编程基础

文章目录3 面向对象编程基础3 面向对象编程基础类类的定义什么都不返回:Unit类成员的可见性默认公有,其他private(本类型和嵌套类型),protected(本类型和继承类型)封装,声明私有,getter,setter方法私有变量,读取value=和写入value_=方法的定义方式参数不能用var,val去修饰;一个方法如果只有一个参数可以省略圆点而采用中缀操...

2020-02-29 16:09:22 267

原创 【Spark编程基础(2.2)】Scala语言基础—Scala基础知识

文章目录2 Scala基础知识2 Scala基础知识基本数据类型和变量基本数据类型:Byte、Char、Short、Int、Long、Float、Double、Boolean。Int类型->scala.Int类String类型->java.lang.String字面量(literal)操作符优先级:算术运算符>关系运算符>逻辑运算符>赋值运算符...

2020-02-29 16:08:46 742

原创 【大数据技术与推荐系统(9)】推荐系统与Lambda架构

文章目录背景介绍电子商务网站浏览记录、购买记录等推荐平台将各种数据整合在一起,以便于挖掘,推荐和广告推荐系统基本架构数据加载数据源多样性HDFS:用户点击日志等MySQL/Oracle:用户基本信息、用户购买记录等数据加载将不同的数据源中的数据导入HbaseHbase中以用户为单位组织数据实现方案MapReduce并行导入问题:与MySQL并发连接数过多,怎...

2020-02-27 03:36:48 461

空空如也

空空如也

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

TA关注的人

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