自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据存储系统(5)--- ZooKeeper

Distrubuted Coordination:ZooKeeper1、概念用于分布式系统中,多个节点协调。Leadership election:选举一个代表负责节点Group membership:哪些节点还活着?发现崩溃等故障Consensus:对一个决策达成一致Zookeeper:Yahoo研发的开源分布式协调系统。是Hadoop/Hbase环境的一部分。目前广

2017-05-31 12:25:19 646

原创 大数据运算系统(4)--- 内存计算系统

二、内存系统1、内存数据库(1)起源发展体系结构和硬件技术的巨大发展Memory-resident:可能在buffer pool中。MMDB:可能彻底不用buffer pool,改变了系统内部设计。(2)关键技术Vectorization;处理器加速;压缩(3)MonetDB(4)在商用数据库中的实现2、内存键值系统MemcachedRedi

2017-05-30 16:23:26 8226

原创 大数据存储系统(4)--- 图存储系统(Graph Database)

一、图数据模型(1)图的概念G=(V,E):V为顶点的集合,E为边的集合。有向图:边有方向无向图:边没有方向;可以用有向图表达无向图:每条无向边->2条有向边。(2)图数据存储系统存储图顶点和边,提供顶点和边的查询。二、Neo4j(1)概念Native graph database:采用自定义的结构在本地硬盘存储图,而不是存在数据库关系型表中。开源Java实

2017-05-29 16:49:34 7781

原创 大数据存储系统(3)--- Document Store

