自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spark写ES的遇到的坑

由于项目需要,最近搞Spark Streaming做数据分析,并最终将分析完的数据写入ElasticSearch。我们项目使用的是Spark 2.1.0,而我们公司的ElasticSearch版本使用的是2.1.2。项目过程中遇到了很多坑,浪费了不少时间,故此在这里总结一下,希望大家以后免于趟这些坑以节约时间做一些更有意义的事。由于Maven依赖很长,故此放在最后,请参看: 添加Maven依赖1.

2017-04-11 20:31:50 14838 10

原创 MNIST手写字识别的TensorFlow实现

1. 简介       本文介绍的是MNIST手写字体CNN识别模型的TensorFlow的实现。据本人亲自测试,当迭代训练次数为20000时能在验证集上取得最高的准确率。当迭代训练次数达到28000次之后,模型识别准确率骤降,至于原因本人后续研究解释。2. 完整源码实现from tensorflow.examples.tutorials.mnist import input_dataimport

2017-04-09 19:24:58 2260 6

原创 AlexNet 的tensorflow 实现

本文转载自 http://blog.csdn.net/chenriwei2/article/details/50615753# 输入数据import input_datamnist = input_data.read_data_sets("/tmp/data/", one_hot=True)import tensorflow as tf# 定义网络超参数learning_rate = 0.00

2017-04-09 19:12:52 1048 4

原创 Scala解析Json字符串

1. 添加相应依赖       Json解析工具使用的 json-smart,曾经对比过Java的fastjson、gson。Scala的json4s、lift-json。其中 json-smart 解析速度是最快的。 <dependency> <groupId>net.minidev</groupId> <artifactId>json-

2017-04-06 21:06:37 6754 5

原创 CentOS端口重定向

1. CentOS下配置端口转发将80端口请求转发至8080在root账户下面运行一下命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080另外如果防火墙重新启动,该命令就会失效,可以使用下面的命令把该规则保存到iptables里面。service iptables save

2017-03-23 19:29:48 2166 4

原创 Linux免密码远程登录

如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入。提高远程效率,不用记忆各台服务器的密码。1. 首先登入一台linux服务器,此台做为母机(即登入其他linux系统用这台做为入口);执行一行命令生成key文件:ssh-keygen -t rsa ,然后一直回车,如下所示:2. 在母机上,进入/root/.ssh目录,找到id_rsa.pub该文件,这个文件就是

2017-03-21 10:08:09 882 4

转载 Java中继承thread类与实现Runnable接口的区别

本文转载自 http://mars914.iteye.com/blog/1508429Java中线程的创建有两种方式:1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过实现Runnable接口,实例化Thread类       在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程。当我们做这个系统的时候可能会想到两

2017-03-11 19:26:02 826 6

原创 Linux上查看和停止所有java进程

1. Linux下查看和停止所有java进程在Linux下查看所有java进程命令:ps -ef | grep java停止所有java进程命令:pkill - 9 java 停止特定java进程命令:kill -9 java进程序号

2017-03-11 16:29:54 42657 5

原创 Java API 生产和消费Kafka消息

在我的文章 Kafka集群搭建中,展示了如何创建一个单机版的Kafka服务,在此基础上我们可以利用Java程序来对Kafka服务进行生产和消费消息。1. 创建Maven程序首先在 Intellij IDEA中创建一个maven程序,在pom.xml文件中加入如下的依赖和插件: <dependencies> <dependency> <groupId>o

2017-01-22 16:27:20 3106 7

原创 Kafka集群搭建

本文测试环境:操作系统: CentOS release 6.8Java 版本: 1.7.0_71kafka版本: kafka_2.11-0.10.1.0.tgz1. 单机模式1.1 解压缩包> tar -xzf kafka_2.11-0.10.1.0.tgz> cd kafka_2.11-0.10.1.01.2 启动ZooKeeper服务       Kafka使用ZooKeeper因

2017-01-22 15:53:30 747 3

原创 Java 机器学习库Smile实战(二)AdaBoost

