python --网页爬虫,文本处理,科学计算,机器学习,数据挖掘资料+附带工具包下载

Python网页爬虫工具: Scrapy Scrapy, a fast high-level screen scraping and web crawling framework for Python. 不少同学肯定有耳闻,依靠Scrapy抓取了不少课程图谱,有关的文章有很多,大牛pluskid以前写过一篇文章:《Scrapy 轻松定制网络爬虫》,久经考验。 官网:http://scr...
阅读(575) 评论(9)

机器学习(一)集成学习

1. 关于集成学习的概念       集成学习是机器学习中一个非常重要且热门的分支,是用多个弱分类器构成一个强分类器,其哲学思想是“三个臭皮匠赛过诸葛亮”。一般的弱分类器可以由决策树,神经网络,贝叶斯分类器,K-近邻等构成。已经有学者理论上证明了集成学习的思想是可以提高分类器的性能的,比如说统计上的原因,计算上的原因以及表示上的原因。1.1 为什么要集成1)模型选择        假设各弱分类...
阅读(390) 评论(5)

Scikit-learn实战之最近邻算法

1. 最近邻的概念       sklearn.neighbors 提供了基于最近邻的无监督和有监督学习方法的功能。无监督最近邻是许多其他学习方法的基础,尤其是流型学习和谱聚类。有监督的最近邻学习有两种形式:对离散类标的数据进行分类,对连续类标的数据进行回归。       最近邻方法背后的原理是找到一个预定义数量的离新的观测点距离最近的训练样本,并从这些最近点来预测新的观测点的标签。样本的数量可以是...
阅读(557) 评论(7)

Crypto++(二)数字签名算法DSA

本文翻译自 https://www.cryptopp.com/wiki/Digital_Signature_Algorithm,本人英文水平有限,如有翻译不当之处请给出修改建议!DSA是数字签名算法,DSA是 FIPS 186中指定的三种数字签名方案之一。FIPS 186-2 指定了一个1024位的p,160位的q,并且使用SHA-1作为哈希算法。FIPS 186-3 使用更大的哈希值SHA-2作为...
阅读(847) 评论(14)

Crypto++(一)Diffie-Hellman

Diffie-Hellman 是一个密钥协商算法,它允许双方建立一个安全的通信通道。最原始的 Diffie-Hellman 是一个异步协议,也即它是一个未经认证的协议,因此它容易受到中间人攻击的方式攻击。Crypto++通过DH类暴露未认证的DH算法。原始Diffie-Hellman的扩展包含加固交换协议以防止中间人攻击的认证。认证版本的DH协议通常被称为统一Diffie-Hellman。Cryp...
阅读(891) 评论(11)

ElasticSearch Java API(二)增删改查

现在我们来详细的阐述API的CRUD命令(Create,Retrieve,Update,Delete document)。1. 读取文档 GetResponse response = client.prepareGet("indexName","type","id") .setFields("title","_source") .exe...
阅读(976) 评论(7)

ElasticSearch Java API(一)连接集群

使用 Java API 连接到ElasticSearch集群的方法有两种。这两种方式都会使用一个Client ( org.elasticsearch.client.Client ) 接口的恰当实例。Client接口是ElasticSearch API对外提供的各功能的主入口。1. 成为ElasticSearch节点      第一种连接ElasticSearch节点的方式可能会让那些没有接触过Ela...
阅读(2391) 评论(7)

STL源码之红黑树

1. 基本概念       红黑树是平衡二叉搜索树的一种,其通过特定的操作来保持二叉查找树的平衡。首先,我们来复习一下二叉查找树的知识,建议如果对二叉查找树不理解的先去搜一下相关博客来了解一下。二叉搜索树是指一个空树或者具有以下性质的二叉树: 任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 任意节点的左、右子树也...
阅读(477) 评论(10)

Java中HashSet和TreeSet的区别

1. HashSetHashSet有以下特点: 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可以是null,但只能放入一个null 当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置。 简单的说,HashSet集合判断两个元素相等的标准是...
阅读(449) 评论(9)

Java IO 之文件读写

1.文件读public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); Inpu...
阅读(371) 评论(9)

复制带有random指针的单链表

如图1所示,有一条单链表,其节点除了有next指针外,还有一个random指针。random指针可指向单链表中的任意节点,包括它自身。random指针一旦指定,便不再更改。请设计算法,复制此单链表,并给出时间复杂度。图1 带有random指针的单链表解法1. 时间复杂度为O(n*n)先按next指针,将链表复制一份。使用p1指向原链表的头节点,p2指向p1指向的节点的random节点,p3指向p1的...
阅读(390) 评论(9)

STL源码之Set和Map

