- 博客(294)
- 资源 (23)
- 问答 (7)
- 收藏
- 关注
原创 2 机器学习入门——逻辑回归第二课
我们来看看逻辑回归处理样本数据的案例,假如说要分类的样本长这样所有的数据下载地址:https://gitee.com/tianyalei/machine_learning,按对应章节查找。这是一个最简单的二维平台线性关系,数据集是data1.csv。长这个样子:a,b,result34.62365962451697,78.0246928153624,030.28671076822607,43....
2018-06-07 16:13:56 591
原创 2 机器学习入门——逻辑回归第一课
前几篇都是讲线性回归的,特点就是最终的结果是一系列的值。我们通过找到合适的方程去匹配空间中的点的分布,得到合适的模型,然后用模型对未知的数据结果进行预测。二维线性模型就像下面的图,我们需要找到这根蓝色的线的方程。现实生活中,我们还会有另一个常见的问题,就是分类。判断一个物体是大还是小,是高还是低,是不是垃圾邮件,这些都是只有2个答案的分类问题。还有一些复杂点的,有好几个答案,也适用于这种。逻辑回归...
2018-06-07 15:25:26 800
原创 1 机器学习入门——线性回归第三课
上一篇我们看到了线性回归在对多个属性建模时,能迅速给出模型预测,但很多时候效果并不太美好。毕竟方法太简单了,而且很多时候已有的属性很难拟合到一起形成比较靠谱的结果。所有的数据下载地址:https://gitee.com/tianyalei/machine_learning,按对应章节查找。再回过头来看看上个例子,创建一个能基于汽车的几个特性来推测其油耗(每加仑英里数,MPG)的回归模型(请务必记住...
2018-06-07 11:10:36 833
转载 数据预处理和weka.filters的使用
转载自:https://www.cnblogs.com/htynkn/archive/2012/04/02/weka_3.html上一篇介绍了arff格式,这是weka专有格式,一般情况需要我们从其他数据源抽取或者获得。weka支持从cvs转化,也可以从数据库中抽取,界面如下图weka安装目录有一个data目录,里面有一些测试数据,可以用于测试和学习。导入了数据仅仅是一个开始,我们还需要对数据进行...
2018-06-06 20:10:56 2970
原创 1 机器学习入门——线性回归第二课
1 house价格,多属性线性回归2 bank_data,多项式3 红酒预测线性回归可以说是最简单的机器学习入门了,上一篇我们使用了一个最简单的模型,只有一个变量,只有一次方。机器很完美的给出了模型和正确的结论。这一篇我们来看看一些复杂的情况。所有的数据多个变量线性回归人们能立即想到的一个例子就是给房子定价。房子的价格(因变量)是很多自变量 — 房子的面积、占地的大小、厨房是否有花岗石以及卫生间是...
2018-06-06 20:02:47 676
原创 Weka中分类器指标的说明
Mean absolute error 和 Root mean squared error: 平均绝对误差,用来衡量分类器预测值和实际结果的差异,越小越好。Relative absolute error 和 Root relative squared error:举个例子来说明:实际值为500,预测值为450,则绝对误差为50;实际值为2,预测值为1.8,则绝对误差为0.2。这两个数字50和0.2...
2018-06-06 16:59:54 5329 1
原创 1 机器学习入门——线性回归第一课
先来上例子吧,让我们来感受一下什么是机器学习。我们先给出一批数据,它们长这样:x,y1,22,43,64,8……此时,我们希望你能预测一下,当x是1万时,y的值。如果你具备初中以上的数学知识,聪明的你可能已经能给出答案了。是的,结果是2万。至少在这个层面,你已经超越了机器。因为你只需要看几秒,就能给出非常靠谱的预测值。这是一个非常好的开端,证明你完全具备搞定机器学习的能力。机器在看到这一堆数字时,...
2018-06-06 11:42:50 1080
原创 机器学习特征工程——给任意属性增加任意次方的全组合
在机器学习中,我们时常会碰到需要给属性增加字段的情况。譬如有x、y两个属性,当结果倾向于线性时,我们可以很简单的通过线性回归得到模型。但很多时候,线性(在数学上称为多元一次方程),线性是拟合不了结果的。往往,我们就需要在给定的几个属性上,通过增加属性来尝试能否拟合。那么原本只有两列,x、y,我们增加2次方的属性后,就会变成x、y、x^2、x*y、y^2,变成了5个属性,根据以往经验,我们知道通过这...
2018-06-05 14:01:44 1227
转载 深入理解Java之线程池
转载自:http://www.importnew.com/19011.html#comment-653957在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个...
2018-05-29 14:19:53 671
原创 10 搭建Hadoop单机环境,使用spark操作Hadoop文件
前面几篇主要是sparkRDD相关的基础,也使用过textFile来操作过本机的文档。实际应用中,操作普通文档的机会不多,更多的时候是操作kafka的流和Hadoop上文件。下面我们就在本机搭建一个Hadoop环境。1 安装配置Hadoop首先下载Hadoop的压缩包,http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.8.3/h...
2018-04-28 10:30:46 2496
原创 9 spark入门之采样、搜集部分结果sample、takeOrdered
spark提供了对结果集RDD进行随机采样,即获取一小部分数据的功能。其中有sample、takeSample、takeOrdered等方法。import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.sql.SparkSes...
2018-04-24 14:12:25 10571 1
转载 8 spark之基本的Action操作 first, take, collect, count, countByValue, reduce, aggregate, fold,top
转载自:https://blog.csdn.net/t1dmzks/article/details/70667011first返回第一个元素 scalascala> val rdd = sc.parallelize(List(1,2,3,3))scala> rdd.first()res1: Int = 1java JavaRDD<Integer> rdd = s...
2018-04-19 13:59:35 1543
转载 7 spark入门键值对操作subtractByKey, join, rightOuterJoin, leftOuterJoin
转账自:https://blog.csdn.net/t1dmzks/article/details/70557249subtractByKey函数定义def subtractByKey[W](other: RDD[(K, W)])(implicit arg0: ClassTag[W]): RDD[(K, V)]def subtractByKey[W](other: RDD[(K, W)], n...
2018-04-19 13:57:00 2468
原创 6 spark入门键值对操作sortByKey、groupByKey、groupBy、cogroup
SortByKey从名字就能看到,是将Key排序用的。如一个PariRDD-["A":1, "C":4, "B":3, "B":5],按Key排序的话就是A、B、C。注意,这个方法只是对Key进行排序,value不排序。上代码/** * 用于对pairRDD按照key进行排序 * @author wuweifeng wrote on 2018/4/18. */public class Te...
2018-04-19 10:40:57 2622
原创 5 spark入门键值对foldByKey
foldByKey函数是PairRDD<K, V>对V做合并处理,方法是这样的可以看到,第一个参数是zeroValue,这个就是用来对原始的V做合并操作的,后面的参数是一个JFunction操作。对于一个PairRDD,如Array(("A",0),("A",2),("B",1),("B",2),("C",1))进行foldByKey(2)、并且function是x+y的操作时,运
2018-04-18 17:14:53 1151
原创 4 spark入门键值对聚合操作combineByKey
combineByKey是spark中一个核心的高级函数,其他多个键值对函数都是用它来实现的,如groupByKey,reduceByKey等等。这是combineByKey的方法。可以看到主要有三个参数,后面还有分区等参数就不管了。主要来看前三个参数,分别是createCombiner,mergeValue,mergeCombiners,参数类型是JFunction(接收一个参数,返回另一个类型...
2018-04-18 15:11:18 656
转载 2 Java8对于多线程并发的一些新支持-CompletableFuture
CompletableFuture这个类是Java8提供的Future的升级版,提供了很多多线程间实用的方法。譬如一个线程完成后执行另一个,或者两个线程完成后再执行第三个,或者一个线程执行完后传递结果给下一个线程,或者两个线程同时执行、任意一个完毕后就执行第三个而不等待另一个等等。前面有一篇使用Disruptor的例子,也是完成多线程间的协同、并发等功能的。这两个能完成的功能有很多比较类似,但本质...
2018-04-17 16:21:10 7919
原创 1 Java8对于多线程并发的一些新支持-LongAdder
我们知道AtomicLong、AtomicInteger是基于硬件级别cas实现的保证线程安全的自增类,能保证原子化的自增操作。在多线程下,性能远好于加锁synchronized。AtomicLong的实现是当多线程并发自增、自减时,通过cas指令从机器指令级别操作保证并发的原子性。制约性能的是高并发时cas失败几率会变高。失败后会重试,越多线程失败、越多次重试,失败几率就会更高,性能就会下降。J...
2018-04-17 12:49:09 2440
原创 3 Spark入门distinct、union、intersection,subtract,cartesian等数学运算
这一篇是一些简单的Spark操作,如去重、合并、取交集等,不管用不用的上,做个档案记录。distinct去重import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.sql.SparkSession;import jav...
2018-04-16 10:18:29 2380
原创 使用Java开发一个做数据共享的联盟链思路
起因公司要开发区块链,原本是想着使用以太坊开发个合约或者是使用个第三方平台来做,后来发现都不符合业务需求。原因很简单,以太坊、超级账本等平台都是做共享账本的,有代币和挖矿等模块。而我们需要的就是数家公司组个联盟,来共同见证、记录一些不可篡改的交互信息,如A公司给B公司发了一个xxx请求,B公司响应了什么什么。其实要的就是一个分布式数据库,而且性能要好,不能像比特币那种10分钟才生成一个区块。我们要...
2018-04-16 09:46:53 4472 1
转载 Spark——RDD操作详解
转载自:https://blog.csdn.net/zhaojw_420/article/details/53261965一、基本RDD 1、针对各个元素的转化操作 最常用的转化操作是map()和filter()。转化操作map()J接收一个函数,把这个函数用于RDD中的每一个元素,将函数的返回结果作为结果RDD中对应元素。而转化操作filter()则接收一个函数,将RDD满足该函数的元素放入新的...
2018-04-13 11:31:15 10308
原创 2 Spark入门reduce、reduceByKey的操作
上一篇是讲map,map的主要作用就是替换。reduce的主要作用就是计算。package reduce;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;import...
2018-04-13 11:22:32 26548
原创 1 Spark入门各种map的操作,java语言
Spark基本操作主要就是各种map、reduce,这一篇从各种map开始。由于scala不熟悉,而且语法太精简,虽然代码量少了,但是可读性差了不少,就还是用Java来操作。直接开始上代码了,注意,如果只是本地测试spark的各种api的使用,是不需要下载安装任何spark、Hadoop的。直接引入maven依赖就可以了。新建一个java的maven项目,pom中引入spark的依赖。<?x...
2018-04-12 15:46:21 9970 4
原创 使用Java开发一个自己的区块链产品、联盟链
开源地址:https://gitee.com/tianyalei/md_blockchainhttps://gitee.com/tianyalei/md_blockchain_managerJava区块链平台,基于Springboot开发的区块链平台。区块链qq交流群737858576,一起学习区块链平台开发,当然也交流Springboot、springcloud、机器学习等知识。起因...
2018-04-11 17:07:30 24447 6
原创 使用Disruptor完成多个消费者不重复消费消息
上一篇https://blog.csdn.net/tianyaleixiaowu/article/details/79787377里讲了Disruptor完成多个消费者并行、顺序重复消费Event。重复消费类似于kafka中,同一个topic被不同的group的消费者消费。这样的场景比较常见。当然更常见的场景是不重复消费,也就是一个消息只能被消费一次。Disruptor同样可以完成不重复消费的功能...
2018-04-08 10:38:13 8705 1
转载 深入浅出以太坊MPT(Merkle Patricia Tree)
转载自:https://blog.csdn.net/qq_33935254/article/details/555054721 Trie树 Trie树,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情...
2018-04-04 15:48:41 852
原创 使用Disruptor完成多线程下并发、等待、先后等操作
Java完成多线程间的等待功能:场景1:一个线程等待其他多个线程都完成后,再进行下一步操作(如裁判员计分功能,需要等待所有运动员都跑完后,才去统计分数。裁判员和每个运动员都是一个线程)。场景2:多个线程都等待至某个状态后,再同时执行(模拟并发操作,启动100个线程 ,先启动完的需要等待其他未启动的,然后100个全部启动完毕后,再一起做某个操作)。以上两个场景都较为常见,Java已经为上面的场景1和...
2018-04-02 13:35:30 8679
转载 高性能队列Disruptor的使用
转载自:https://blog.csdn.net/nuaazhaofeng/article/details/72918467一、什么是 Disruptor从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。可以拿 JDK 的 BlockingQueue 做一个简单对比,以便更好地认识 Disruptor 是什么...
2018-03-29 11:39:27 800
原创 2 监听mysql表内容变化,使用canal
mysql本身是支持主从的(master slave),原理就是master产生的binlog日志记录了所有的增删改语句,将binlog发送到slave节点进行执行即可完成数据的同步。canal是阿里开源的一个中间件,它就是通过解析binlog来完成数据变更的监听的。https://github.com/alibaba/canal可以看到,canal是这样工作的:canal有一个server工程,...
2018-03-22 20:19:07 18695 5
原创 1 监听mysql表内容变化,mysql开启binlog
binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的增、删、改语句。通过binlog日志我们可以做数据恢复,做主从复制等等。可以看到,只要有了这个binlog,我们就拥有了mysql的完整备份了。我们时常会碰到这样的需求,就是要监听某个表的变化,然后来做一些操作。如果该表数据只增加、不删除修改的话,要监听比较简单,可以定时去查询最新的id即可。但要有删除、修改操作...
2018-03-22 14:33:52 10565
原创 Springboot2.0中Hibernate默认创建的mysql表为myisam引擎问题
升级到Springboot2.0后,依然是使用jpa、Hibernate来操作mysql,发现Hibernate默认创建的表是myisam引擎,而不是innodb。添加下面的方言即可修改为innodbspring: jpa: database: mysql show-sql: true hibernate: ddl-auto: update na...
2018-03-07 11:06:25 12069 4
原创 Springboot集成sqlite数据库,并使用jpa、Hibernate操作sqlite
之前举例使用jpa、Hibernate多是以mysql为例,这次因为需要使用一个内嵌式数据库,选择了sqlite,网上多是讲一些sqlite的api封装的框架。这里我们还是使用jpa、Hibernate来操作sqlite。新建一个Springboot项目,pom如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="ht...
2018-03-05 14:55:00 24004 2
原创 Springboot中Hibernate根据表名获取model类
需求是:知道表名,需要获取到该表对应的实体类。为毛有这么奇怪的需求呢,是这样的,在别的文件里,存放了数据表名,和一条数据的json串。我需要根据这些信息,将这条数据通过Hibernate插入到库里。我知道了json串,但不知道把它转成什么样的实体类,所以我需要表名对应的class信息。有了class,就可以使用json工具类将字符串转成对象了。就是这么个功能,方法很简单:@Bean pub...
2018-03-02 17:38:02 3774 1
转载 以太坊Merkle tree学习
转载自:http://www.cnblogs.com/fengzhiwu/p/5524324.html/*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是很深入,如果有不对的地方,希望各位大神指正*/Merkle Tree概念 Merkle Tr...
2018-02-28 10:09:09 1579 1
转载 区块链是什么
作者:maxdeath链接:https://www.zhihu.com/question/37290469/answer/167477833来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先要搞清一个问题——比特币是区块链,但是区块链并不是比特币。于是,在区块链的这个问题回答里,提到“矿工”,“挖矿”,“最长链”,“分叉”等等词的,其实都不准确。写一点上个月讲课的内...
2018-02-26 12:12:22 608
转载 区块链共识算法
转账自:https://mp.weixin.qq.com/s/Dnwdapt0zTZs04hbw0M_KQ首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。1.pow( Proof of Work)工作量证明一句话介绍:干的越多,收的越多。依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算...
2018-02-12 15:03:46 2398
原创 公司该如何创建适合自己的区块链产品、联盟链、私链
现在区块链是非常火的,很多公司都想蹭一把区块链,不管实际作用大不大,也要往区块链上靠一靠。那么这就难为了广大的技术开发人员,如何在完全不了解区块链的情况下,迅速为公司开发出区块链产品呢?区块链基础架构模型简单来总结区块链就是,这是一个数据库,与传统数据库区别最大的点是,传统数据库由一个中心来管理维护,所有人都是这个中心来做增删改查;而区块链则是每个节点都有一个数据库的完整备份,即所谓的去中心化。这...
2018-02-11 11:27:13 9736
转载 分布式框架: Zookeeper与paxos算法
本文转载自:https://www.cnblogs.com/aspnethot/articles/3533956.html一、 zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好抽象,我们改
2018-02-05 14:11:18 516
转载 Raft 为什么是更易理解的分布式一致性算法
转载自:https://www.cnblogs.com/mindwind/p/5231986.html 感谢原作者的通俗解说一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前。拜占庭将军问题Leslie Lamport 在三十多年前发表的论文《拜占庭将军问题》(参考[1])。拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防
2018-02-05 13:09:40 448
转载 logback通过kafka接入ELK详解
原文链接:http://blog.csdn.net/zhangruhong168/article/details/76973212数据流向图示参考(图片来自百度以图搜图,向原作者致敬)开发人员如何使用elk开发人员需要做的就是将日志信息通过各种渠道发到kafka,本实例以logback为例进行说明,其他接入方式请自行搜索。请先行准备好可以正常使用的已经接入logback的系统,==如果你没有准备好
2018-01-25 17:28:00 1861
java反编译工具jad
2012-11-10
音乐播放器java制作
2012-11-07
ElasticSearch怎么做查询某个字段大于某个值的查询
2017-09-20
问一个使用hibernate对表排序的问题
2016-10-25
javaweb大神请进,如何在struts的一个action里处理多个数据操作逻辑
2016-07-15
求一个富文本编辑器,生成的网页能在手机上适配。不需要在电脑上适配
2016-06-08
服务器上tomcat需要更新程序时,大家是怎么办的,直接关闭tomcat重启吗?
2016-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人