1. AdaBoost算法简介      Boost 算法系列的起源来自于PAC Learnability(PAC 可学习性)。这套理论主要研究的是什么时候一个问题是可被学习的,当然也会探讨针对可学习的问题的具体的学习算法。这套理论是由Valiant提出来的,也因此(还有其他贡献哈)他获得了2010年的图灵奖。下面是他的照片:![这里写图片描述](http://my.csdn.net/uploads

2017-01-19 21:27:15 2133 11

原创 Java 机器学习库Smile实战(一)SVM

本文不会介绍SVM的基本原理,如果想了解SVM基本原理,请参阅相关书籍。1. 二分类       Smile 库的SVM类是一个泛型类型,默认情况下进行二分类,选择参数为核函数类型和惩罚项参数。import smile.classification.SVM;import smile.math.kernel.GaussianKernel; double gamma = 1.0; double C

2017-01-16 22:42:33 5149 9

原创 Redis登录认证密码

Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性。1. 修改配置文件Redis的配置文件默认在/etc/redis.conf,找到如下行:#requirepass foobared去掉前面的注释,并修改为所需要的密码:requirepass my

2017-01-11 22:29:58 2711 7

原创 Intellij IDEA使用Maven管理Scala项目

1. 安装Scala插件      打开IDEA,点击file —> Settings 如下图所示: 接下来点击 Install JetBrains Plugins,搜索 Scala ,点击安装,下图是安装完的结果:2. 创建Maven的Scala工程       依次选择 File –> New Project —> Maven 然后勾选右侧的”Create from archetype”

2017-01-11 22:10:02 1642 10

原创 Java中的String、StringBuilder、StringBuffer

1. 继承关系图当使用文本数据时,Java提供了三种类别,包括String, StringBuffer和StringBuilder。当使用大数据来工作时,你应该用StringBuffer或StringBuilder来优化效率。基本上这三个类有许多相似之处。String 是不可变的(这个概念的更多详细信息,在文档中)。它不允许子类的存在。StringBuffer, StringBuilder 是可

2017-01-11 16:56:41 642 7

原创 Spark RDD API详解

1. RDD简单介绍      RDD是Spark中的抽象数据结构类型,任何数据在Spark中都被表示为RDD。从编程的角度来看,RDD可以简单看成是一个数组。和普通数组的区别是,RDD中的数据是分区存储的,这样不同分区的数据就可以分布在不同的机器上,同时可以被并行处理。因此,Spark应用程序所做的无非是把需要处理的数据转换为RDD,然后对RDD进行一系列的变换和操作从而得到结果。本文为第一部分,

2017-01-03 21:13:33 1035 7

原创 用JAVA程序调用LibSVM API

1. LibSVM简介       LibSVM是台湾著名教授陈智仁团队的杰作。具有各个语言版本的接口,包括C/C++、Java、Python、Matlab、C# 等等。这套库运算速度还是挺快的,可以很方便的对数据做分类或回归。由于libSVM程序小,运用灵活,输入参数少,并且是开源的,易于扩展,因此成为目前国内应用最多的SVM的库。       这套库可以从http://www.csie.ntu.

2017-01-03 21:04:24 2438 5

原创 机器学习(四)经验风险与结构风险

1. 偏差与方差(bias and variance)      在回归问题中,我们用一个简单的线性模型来拟合样本,称为线性回归,如图1;或者用更复杂,高维的函数来拟合,比如二次函数得到图2,六次函数得到图3.      我们可以看出来, 六次函数完美地拟合了六个点,误差为0.但是,当我们用这样的拟合模型来进行预测的时候,效果反而不好.通过观察我们发现,二次的模型也许能够更好地拟合这些样本分布.虽然

2017-01-03 20:32:47 3688 11

原创 Java与正则表达式

1. Java正则表达式的使用1.1 典型用法//将一个字符串编译成Pattern对象Pattern p = Pattern.compile("a*b");//使用Pattern对象创建Matcher对象Matcher m = p.matcher("aaaaab");boolean b = m.matches();//返回true1.2 简洁用法上面定义的Pattern对象可以重复使用,如果某个正则

2017-01-03 10:19:17 637 9

原创 Java与JSON互转

Jackson 使用遇到 Unrecognized field, not marked as ignorable Jackson是一个可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象的框架。非常方便,同时也很高效。最近在使用时,将前台传递的JSON 串转成Java实体对象时,出现了Unrecognized field, not marked a

2016-12-29 14:49:27 713 9

原创 机器学习常见算法优缺点

1. K近邻       算法采用测量不同特征值之间的距离的方法进行分类。 1.1 优点简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归; 可用于数值型数据和离散型数据; 训练时间复杂度为O(n);无数据输入假定; 对异常值不敏感。1.2 缺点计算复杂性高;空间复杂性高; 样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少); 一般数值很大的时候不用