在上一篇博客中,讲到了STL中关于红黑树的实现,理解起来比较复杂,正所谓前人种树,后人乘凉,RBTree把树都种好了,接下来就该set和map这类关联式容器来“乘凉”了。STL的set和map都是基于红黑树实现的,和stack和queue都是基于deque一样,它们仅仅是调用了RBTree提供的接口函数,然后进行外层封装即可。本篇博客理解起来比较轻松,set和map的源代码也不多,大家可以慢慢“品味...
阅读(301) 评论(7)

Google面试题总结

1)村子里有100对夫妻,其中每个丈夫都瞒着自己的妻子偷情。村里的每个妻子都能立即发现除自己丈夫之外的其他男人是否偷情,唯独不知道她自己的丈夫到底有没有偷情。村里的规矩不容忍通*。任何一个妻子,一旦能证明自己的男人偷情,就必须当天把他杀死。村里的女人全都严格照此规矩办事。一天,女头领出来宣布,村里至少有一个丈夫偷情。请问接下来会发生什么事?答案:这是一个典型的递归问题。一旦所有的妻子都知道至少有一个...
阅读(399) 评论(6)

Scikit-learn实战之线性模型

下面是一系列的用于回归的方法,这些方法的目标值(target value)是由输入变量的线性组合而成。在数学概念上,如果 y^\hat y 是预测值: 在整个模块中,我们指定向量 为系数,并且 ω0\omega_0 作为截距。1. 普通最小二乘法      LinearRegression是一个线性模型,它的系数 最小化数据集中的观测结果和线性预测结果之间的残差和。它解决的问题在数学上可以形式...
阅读(642) 评论(11)

大数据开源框架特点大总结

1. ElasticSearch1.1 ElasticSearch的优点: 高并发。实测es单机分配10g内存单实例,写入能力1200qps,60g内存、12核CPU起3个实例预计可达到6000qps。 同机房单条数据写入平均3ms(比mysql慢,mg不清楚) 容错能力比mg强。比如1主多从,主片挂了从片会自动顶上 满足大数据下实时读写需求,无需分库(不存在库的概念)。 易扩展。实例间做下配置即可...
阅读(370) 评论(4)

Redis源码分析(2)-底层数据结构之字典

1. 字典的概念       Redis中的字典也就是我们常说的哈希表(Hash Table)或者叫映射(Map)。它是一种用于保存Key-Value键值对的抽象数据结构。在字典中,一个键(key)应该和一个值(value)进行对应(或者说键映射为值),这些键和值就称为键值对。       字典中的每个键都是唯一的,程序可以在字典中根据键去查找与之关联的值。当然也可以根据键对值进行增、删、改、查等操...
阅读(432) 评论(3)

跳跃表的原理及实现

1. 跳跃表的原理      学过数据结构的都知道,在单链表中查询一个元素的时间复杂度为O(n),即使该单链表是有序的,我们也不能通过2分的方式缩减时间复杂度。       如上图,我们要查询元素为55的结点,必须从头结点,循环遍历到最后一个节点,不算-INF(负无穷)一共查询8次。那么用什么办法能够用更少的次数访问55呢?最直观的,当然是新开辟一条捷径去访问55。       如上图,我们要...
阅读(494) 评论(3)

Scikit-learn之决策树

1. 决策树概述       决策树是一个非参数的监督式学习方法,主要用于分类和回归。算法的目标是通过推断数据特征,学习决策规则从而创建一个预测目标变量的模型。如下图所示,决策树通过一系列if-then-else 决策规则 近似估计一个正弦曲线。 1.1 决策树的优势       决策树具有以下优势: 简单易懂,原理清晰,决策树可以实现可视化; 数据准备简单。其他的方法需要实现数据归一化,创...
阅读(504) 评论(4)

Sckit-learn之朴素贝叶斯

1. 朴素贝叶斯方法概述      朴素贝叶斯方法是一系列有监督学习算法组成的,这些算法基于应用贝叶斯理论并带有“naive”的假设:所有特征之间两两独立。给定一个类变量 yy 和一个独立的特征向量集 x1x_1 到 xnx_n。贝叶斯理论阐述如下的关系式: ![这里写图片描述](http://scikit-learn.org/stable/_images/math/475...
阅读(563) 评论(4)

Redis源码分析(1)-底层数据结构SDS

1. Redis概述      Redis是一个Key-Value存储的NoSQL内存数据库。它支持支持五种数据类型:字符串,链表,字典(hash表),集合,有序集合。每一种数据结构都有自己独特的存储与设计方式,以保证Redis高效的数据存储和查找。2. 字符串      Redis是使用C语言编写的,但是它并没有C语言传统的字符串表示,而是创建了一种名为简单动态字符串(Simple Dynamic...
阅读(656) 评论(3)
93条 共5页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    我的公众号

    关注微信公众号,专

    为机器学习入门者
    个人资料
    • 访问:145012次
    • 积分:3307
    • 等级:
    • 排名:第10702名
    • 原创:83篇
    • 转载:6篇
    • 译文:4篇
    • 评论:761条
    博客专栏
    最新评论