- 博客(207)
- 资源 (7)
- 收藏
- 关注
原创 【分类】朴素贝叶斯算法学习
有一段时间没有推演算法了,用分类算法里据说挺简单的朴素贝叶斯来练习一下。朴素贝叶斯公式如下: P(C/W) = P(C) * P(W/C) / P(W)C:类别W:文章公式左侧:P(C/W) : 某文本属于某类别的概率公式右侧:P(C):先验概率,某个类别的文本数 / 总文本数。
2016-07-27 18:28:00 556
转载 阿尔法狗原理解析
最近在看机器学习,妈妈在旁边一直催我说做一个股票走势预测模型,准备后面满足她的想法做一个纯好玩的小作业。回到正题,转一篇不错的阿尔法狗原理解析。作者:袁行远链接:https://www.zhihu.com/question/41176911/answer/90118097来源:知乎著作权归作者所有,转载请联系作者获得授权。左右互搏,青出于蓝而胜于蓝?—阿
2016-07-27 11:54:02 45025 6
原创 【并发】ThreadLocal源码浅析
最近被安利了ThreadLocal这个东西,认真看看源码是怎么回事。先上结论:ThreadLocal我理解就是一个线程本地变量,某个字段如果是用ThreadLocal封装起来的话,这个字段在被不同线程访问的时候每个线程会得到一个本线程独有的副本。各个线程读写的都会是自己的副本,互不影响。某个线程死亡时,它拥有的ThreadLocal对象副本会立刻被回收。
2016-07-26 16:05:15 580
转载 虚拟机中的锁优化简介(适应性自旋/锁粗化/锁削除/轻量级锁/偏向锁)
前天被问到Java中的Synchronize是怎么实现的,一直没有看这个知识点。现在补上。高效并发是JDK 1.6的一个重要主题,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁削除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Lo
2016-07-21 15:18:36 905
原创 【开源】Time-NLP 中文语句中的时间语义识别
Time-NLP中文语句中的时间语义识别author:shinykegithub地址:https://github.com/shinyke/Time-NLP/本工具是由复旦NLP中的时间分析功能修改而来,做了很多细节和功能的优化,具体如下:泛指时间的支持,如:早上、晚上、中午、傍晚等。时间未来倾向。 如:在周五输入“周一早上开会”,则识别到下周一早上的时间;在下午17点
2016-07-18 14:51:38 9527 4
原创 sql注入工具试用 - 先看看help
>python sqlmap.py -hh _ ___ ___| |_____ ___ ___ {1.0.6.63#dev}|_ -| . | | | .'| . ||___|_ |_|_|_|_|__,| _| |_| |_| http://sqlmap.orgUsage: sqlmap.py [opti
2016-06-28 16:10:55 1336
原创 【ElasticSearch】 QueryString查询中文歧义词异常问题解决
目前文档存储和查询使用的是IKAnalyse分词,IK这种分词算法对于歧义的处理比较完善,比如:”光远大厦“,会分割成”光”,“远“,”远大“,”大厦“。也就是说,它几乎把可能的分词都提供了,这大大提高了用户搜到自己想要的文章的命中率。但今天发现一个问题,在使用queryString来查询这类歧义词的时候,经常会找不到:"query_string": {
2016-01-24 17:30:07 3848
原创 hadoop本地任务运行过程报临时文件找不到问题排查
10个节点的Hadoop集群在使用mahout做大量的数据分析一段时间后,开始报如下错误:[2015-12-31 10:07:31,440] [INFO ] pool-5-thread-3 SparseVectorsFromSequenceFiles - Maximum n-gram size is: 1[2015-12-31 10:07:31,440] [INFO ] pool-5-thr
2016-01-11 18:12:17 9968
原创 windows环境编译mahout0.11
1. 下载mahout0.11 (在apache官网下载或用git下载)git clone https://github.com/apache/mahout.git2. 解压进入目录,因为我的hadoop环境版本为2.6.0所以使用以下语句编译:mvn clean package -Dhadoop2 -Dhadoop2.version=2.6.0 -DskipTests=true
2016-01-11 14:08:56 932
转载 开源中国Maven镜像配置
最近时间段在弄maven的项目,发现在下载插件或依赖包时总是超时,经检查发现为连接国外网站时网速特慢,于是想找一个国内的镜像。经过谷歌之后发现了开源中国的镜像,速度还不错,于是记录下来,作为备忘。参考配置示例如下:Xml代码 mirrors> mirror> id>nexus-oscid> mirrorOf>centralmirrorOf>
2016-01-07 15:32:16 1092
转载 Hadoop优化清理本地temp临时文件方式
当launch一个job到hadoop 集群,hadoop集群中的 TaskTracker(TT),在从一次heartbeat中接收到 JobTracker(JT)的cmd后,TT会在自己本地机器上运行一些task进程,以完成这个job的某些部分的数据 处理。在task运行过程中,或者 运行完成后,总是会或多或少的产生一些中间结果,或者jobCache的数据,这些数据通常都需要向TT的本地文件
2016-01-07 09:13:12 7207
原创 在应用中嵌入使用Mahout,实现Kmeans聚类(非打包jar运行模式)
最近在项目中要使用Mahout来进行Kmeans聚类,搜了一下资料,发现大多数都是用hadoop jar的形式运行Mahout程序。我们的项目是一个后端接口服务,也就是需要放在resin或tomcat中运行的war程序。这就不可能打包成jar,用hadoop jar这种粗糙的形式来跑了。 hadoop之所以需要我们把程序打包成jar,是因为他需要把我们的程序分发到各个分布式节点中跑
2016-01-06 18:17:57 1849
转载 用 WEKA 进行数据挖掘,第 2 部分: 分类和群集
Michael Abernethy, 产品开发经理, Optimal Auctions简介: 数据挖掘是很多技术的共同术语,用以表达从数据中一点点地收集信息并将其转变成有实际意义的趋势和规则来提高您对数据的理解。在本系列 “用 WEKA 进行数据挖掘” 的第 2 部分我们将讨论两种最常见的数据挖掘方法 — 分类和群集 — 利用它们可以对您的数据进行更强大的分析。查看
2015-12-16 15:42:22 762
原创 Mahout解决异常Not implemented by the DistributedFileSystem FileSystem implementation
今天在项目中使用mahout的过程中,遇到了这个异常:[14:43:13.059] [2015-11-24 14:43:13,058] [INFO ] resin-port-8080-23 AbstractJob - Command line arguments: {--charset=[UTF-8], --chunkSize=[64], --endPhase=[2147483647], --
2015-11-24 14:56:26 1768
原创 【用户行为分析】 用wiki百科中文语料训练word2vec模型
前言 最近在调研基于内容的用户行为分析,在过程中发现了word2vec这个很有帮助的算法。word2vec,顾名思义是将词语(word)转化为向量(vector)的的工具。产自Google,于2013年开源。在向量模型中,我们可以做基于相似度(向量距离/夹角)的运算。在模型中向量的相似度即对应词之间语义的相似度,简单来说,就是两个词在同一个语义场景出现的概率。比如, 我们向模型输入
2015-11-06 16:46:43 17074 16
原创 windows/linux 安装gensim简易方法
为了使用wiki百科来训练模型( 中英文维基百科语料上的Word2Vec实验 )我需要安装python和gensim。在gensim安装上用了两三天还没装好,一开始是在服务器上装,各种教程都试了个遍还是不行,后来在我本机windows上装,也是各种坎坷。最后找到正确的方法,其实只需要两步:1. 安装Anaconda这是一个科学计算环境,会帮你把很多依赖装起来。
2015-10-26 15:53:18 19486 6
转载 Mahout学习路线图
Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。从201
2015-10-13 18:06:21 616
转载 淘宝京东类电商评论标签化的思路
最近发现京东的评论也开始标签化了,虽然相对于淘宝的标签显得比较生硬,但是也可以看出标签化是评论的一个趋势,我个人比较喜欢看评论说话,作为一个IT工作者,曾经思考了下评论的标签化工作可能涉及的技术,正好微博有人问起,现在简单的整理如下。 评论标签化的作用 评论的标签化的作用首先体现在用户体验好了,相对于看评论,标签可读性更好,更加明了,用户一眼便能看出好坏,当然电商是不会把坏的结
2015-10-13 18:02:31 4457 1
原创 【用户行为分析】【Mahout】调研学习之一:分析算法简要总结
引言:Mahout是什么Mahout是Hadoop家族中与众不同的一个成员,是基于一个Hadoop的机器学习和数据挖掘的分布式计算框架。Mahout是一个跨学科产品,同时也是我认为Hadoop家族中,最有竞争力,最难掌握,最值得学习的一个项目之一。Mahout为数据分析人员,解决了大数据的门槛;为算法工程师,提供基础的算法库;为Hadoop开发人员,提供了数据建模的标准;为运维人员,打通了和Hado
2015-10-13 17:58:44 1738
转载 word2vec使用指导
word2vec是一个将单词转换成向量形式的工具。可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。一、理论概述(主要来源于http://licstar.net/archives/328这篇博客)1.词向量是什么自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化。 NLP 中最直观,也是到目前
2015-10-09 09:41:14 1356
原创 Elasticsearch:Elasticsearch基础上构建推荐引擎 资料收集
1. 深入了解推荐引擎组件(基于Apache Mahout和Elasticsearch)http://www.csdn.net/article/2015-05-14/2824676ES+mahout机器学习做用户筛选、分类和推荐。
2015-09-15 10:01:50 3667
转载 JAVA之JDK在64位系统默认开启压缩指针分析
JAVA之JDK在64位系统默认开启压缩指针分析(请多多指正!) Sun的HotSpot VM从JDK5开始会根据运行环境来自动设定VM的一些参数(ergonomics)。其中大家最熟悉的可能是它会自动选择client与server模式、堆的初始和最大大小等。事实上ergonomics会设置非常多的内部参数,包括自动选择GC算法、并行GC的线程数、GC的工作区分块大小、对象晋升阈值等
2015-09-07 11:01:16 3476 1
原创 Elasticsearch:在搜索引擎中如何实现完全匹配(内容精确匹配)查询
本文地址:在有搜索引擎之前,我们查文档常使用顺序匹配。比如要搜索 "我的祖国是花园",需要在文档中顺序扫描,找到完全匹配的子句。在有了搜索引擎后,我们对查询语句做的处理就不一样了。我们通常会先分词,然后查找对应的词条索引,最后得到评分由高到低的文档列表。我一度以为没法实现完全匹配了,直到一个硬需求的出现。花了一天时间,把完全匹配用搜索引擎的思维整理出来。简要描述实现思路
2015-08-25 17:38:51 70696 2
转载 elasticsearch手动控制分片分布
elasticsearch可以通过reroute api来手动进行索引分片的分配。不过要想完全手动,必须先把cluster.routing.allocation.disable_allocation参数设置为true,禁止es进行自动索引分片分配,否则你从一节点把分片移到另外一个节点,那么另外一个节点的一个分片又会移到那个节点。 一共有三种操作,分别为:移动(move),取消(canc
2015-08-14 17:21:52 1956
转载 BSON与JSON的区别
BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。BSON主要会实现以下三点目标:1.更快的遍历速度对JSON格式来说,太大的JSON结构会导致数据遍历非常慢。在JSON中,要跳过一个文档进行数据读取,需要对
2015-08-14 10:49:42 1222
原创 ElasticSearch:为中文分词器增加对英文的支持(让中文分词器可以处理中英文混合文档)
当我们使用中文分词器的时候,其实也希望它能够支持对于英文的分词。试想,任何一个存储文字的字段都有可能是中英文夹杂的。我们的项目中使用IKAnalyzer作为中文分词器,它在处理文档过程中遇到英文时,利用空格和标点将英文单词取出来,同时也会对其转全小写处理。其实这和真正的英文分词已经很接近了,只有一墙之隔:词干提取。一个真正的英文分词器除了
2015-08-12 12:19:20 16755 1
原创 Elasticsearch:用Curator辅助Marvel,实现自动删除旧marvel索引
Marvel几乎是所有Elasticsearch用户的标配。以前我常用bigdesk来做ES集群的监控,直到项目需要上线时,方感觉到marvel才是想要的:它可以把观测值和重要事件记录下来!当出问题时打开bigdesk已经迟了,因为我们往往想知道过去的两小时发生了什么造成现在的情况。marvel则不同,它时刻保留观测数据。Marvel保留观测数据的代价是,它默认每天会新建一个index
2015-08-11 18:29:53 5860 1
转载 为ElasticSearch添加HTTP基本认证(head,bigdesk等插件增加登陆机制)
为ElasticSearch添加HTTP基本认证ES的HTTP连接没有提供任何的权限控制措施,一旦部署在公共网络就容易有数据泄露的风险,尤其是加上类似elasticsearch-head这样友好的前端界面,简直让你的数据瞬间裸奔在黑客的眼皮底下。项目上线前做十万伏特的防护当然不现实,但至少,我们不要裸奔,穿一套比基尼吧。而做一个简单的HTTP认证并不需要从头造轮子,elasticsearc
2015-08-10 11:19:10 8903
原创 ElasticSearch:Nginx可以给ElasticSearch集群带来什么福利?
在高并发的情况下,我们可以采用nginx反向代理负载均衡到多台Elasticsearch 服务器上。架构图:那么使用nginx有什么好处呢?1. 记录每个API访问请求的日志。(ElasticSearch本身不支持这个功能,只有slowLog和服务日志)2. 支持大量的客户端连接。ES官方的blog中推荐使用keep-alives,在nginx和ES之间使用长连接。
2015-08-05 18:04:02 6259
转载 Elasticsearch 集群版本升级步骤及注意事项
1、升级前的准备工作从Elasticsearch 的官方网站 https://www.elastic.co/downloads/elasticsearch 下载最新版本的Elasticsearch,为了线上方便对数据包的管理,一版选择 .gz.tar 格式或者 .zip 格式文件。 解压缩最新版本文件压缩包到指定目录,备份 config 目录中的 elast
2015-08-05 10:03:13 3891
转载 Nginx自定义模块编写:根据post参数路由到不同服务器
Nginx可以轻松实现根据不同的url 或者 get参数来转发到不同的服务器,然而当我们需要根据http包体来进行请求路由时,Nginx默认的配置规则就捉襟见肘了,但是没关系,Nginx提供了强大的自定义模块功能,我们只要进行需要的扩展就行了。我们来理一下思路,我们的需求是:Nginx根据http包体的参数,来选择合适的路由在这之前,我们先来考虑另一个问题:在Nginx默认配置的支
2015-07-31 14:58:12 3103
转载 ElasticSearch:版本冲突处理(事务控制)
处理冲突当你使用索引API来更新一个文档时,我们先看到了原始文档,然后修改它,最后一次性地将整个新文档进行再次索引处理。Elasticsearch会根据请求发出的顺序来选择出最新的一个文档进行保存。但是,如果在你修改文档的同时其他人也发出了指令,那么他们的修改将会丢失。很长时间以来,这其实都不是什么大问题。或许我们的主要数据还是存储在一个关系数据库中,而我们只是将为了可以搜索,才将这些数据
2015-07-06 10:18:09 4163 1
原创 ElasticSearch:从[FIELDDATA]Data too large错误看FieldData配置
产生Data too large异常再尝试其他查询也是如此经排查原来是ES默认的缓存设置让缓存区只进不出引起的具体分析一下 ES缓存区概述FieldData1 监控FieldData2 Cache配置3 FieldData格式断路器总结1. 产生Data too large异常今早运行查询时,ES返回了如下报错:{ "error": "... CircuitBreakingE
2015-07-06 10:10:03 26049 6
转载 Google Java编程风格指南
作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言源文件基础源文件结构格式命名约定编程实践Javadoc后记前言这份文档是G
2015-06-23 09:22:49 745
翻译 ElasticSearch:堆大小与swap设置
译自ES官方对于JVM参数的建议,原文见: https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html目录1堆空间的配置方法2把内存留一半给Lucene3别超过32GB!4swap(交换区)是性能终结者
2015-06-17 14:16:39 6796
转载 通信协议与序列化方案的纠结: Protocol Buffer, thrift or hessian?
原地址:通信协议与序列化方案的纠结: Protocol Buffer, thrift or hessian?最早我用hessian作为java搜索服务中的通信协议和序列化方案。松耦合,部署,调用方便。这两年很多人跟我提起protocol buffer,thrift。特别是最近从不少地方的信息看到很多地方在用,也找到一些改用protocol buffer或者apache thri
2015-06-16 09:33:05 2817
原创 Gmail架构相关资料收集
Want to know how Gmail works - and whether it will work?想知道Gmail是怎么工作的吗?未来的它会如何发展?简要描述: Gmail限制每个免费用户只拥有1GB(注:现在是15GB了)的邮箱容量,算上冗余和索引,每百万用户需要2.5PB的存储。 然而,实际上并不需要这么多:Gmail采
2015-06-04 11:19:56 1651
原创 ElasticSearch:一个物理节点上应该有多少个分片?
一个物理节点上应该有多少个分片?ES官方给予的回答是:每个分片都是一个Lucene实例,它会消耗相应的CPU,IO,内存,文件描述符等等。所以我们应该让每台机器上的分片数尽量的少,如果你是一个RDBMS使用者,你也不希望在一台物理机上部署多个数据库,不是吗?从我的理解上看,分片数和横向拓展性是相关的,分片数多的话,比较便于横向拓展——有新服务器来的时候,我们有多余的
2015-06-04 09:08:07 7186
翻译 ElasticSearch硬件使用说明
译自ES官方对于硬件设备的说明,原文见: [https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html]当你准备把ElasticSearch部署到生产服务器上的时候,这里有一些建议可供你参考。没有什么硬性的规则,ElasticSearch可以在很广泛的应用场景中使用,也可以在各种机器上跑起来。但
2015-06-03 12:12:03 2598
Efs(Ext上二次开发,标签形式使用Ext) Demo官方项目实例
2012-04-07
Efs(Ext上二次开发,标签形式使用Ext) API文档
2012-04-07
EfsFrame框架(EXT上二次开发)源代码
2012-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人