![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Algorithm
贾诩是也
走过很多弯路,一直坚强、执着的眺望着远方、、、一个听着小米布斯故事成长起来的老码农。不忘初心,方得始终、、、给自己鼓劲加油,为这个时代华丽的时代喝彩!
展开
-
8大排序算法
本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 先来看看 8种排序之间的关系原创 2016-11-09 07:57:49 · 229 阅读 · 0 评论 -
(9)数据挖掘算法之Naïve Bayes
朴素贝叶斯(Naïve Bayes)属于监督学习的生成模型,实现简单,没有迭代,学习效率高,在大样本量下会有较好的表现。但因为假设太强——假设特征条件独立,在输入向量的特征条件有关联的场景下并不适用。1. 朴素贝叶斯算法朴素贝叶斯分类器的主要思路:通过联合概率 建模,运用贝叶斯定理求解后验概率 ;将后验概率最大者对应的的类别作为预测类别。分类方法首先,我们定义训练集转载 2017-09-07 08:31:26 · 756 阅读 · 0 评论 -
(10)数据挖掘算法之CART
1. 前言分类与回归树(Classification and Regression Trees, CART)是由四人帮Leo Breiman, Jerome Friedman, Richard Olshen与Charles Stone于1984年提出,既可用于分类也可用于回归。本文将主要介绍用于分类的CART。CART被称为数据挖掘领域内里程碑式的算法。不同于C4.5,CART本质是对特征转载 2017-09-07 08:31:41 · 435 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft Naive Bayes 算法
本篇文章主要是继续上两篇Microsoft决策树分析算法和Microsoft聚类分析算法后,采用另外更为简单一种分析算法对目标顾客群体的挖掘,同样的利用微软案例数据进行简要总结。有兴趣的同学可以先参照上面两种算法过程。应用场景介绍通过前面两种算法的应用场景介绍,此次总结的Microsoft Naive Bayes 算法也同样适用,但本篇的Microsoft Naive Bayes算法较上两翻译 2017-09-07 08:32:44 · 470 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft 时序算法
此算法也是数据挖掘算法中比较重要的一款,因为所有的推算和预测都将利用于未来,而这所有的一切都将有一条时间线贯穿始终,而这将是时序算法的侧重点。应用场景介绍通过前几篇文章的介绍,我们已经能预测出影响某种行为的因素有哪些,并且根据这些因素综合挖掘出我们的最优客户群体(将会购买自行车),这也是上面介绍的几种算法的长项,但是会不会觉得从大数据中获取的信息太少了点,与很多问题仅仅通过上面几种算法是推翻译 2017-09-08 05:32:27 · 770 阅读 · 0 评论 -
基于微软案例数据挖掘之结果预算+下期彩票预测篇
本篇我们将根据上一篇的预测过程详细的给出预测结果值,形成一份可供具体参考的数据明细表。应用场景介绍作为Microsoft时序算法的应用场景,在上一篇我们已经详细介绍了,本篇就不再赘述,总结一下就是凡事要应用时间总线为依据,根据以往历史事例记录推测以后将要发生的结果值,此种场景我们都会应用到时序算法。比如:预测销售记录、预测营业额度、预测明年公司员工人数、预测下个月房价、预测明年....翻译 2017-09-08 05:36:04 · 4989 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft 线性回归分析算法
本篇介绍的为Microsoft线性回归分析算法,此算法其实原理和Microsoft神经网络分析算法一样,只是侧重点不一样,Microsoft神经网络算法是基于某种目的,利用现有数据进行“诱探”分析,侧重点是分析,而Microsoft线性回归分析算法侧重的是“预测”,也就是基于神经网络分析出来的规则,进行结果的预测。应用场景介绍该算法的应用场景和上一篇的Microsoft神经网络分析算法一样翻译 2017-09-08 05:36:45 · 723 阅读 · 1 评论 -
基于微软案例数据挖掘之Microsoft 神经网络分析算法原理篇
算法起源在思维学中,人类的大脑的思维分为:逻辑思维、直观思维、和灵感思维三种基本方式。而神经网络就是利用其算法特点来模拟人脑思维的第二种方式,它是一个非线性动力学系统,其特点就是信息分布式存储和并行协同处理,虽然单个神经元的结构及其简单,功能有限,但是如果大量的神经元构成的网络系统所能实现的行为确实及其丰富多彩的。其实简单点讲就是利用该算法来模拟人类大脑来进行推理和验证的。我们先简要的翻译 2017-09-08 05:37:47 · 655 阅读 · 0 评论 -
基于微软案例数据挖掘之结果预测篇
本篇也是数据挖掘各层次间最高的产物,推测未知的事物。鉴于各种算法应用场景不同,还有用法区别...后期我会整理出文章目录,供对大数据兴趣的同学查阅。应用场景介绍通过前几篇文章对挖掘算法的介绍,其实应用的场景大部分是围绕着已经购买自行车这部分群体的特征、行为分析,对他们的特性进行分类挖掘,对于我们想要知道那些人会买自行车特征进行推测,但所有这些的这些都是基于已经发生的事实,而没有对未来未发翻译 2017-09-07 08:33:05 · 400 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft 顺序分析和聚类分析算法
应用场景介绍Microsoft顺序分析和聚类分析算法,根据名称就可以联想到其应用特点,该挖掘算法是基于聚类分析算法之上然后对其分类内的事例顺序进行挖掘,其分析的重点在于事例间的顺序规则,上一篇我们介绍的Microsoft关联规则算法它的重点在于挖掘事例间的关联关系,而对产生关联关系的顺序则不关系,简单点讲:关联规则算法研究的是“鸡与蛋的关系”,而顺序分析和聚类分析算法则研究的就是“先有鸡还是先翻译 2017-09-08 05:38:42 · 1052 阅读 · 0 评论 -
分布式系统选举算法剖析
1.概述 我们在了解分布式选举算法之前,我们需要这样一种算法产生的背景。在一个分布式系统中,因为各种意外的因素,有的服务器可能会崩溃或变得不可靠,它就不能和其他服务器达成一致状态。因而这样就需要一种Consensus协议,来确保服务器的容错性,也就是说即使系统中有一两个服务器节点Crash,也不会影响其处理过程。为了让容错方式达成一致,我们不可能要求所有的服务器节点100%都达成Consen转载 2017-12-31 09:52:30 · 1480 阅读 · 0 评论 -
(5)数据挖掘算法之EM
1. 极大似然极大似然(Maximum Likelihood)估计为用于已知模型的参数估计的统计学方法。比如,我们想了解抛硬币是正面(head)的概率分布 ;那么可以通过最大似然估计方法求得。假如我们抛硬币 次,其中 次正面、 次反面;极大似然估计参数 值: 其中, 为观测变量序列的似然函数(likelihood function of the转载 2017-09-07 08:29:48 · 378 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft 聚类分析算法
本篇文章主要是继续上一篇Microsoft决策树分析算法后,采用另外一种分析算法对目标顾客群体的挖掘,同样的利用微软案例数据进行简要总结。应用场景介绍通过上一篇中我们采用Microsoft决策树分析算法对已经发生购买行为的订单中的客户属性进行了分析,可以得到几点重要的信息,这里做个总结:1、对于影响购买自行车行为最重要的因素为:家中是否有小汽车,其次是年龄,再次是地域2、通过折叠树翻译 2017-09-07 08:32:30 · 678 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft 关联规则分析算法
此篇的Microsoft关联规则算法就是用来挖掘关联关系的典型算法,闲言少叙,我们直接进入正题。应用场景介绍关联规则算法是在大量数据事例中挖掘项集之间的关联或相关联系,它典型的应用就是购物篮分析,通过关联规则分析帮助我们发现交易数据库中不同的商品(项)之间的联系,找到顾客购买行为模式,如购买某一个商品对其它商品的影响。进而通过挖掘结果应用于我们的超市货品摆放、库存安排、电子商务网站的导航安翻译 2017-09-08 05:38:11 · 1129 阅读 · 0 评论 -
(3)数据挖掘算法之SVM
SVM(Support Vector Machines)是分类算法中应用广泛、效果不错的一类。《统计学习方法》对SVM的数学原理做了详细推导与论述,本文仅做整理。由简至繁SVM可分类为三类:线性可分(linear SVM in linearly separable case)的线性SVM、线性不可分的线性SVM、非线性(nonlinear)SVM。1. 线性可分对于二类分类问题,训练集转载 2017-09-06 23:21:19 · 519 阅读 · 0 评论 -
(8)数据挖掘算法之AdaBoost
1. 集成学习集成学习(ensemble learning)通过组合多个基分类器(base classifier)来完成学习任务,颇有点“三个臭皮匠顶个诸葛亮”的意味。基分类器一般采用的是弱可学习(weakly learnable)分类器,通过集成学习,组合成一个强可学习(strongly learnable)分类器。所谓弱可学习,是指学习的正确率仅略优于随机猜测的多项式学习算法;强可学习指正转载 2017-09-07 08:31:09 · 546 阅读 · 0 评论 -
(7)数据挖掘算法之kNN
1. 引言顶级数据挖掘会议ICDM于2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naïve Bayes与 CART。 以前看过关于这些数据挖掘算法,但对背后数学原理未做过多探究,因而借此整理以更深入地理解这些算法。本文讨论的kNN算法是监督学习中分类方法的一种。所谓监转载 2017-09-07 08:30:50 · 577 阅读 · 0 评论 -
(6)数据挖掘算法之PageRank
我特地把PageRank作为【十大经典数据挖掘算法】系列的收尾篇,是因为本人是Google脑残粉。因了PageRank而Google得以成立,因了Google而这个世界变得好了那么一点点。1. 引言PageRank是Sergey Brin与Larry Page于1998年在WWW7会议上提出来的,用来解决链接分析中网页排名的问题。在衡量一个网页的排名,直觉告诉我们:当一个网页被更多转载 2017-09-07 08:30:16 · 312 阅读 · 0 评论 -
求去重后元素个数
给出一个整型数组,计算去重后元素个数eg:int a[] = {1,2,3,1,2,3,3}; 去重后元素个数为3方法1:暴力check是否重复,复杂度O(n^2)对于a[m],顺序比较a[m-1],a[m-2].....a[0],全部不重复,去重后元素个数+1代码: int uniq_element(int* a, int len)原创 2017-09-05 08:39:15 · 391 阅读 · 0 评论 -
Vector clock
为了提高可用性,Dynamo允许“更新”操作异步的传播到其他副本,当出现多个写事件并发执行时,可能会导致系统中出现多个版本的对象。由于我们无法保证分布式系统中的多个结点的物理时钟是完美同步的,所以通过物理时钟来确定事件的时序是不靠谱的,但我们可以通过基于事件的逻辑时钟来构建部分有序的事件时序集合Dynamo通过Vector Clock来构建同一对象多个事件的部分有序的时序集合需要特别说转载 2017-09-05 08:43:09 · 233 阅读 · 0 评论 -
随笔(负载均衡)
对集群服务来说,负载均衡算法的重要性不言而喻,从算法实现复杂及可靠性的角度考虑,大致可分为三个层次1. 盲狙主要包括:1)Hash法根据某种hash算法将请求发往集群节点。2)轮转法顾名思义,将集群所有节点组成一个环形队列,服务请求顺序取队列中的服务节点服务。2. 鸟狙1)最少连接记录每个服务节点的服务连接数,新服务请求发往当前最少连接数的服务节点2)最少失转载 2017-09-05 08:43:57 · 142 阅读 · 0 评论 -
用MR做相似度分析
Q:有一批数据(10亿量级),数据内容包括:列类型idINTcontentStringid为key,全局唯一content为一个句子列之间以\t分割like:1 “互联网够公司的日志无处不在,web日志,js日志,搜索日志,监控日志等等”2 "对于这些日志的离线分析(Hadoop),wg原创 2017-09-05 08:45:17 · 407 阅读 · 0 评论 -
Bloom Filter算法及应用
1. 引言问题:有1000瓶药,但是其中有一瓶是有毒的,小白鼠吃了24小时后就会死掉,请问,在24小时找出有毒的药物,最少需要多少只小白鼠?答案是:10只,一只小白鼠可以表示2种状态,2^10可以表示1024种状态分析可参考:http://lzj0470.iteye.com/blog/657579通过二进制向量组来扩展描述的状态,Bloom Filter(BF)算法也是利用这个思想转载 2017-09-05 08:46:27 · 330 阅读 · 1 评论 -
Gossip算法学习
1. 概述gossip,顾名思义,类似于流言传播的概念,是一种可以按照自己的期望,自行选择与之交换信息的节点的通信方式gossip, or anto-entropy, is an attractive way of replicating state that does not have strong consistency requirements2. 算法描述假设转载 2017-09-05 08:47:08 · 895 阅读 · 0 评论 -
异或运算随笔
异或:xor异或运算规则:0 xor 0 = 00 xor 1 = 11 xor 0 = 11 xor 1 = 0异或运算特性:1). a xor a = 02). a xor 0 = a3). (a xor b) xor c = a xor (b xor c)4). IF a xor b = c THEN a xor c = b 异或的原创 2017-09-05 08:49:06 · 361 阅读 · 0 评论 -
链式复制
Cornell大学的Robbert van Renesse和Fred B. Schneider在OSDI‘04上面发表了而一篇论文:Chain Replication for Supporting High Throughput and Availability作者提出一种方法,在保证高可用和高吞吐的情况下,不以牺牲强一致性为代价提供分布式存储服务要理解这篇文章解决的问题,可以看下转载 2017-09-05 08:50:11 · 1839 阅读 · 0 评论 -
Distributed hash table
1. 概念A distributed hash table (DHT) is a class of a decentralized distributed system that provides a lookup service similar to a hash table。 (key,value) pairs are stored in a DHT, and any participat转载 2017-09-05 08:50:53 · 627 阅读 · 0 评论 -
深入浅出理解Paxos算法
基本概念详看前文、、、最基本的Message flow: Basic Paxos演示图如下图所示,其他情况可以参考百科。图解:A1,,A2和A3就是Acceptor。P1,p2和p3就是Proposer。浅色的P1和P2说明是进行提议,深色的P1和P2说明是拿到表决。圆圈123表明是每次提议序号,递增即可。黑色的图表示被黑了,也就是否决。方块表示投票结果原创 2017-09-04 09:22:54 · 485 阅读 · 0 评论 -
阿里数据竞赛总结
1. 问题介绍与评估指标开放数据:天猫用户在4月-8月的品牌行为数据,对品牌的点击、购买、收藏、加入购物车等。(一共5个月的数据)预测数据:同样这些用户在9月购买的品牌。提供的数据形式如下: 具体内容,请戳比赛介绍。2. 天猫推荐算法在阿里内部,天猫算法团队将品牌推荐转化为一个点击率预估问题。(注意:这里讨论推荐的目标是为用户展示之后用户会去点击转载 2017-09-06 22:59:00 · 3343 阅读 · 0 评论 -
(1)数据挖掘算法之C4.5
1. 决策树模型与学习决策树(decision tree)算法基于特征属性进行分类,其主要的优点:模型具有可读性,计算量小,分类速度快。决策树算法包括了由Quinlan提出的ID3与C4.5,Breiman等提出的CART。其中,C4.5是基于ID3的,对分裂属性的目标函数做出了改进。决策树模型决策树是一种通过对特征属性的分类对样本进行分类的树形结构,包括有向边与三类节点:根节转载 2017-09-06 23:19:30 · 529 阅读 · 0 评论 -
(2)数据挖掘算法之k-means
1. 引言k-means与kNN虽然都是以k打头,但却是两类算法——kNN为监督学习中的分类算法,而k-means则是非监督学习中的聚类算法;二者相同之处:均利用近邻信息来标注类别。聚类是数据挖掘中一种非常重要的学习流派,指将未标注的样本数据中相似的分为同一类,正所谓“物以类聚,人以群分”嘛。k-means是聚类算法中最为简单、高效的,核心思想:由用户指定k个初始质心(initial ce转载 2017-09-06 23:20:25 · 435 阅读 · 0 评论 -
(4)数据挖掘算法之Apriori
1. 关联分析关联分析是一类非常有用的数据挖掘方法,能从数据中挖掘出潜在的关联关系。比如,在著名的购物篮事务(market basket transactions)问题中,TIDIterms1{Bread, Milk}2{Bread, Diapers, Beer, Eggs}3{Milk, Diapers, Beer,转载 2017-09-06 23:22:38 · 520 阅读 · 0 评论 -
基于微软案例数据挖掘之Microsoft 神经网络分析算法
本篇我们将要总结的算法为:Microsoft 神经网络分析算法,此算法微软挖掘算法系列中最复杂也是应用场景最广泛的一个,简单点讲:就是模拟我们的大脑从茫茫的数据海洋中思考出有用的信息,来达到数据挖掘的目的。原理可以参考上篇。应用场景介绍关于Microsoft神经网络算法的应用场景还是蛮多的,在上一篇原理篇我们就介绍过,其主要是应用在以下领域:营销和促销分析,如评估直接邮件促销或一个翻译 2017-09-08 05:37:10 · 1635 阅读 · 0 评论