2016-12-28 17:50:49 3722 9

原创 ElasticSearch性能优化

1. 亿级规模的ES查询优化实战能用filter就不用query filter拿到相应的doc后不计算score不用排序 query会对符合条件的doc计算score并进行排序 filter的查询速度比query快很多2. 增加相关cache的配置indices.cache.filter.size: 30% indices.fielddata.cache.size: 60% inde

2016-12-28 11:45:05 3575 9

原创 SparkContext的parallelize

在一个Spark程序的开始部分,有好多是用sparkContext的parallelize制作RDD的,是ParallelCollectionRDD,创建一个并行集合。例如sc.parallelize(0 until numMappers, numMappers)创建并行集合的一个重要参数,是slices的数目(例子中是numMappers),它指定了将数据集切分为几份。在集群模式中,Spark将会

2016-12-27 09:55:48 5055 10

原创 Java String.split()用法小结

在java.lang包中有String.split()方法,返回是一个数组我在应用中用到一些,给大家总结一下,仅供大家参考:1、如果用“.”作为分隔的话,必须是如下写法,String.split(“\.”),这样才能正确的分隔开,不能用String.split(“.”);2、如果用“|”作为分隔的话,必须是如下写法,String.split(“\|”),这样才能正确的分隔开,不能用String.sp

2016-12-26 19:35:51 617 9

原创 机器学习(二)Apriori算法

最近看了《机器学习实战》中的第11章(使用Apriori算法进行关联分析)和第12章(使用FP-growth算法来高效发现频繁项集)。正如章节标题所示,这两章讲了无监督机器学习方法中的关联分析问题。关联分析可以用于回答”哪些商品经常被同时购买?”之类的问题。书中举了一些关联分析的例子:通过查看哪些商品经常在一起购买,可以帮助商店了解用户的购买行为。这种从数据海洋中抽取的知识可以用于商品定价、市场促

2016-12-25 16:27:07 2067 11

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

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

2016-12-24 18:19:10 1415 9

原创 机器学习(一)集成学习

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

2016-12-24 18:15:39 1341 5

原创 Scikit-learn实战之最近邻算法

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

2016-12-22 20:36:19 3469 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作为

2016-12-20 12:50:31 3622 14

翻译 Crypto++(一)Diffie-Hellman

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

2016-12-19 19:03:57 4664 12

原创 ElasticSearch Java API(二)增删改查

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

2016-12-17 18:07:30 3010 7

原创 ElasticSearch Java API(一)连接集群

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

2016-12-16 18:41:38 12032 7

原创 STL源码之红黑树

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

2016-12-16 15:30:58 993 10

原创 Java中HashSet和TreeSet的区别

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

2016-12-15 15:13:16 5960 9

原创 Java IO 之文件读写

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

2016-12-15 12:47:32 719 9

原创 复制带有random指针的单链表

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

2016-12-15 10:57:30 1100 10

原创 STL源码之Set和Map

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

2016-12-14 22:38:50 643 7

转载 Google面试题总结

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

2016-12-10 22:06:06 788 6

原创 Scikit-learn实战之线性模型

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

2016-12-10 21:15:01 1310 11

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

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

2016-12-06 19:00:09 1886 5

Isolation Forest 源码Java版

iforest算法是用于检测异常点的。对于电商、金融领域的欺诈检测应用广泛

2017-06-30

空空如也

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

TA关注的人

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