Document Store一、数据模型1、JSON:JavaScript Object NotationJSON是一个低成本的数据交换格式;是JavaScript程序语言标准(1993年)的子集。JSON对应于程序语言中的结构与数组。(1)JSON格式定义Value:基础类型、Object、ArrayObject:{“key1”:value1,……,”keyn”:valu

2017-05-29 16:32:32 1327

原创 大数据存储系统(2)--- Key-Value Store

No-SQL:(1)这些系统大部分是由互联网公司研发,研发目标是支持某公司的某类重要的应用。(2)放弃使用关系型系统,转而开发专门的系统以支持目标应用。(3)针对目标应用进行开发,简化了许多关系型系统的功能,以提高系统性能和降低研发成本。不支持完全的SQL,不支持完全的ACID。Key-Value Store:一种分布式数据存储系统。数据形式为,支持Get/Put操作。

2017-05-29 11:01:50 3956

原创 大数据存储系统(1)--- 分布式文件系统

分布式文件系统一、分布式系统概念(1)分布式系统类型:Client/Server、P2P(Peer-to-Peer)、Master/Worker(2)故障模型(Failure Model):Fail stop:出现故障时,进程停止/崩溃Fail slow:出现故障时,运行速度变得很慢Byzantine failure:包含恶意攻击(3)CAP定理:三者不可得兼C

2017-05-29 01:45:24 4957

原创 行式与列式数据库

行式数据存储:每个记录把所有的列相邻地存放。优点:多个列的值,可以一次I/O都得到;适合于OLTP,同时需要读写同一个记录的多个列的值。但是,对于数据分析操作,只使用少数列。所以,不适合。列式数据存储:每个列产生一个文件,存储所有记录中该列的值。列式存储的原因:数据仓库的分析查询,大部分情况只涉及一个表的少数几列;会读一大部分记录。在这种情况下,行式存储需要读很多无

2017-05-28 19:44:40 675

原创 关系型数据库管理系统:事务处理Durability(持久性)的实现

一、目的:Transaction commit后,结果持久有效,crash不消失。二、想法一:在transaction commit时,把所有的修改都写回硬盘。只有当硬盘完成后,才commit。但是,这样会出现正确性问题;如果写多个page,中间掉电的话,Atomicity被破坏了!而且随机写硬盘、等待写完成也存在性能问题。三、解决方案:WAL(Write Ahead Logging)

2017-05-28 17:29:09 1105

原创 Python爬虫开源软件工具

Python爬虫  (1)QuickRecon  QuickRecon是一个简单的信息收集工具,它可以帮助你查找子域名名称、perform zone transfe、收集电子邮件地址和使用microformats寻找人际关系等。QuickRecon使用python编写,支持linux和 windows操作系统。  授权协议: GPLv3  开发语言: Python  操作系

2017-05-28 09:21:40 2797

原创 sklearn:使用GBDT选择特征

(1)如何在numpy数组中选取若干列或者行?  >>>import numpy as np>>>tmp_a = np.array([[1,1], [0.4, 4], [1., 0.9]]) >>>tmp_a>>>tmp_a[[0,1],:]#选第0、1行 >>>tmp_a[np.array([True, False, True]),:]# 选第0、2行>>>tmp_a[:

2017-05-27 17:02:35 15621

原创 sklearn:朴素贝叶斯(naïve beyes)

朴素贝叶斯的原理:基于朴素贝叶斯公式,比较出后验概率的最大值来进行分类,后验概率的计算是由先验概率与类条件概率的乘积得出,先验概率和类条件概率要通过训练数据集得出,即为朴素贝叶斯分类模型,将其保存为中间结果,测试文档进行分类时调用这个中间结果得出后验概率。一、基本定义分类是把一个事物分到某个类别中。一个事物具有很多属性,把它的众多属性看作一个向量,即x=(x1,x2,x3,…,

2017-05-27 13:07:59 2790

原创 Python2.7编码问题

一、unicode、encode、decode字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2

2017-05-26 18:47:53 859

原创 sklearn:SVM

from sklearn import svm一、SVM分类(1)模型参数初始化clf = svm.SVC(C=0.6, kernel='linear', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False, tol=0.01, cache_size=200, class_

2017-05-26 16:32:45 589

原创 sklearn:GBDT

一、GBDT分类(1)模型参数初始化:from sklearn.ensemble import GradientBoostingClassifiergbdt = GradientBoostingClassifier( init=None, learning_rate=0.1, loss='deviance', max_depth=3, max

2017-05-26 16:06:28 1938

原创 Python数学计算:Numpy和Scipy(矩阵相关)

Python是一种通用语言。它被解释运行,是动态类型语言,并且非常适合交互工作和快速实现原型,然而又足够强大用来写大型应用。NumPy是一个定义了数值数组和矩阵类型和它们的基本运算的语言扩展。SciPy是另一种使用NumPy来做高等数学、信号处理、优化、统计和许多其它科学任务的语言扩展。(1)创建矩阵import numpy as nps = np.array([[-0.7

2017-05-26 14:46:02 1893

原创 Python图表绘制:matplotlib绘图库

http://www.cnblogs.com/wei-li/archive/2012/05/23/2506940.html#resourcematplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程

2017-05-26 14:21:41 741

原创 Python机器学习库

Python是学习(和实现)机器学习技术最好的语言之一,其原因主要有以下几点:语言简单:如今,Python成为新手程序员首选语言的主要原因是它拥有简单的语法和庞大的社区。功能强大:语法简单并不意味着它功能薄弱。Python同样也是数据科学家和Web程序员最受欢迎的语言之一。Python社区所创建的库可以让你做任何你想做的事,包括机器学习。丰富的ML库:目前有大量面向Python的机器学习库

2017-05-25 14:40:54 772

原创 sklearn:随机划分训练集和测试集

一、sklearn.model_selection.train_test_split作用:随机划分训练集和测试集  官网文档:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test

2017-05-25 11:06:51 12996

转载 深入浅出机器学习

1、机器学习与人类思考的类比:人类在成长、生活过程中积累了很多的历史与经验。人类定期地对这些经验进行“归纳”,获得了生活的“规律”。当人类遇到未知的问题或者需要对未来进行“推测”的时候,人类使用这些“规律”,对未知问题与未来进行“推测”,从而指导自己的生活和工作。    机器学习中的“训练”与“预测”过程可以对应到人类的“归纳”和“推测”过程。通过这样的对应,我们可以发现,机器学习的思

2017-05-23 10:30:03 1180

原创 降维

为什么要降维?找出规律,压缩数据量。(1)特征值与特征向量M矩阵,λ常数,e非零列向量Me = λe (e为unit vector,第一个非零元素为正)特征向量是单位向量;特征向量之间正交;特征向量矩阵E的特点,E*E^T = E^T*E = I。(2)PCA(主成分分析)利用特征向量进行降维。原理:将矩阵与一个正交单位向量矩阵相乘,意味着在欧式空间上的

2017-05-23 01:40:11 645

原创 推荐系统

1. The Utility MatrixIn a recommendation-system application there are two classes of entities, which we shall refer to asusers and items. Users have preferences for certain items, and these pref

2017-05-22 17:23:00 359

转载 结构化数据、半结构化数据、非结构化数据

1、概述  结构化数据:(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)。非结构化数据:不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符

2017-05-20 16:41:02 2458

原创 复杂的大数据技术栈

提到大数据,很多人可能都听说过4V - Big Volume, Big Velocity, Big Variety, Big Value,大数据从业人员的工作内容也都和这4个V中的某些内容密切相关。相比较传统的数据库技术,大数据的技术栈在过去几年取得非常迅速的发展,尤其是Hadoop和Spark已经构建了一个庞大的技术生态圈。文件系统方面,除了传统的行式存储,还有新的列式存储格式如ORC,

2017-05-20 16:19:35 5558

原创 WinPcap教程:(4)不用回调方式捕获数据包

本文所实现的功能和效果和上一讲的非常相似,但本文将用pcap_next_ex()函数代替上文的pcap_loop()  函数。        pcap_loop()  函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择。然而,处理回调有时候并不实用。它会增加程序的复杂度,特别是在拥有多线程的C++程序中。可以通过直接调用pcap_next_ex()

2017-05-17 16:35:18 441

原创 WinPcap教程:(3)打开适配器并捕获数据包

现在,我们已经知道如何获取适配器的信息了,那我们就开始一项更具意义的工作,打开适配器并捕获数据包。我们会编写一个程序,将每一个通过适配器的数据包打印出来。1、打开设备打开设备的函数是pcap_open()。下面是参数snaplen,flags和to_ms的解释说明。snaplen制定要捕获数据包中的哪些部分。在一些操作系统中(比如xBSD和Win32),驱动可以被配置成只捕获数据包的初

2017-05-17 15:54:22 514

原创 WinPcap教程:(2)获取已安装设备的高级信息

获取设备列表向我们展示了如何获取适配器的基本信息(如设备的名称和描述)。事  实上,WinPcap提供了其他更高级的信息。特别需要指出的是,由pcap_findalldevs_ex()返回的每一个pcap_if结构体都包含一个pcap_addr结构体,这个结构体由如下元素组成:一个地址列表一个掩码列表(each of which corresponds to an entry in

2017-05-17 15:35:32 385

原创 WinPcap教程:(1)获取设备列表

通常,编写基于WinPcap应用程序的第一件事情,就是获得已连接的网络适配器列表。libpcap和WinPcap都提供了pcap_findalldevs_ex()函数来实现这个功能。这个函数返回一个pcap_if结构的链表,每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域name和description表示一个适配器名称和一个可以让人们理解的描述。下列代码能获取适配器列表,

2017-05-17 15:27:56 1208

原创 WinPcap介绍

1、介绍WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库。大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的、令人熟悉的接口。然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需

2017-05-17 15:08:55 5779 1

转载 wireshark总体结构

转载自http://www.cnblogs.com/zzqcn/p/4823217.html  赵子清1. 总体结构wireshark的总体结构如下图所示。回到顶部2. 功能模块模块名功能源码子目录GTK/Qt处理所有的用户输入/输出(所有的窗口,对话框等等)

2017-05-16 01:50:32 1048

原创 抓包工具原理

以太网数据是以广播方式发送的,意即局域网内的每台主机都在监听网内传输的数据。以太网硬件将监听到的数据帧所包含的MAC地址与自己的MAC地址比较,如果相同,则接受该帧,否则忽略它,这个是以太网的过滤规则。但是,如果把以太网的硬件设置为“混杂模式”,那么它就可以接收网内的所有数据帧。WinPcap相当于是一个库为抓包工具提供相关的支持。嗅探器就是依据这种原理来监测网络中流动着的数据。

2017-05-16 00:49:40 1450

原创 TCP/IP初探

目前互联网上使用的主流协议族就是TCP/IP协议族,它是一个分层、多协议的通信体系。TCP/IP协议族是一个四层协议系统,自低向上分别是数据链路层、网络层、传输层和应用层。下层协议为上层协议提供服务。数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输,数据链路层的相关协议隐藏了不同物理网络上的不同电气特性,为上层协议提供了一个通用的接口。数据链路层两个常用的协议是ARP

2017-05-16 00:37:34 277

原创 CAM表

“CAM表”:就是指二层交换机上运行的Cisco IOS在内存中维护的一张表,CAM表是交换机在二层转发数据要查找的表,表中有MAC地址,对应的端口号,端口所属的VLAN。交换机的每一个二层端口都有MAC地址自动学习的功能,当交换机收到PC发来的一个帧,就会查看帧中的源MAC地址,并查找CAM表,如果有就什么也不做,开始转发数据。如果没有就存入CAM表,以便当其他人向这个MAC地址上发送数据时

2017-05-15 23:52:44 5627 1

原创 以太网、互联网

这是两个不同的概念,比如 互联网 Internet 、广域网 WAN、局域网LAN可以算作一类,按照区域和范围来分类。而以太网Ethernet 、ATM网、FDDI网可以算作一类,按照传输技术来分类,属于OSI参考类型的数据链路层。以太网很普及,电脑上的以太网接口,Wi-Fi接口,以太网交换机、路由器上的千兆,万兆以太网口,还有网线,它们都是以太网的组成部分,以太网可以用在局域网、广域网、

2017-05-15 23:08:55 534

原创 Python 包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。 简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。考虑一个在 package_runoob 目录下的 runoob1.py、runoob2.py、__init__.py 文件,test.

2017-05-15 17:08:25 419

原创 Python基本数据类型

Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。可变数据类型:列表list和字典dict;不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。Python Number(数字)(1)Pyt

2017-05-15 15:48:55 428

转载 最长公共子序列

题目:如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。请编写一个函数,输入两个字符串,求它们的最长公共子序列,并打印出最长公共子序列。例如:输入两个字符串BDCABA和ABCBDAB,字符串BCBA和BDAB都是是它们的最长公共子序列,则输出它们的长度4,并打印任意一个子序列。

2017-05-13 21:25:45 322

转载 最长公共子串

最长公共子串问题的基本表述为:给定两个字符串,求出它们之间最长的相同子字符串的长度。最直接的解法自然是找出两个字符串的所有子字符串进行比较看他们是否相同,然后取得相同最长的那个。对于一个长度为n的字符串,它有n(n+1)/2个非空子串。所以假如两个字符串的长度同为n,通过比较各个子串其算法复杂度大致为O(n4)。这还没有考虑字符串比较所需的时间。简单想想其实并不需要取出所有的子

2017-05-13 21:07:54 391

转载 DM和ML的区别

1. DM更应用化,ML更偏研究与算法(所以公司一般有数据挖掘工程师,机器学习研究员) 2. ML的问题经常是明确定义的,包括数据集及目标(且数据集是固定的);DM通常只定义目标,甚至连目标也没有(给你一堆数据,给我找出有价值、有意思的东西出来);在定义了目标的情况下,DM可以使用非固定的数据源 3. ML只是DM使用的方法的一种,DM还可以使用其他的方法(比如统计,比如直接看数据) 

2017-05-13 14:20:13 5406

转载 如何快速构建用户画像?

一、什么是用户画像( personas)?Alan Cooper (交互设计之父)最早提出了 persona 的概念:“Personas are a concrete representation of target users.”Persona 是真实用户的虚拟代表,通过一系列的真实数据分析,得出的目标用户模型。通过调研,根据用户的目标、行为和观点的差异,将他们区

2017-05-13 13:43:58 4079

转载 特征工程(补充)--特征组合

特征组合变化也属于特征选择的一种手段,这部分工作可发挥的空间就看你的想像力和经验了。这里的组合变化远不限于把已有的特征加减乘除(比如Kernel Tricks之类)。     举个比较有想像力的例子——现在市面上社交网络里面“你可能认识的人”的推荐算法几乎都是基于补全网络的办法,这样推荐的人可能只是单纯的补充和完善朋友圈,推荐的人可能很无趣,这样会导致推荐效果不好让用户失去接受推荐的兴趣。斯坦

2017-05-13 13:28:16 8318 1

空空如也

空空如也

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

TA关注的人

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