java
文章平均质量分 67
旭旭_哥
码农一枚
展开
-
用java编编程自由落体走过的路程及三木运算例子
一个求从100米的高度自由落下,每次落地的后反弹回来的是原来高度的一般,再次落下,求它在第10次落地后经过多少米,第10次反弹的多高:这些小问题适合练练手,熟悉一下java:package excise;public class T009 { public static void main(String args[]){ double h=100,s=0; for(int原创 2015-10-31 13:40:29 · 1357 阅读 · 0 评论 -
java手写逻辑回归包括L1,L2正则实现
作为一枚机器学习的爱好者,逻辑回归算是一个简单入门的算法,原理比较简单,但是自己手动实现逻辑回归有一些要注意的事项:第一是步长选择的问题,根据你的数据大小来选择。第二是自己手动可选择加不加入常数项,用于做训练。第三是实际写代码用的梯度上升代码来求解,算法原理建议使用梯度下降,但是工程为了方便用梯度上升来求解。第四是正则化问题,可以选择L1、L2正则来实现你的代码。第五是终止条件原创 2016-12-19 13:44:54 · 2727 阅读 · 2 评论 -
求一个字符串中最长重复的长度,以010101010101为例子
一个朋友突然叫我写这个需求,网上查看了下别人代码,复杂度都是O(n平方),感觉明显不想,想了半天自己写了个复杂度为O(n),看下面代码:package com.wanda.beam;public class PipelineOptionTest { public static void main(String args[]){ String str="0101010101原创 2017-02-09 23:20:32 · 1687 阅读 · 0 评论 -
数组中部分有序数据查找某个数
今天一哥们去美团面试碰到个面试题目,来咨询我,题目大概思想是一个有序的数组,把前面有序的一部分放到数组后面,是整个数组变成部分有序,也就是先递增,中断,然后再递增:具体如下: 本来是 2 5 9 11 12 15 16 ,现在把最后的几个放在前面,就出现 12 15 16 2 5 9 11 这样的了判断某个数字在不在数组中 ,不接受复杂度高于O(N原创 2016-12-20 22:42:55 · 2752 阅读 · 0 评论 -
多项式和伯努利朴素贝叶斯文本分类模型 java实现
话说最近要写个文本分类的项目,然后嵌套到系统里面去,打算用spark,发现rdd并不好存储,自己写了个来实现吧,原理主要参考:http://blog.csdn.net/cxmscb/article/details/69267326http://blog.163.com/jiayouweijiewj@126/blog/static/1712321772010102802635243/原创 2017-04-10 13:39:57 · 1618 阅读 · 0 评论 -
多项式朴素贝叶斯文本分类 java
今天可忙活了一天,从写朴素贝叶斯算法到模型存储,到测试数据模评估,具体来看看代码我用的数据,用ansj分词,去停顿词 ,最后的文本结构如下:(-1,技术 特别 特别 神奇 师傅 环境 特别 优雅 下次 再来)(-1,技师 按摩服务 专业 舒服 太爽啦)(-1,美女服务 明晚 光顾)(-1,服务态度)(-1,谢谢 好吃 嘎嘎嘎嘎)(-1,服务态度 菜品)(原创 2017-04-10 17:39:08 · 1329 阅读 · 1 评论 -
deeplearning4j之GloVe实现实现
glove类似于word2vec,听说效果还比word2vec更加强大,可以用于做自然语言处理,正好学习deeplearning4j的时候看到了,顺便写在这,文章用到的数据跟上一篇word2vec一样,看看效果吧,训练时间比word2vec要长太多,代码如下:package com.meituan.deeplearning4j;import org.datavec.api.util.C原创 2017-04-17 19:46:59 · 1850 阅读 · 2 评论 -
隐马尔科夫模型java实现
上周微信公众号推荐了一篇文章叫隐马尔科夫中文词的文章,原文http://blog.csdn.net/u014365862/article/details/54891582大概了看了下,讲的通俗易懂,这周还很忙,一直在做crf模型,周五比较闲,明天也五一,花了一下午的时间写了下代码实现隐马尔科夫模型,代码中最好是用对手的形式,hmm一旦长了,数字变小,会产生问题,我看了下hanlp的hmm分原创 2017-04-28 17:32:45 · 3489 阅读 · 1 评论 -
java批量生成sqoop任务
用java写了类,用于批量生成sqoop脚本任务,sqoop一行行的写不得不说很累,现在有这东西,看看吧:package data.clear;import java.io.File;import java.io.IOException;import java.util.Date;import java.util.List;import org.apache.commons原创 2016-01-04 14:02:07 · 1436 阅读 · 0 评论 -
java二分查找
话说前天去大众点评面试,叫我写个二分查找的问题,当时很快就写出来了,记得还问了个伯努利分布问题,再到昨天去参加他们的在线笔试,由于我不是计算机出身的,大众点评的笔试题目全部是数据结构方面的问题,什么二叉树,红黑树,路径搜索,反正就被虐的很惨,不多说了,看看二叉查找的代码:package excise;import java.util.Random;import java.原创 2015-11-04 09:59:11 · 626 阅读 · 0 评论 -
java中的Arrays类
在java.util.Arrays中,这个类中包含了一些比较有趣而且使用的方法,具体来看看把把数组转化为String类型打印出来:package excise;import java.util.Arrays;public class test { public static void main(String args[]){ int intArray[]={1,2,3,4,5原创 2015-11-01 20:45:57 · 558 阅读 · 0 评论 -
java中猴子吃桃子的问题和求分数序列和的问题
一只猴子第一天窄了n多的桃子,当即吃了一半,觉得不过瘾,还多了吃了一个,第二天又吃了当天的剩下的一般,觉得不过瘾,又多吃了一个,等到第10天的时候,再吃时候,只发现剩下了一个桃子,求猴子当天摘了多少桃子:package excise;public class T013 { public static void main(String args[]){ int x=1; f原创 2015-10-31 14:42:40 · 1149 阅读 · 0 评论 -
java中输入一行字符,分别统计英文字母、空格、数字的个数
题目是在java学习宝典上看到的,下面试图编出来:package excise;/*输入一行字符,分别统计出其中英文字母 、空格、数字的个数*/import java.util.Scanner;public class T007 { public static void main(String args[]){ int num=0,chartra=0,blak原创 2015-10-31 11:34:43 · 16823 阅读 · 1 评论 -
输入三个数,请把这三个数由小到大的排列
就当用来复习一下java中的类集合把,也可以起其他的方式来实现,这种东西比较简单:package excise;import java.util.List;import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class T012 { public sta原创 2015-10-31 14:39:24 · 1062 阅读 · 0 评论 -
java中给出一个不多于5位数的正整数,要求,第一是求出它是第多少位的,逆序打印出各位数字
java中给出一个不多于5位数的正整数,要求,第一是求出它是第多少位的,逆序打印出各位数字:这代码应该很好实现,简单的实现下:package excise;import java.util.Scanner;public class T015 { public static void main(String args[]){ System.out.println("请输入一个数小于原创 2015-10-31 15:00:52 · 7935 阅读 · 0 评论 -
编写一个函数,当n为偶数的时候,输入n偶数是调用1/2+1/4........当n为奇数的时候调用1/1+1/3+1/5
通用的题目还是很加单的 ,具体看看代码怎么实现把:package excise;public class T016 { public static void main(String args[]){ caculate(3); } public static void caculate(int n){ double sum=0; if(n%2==0){ for(int原创 2015-10-31 15:20:53 · 2310 阅读 · 0 评论 -
java中对数组转置
无论在python和R中转置都很简单,在java中转置,暂时也找不到现成的函数下面根据转置的原理简单的实现试试,package excise;import java.util.Random;import java.util.Arrays;public class T019 { public static void main(String args[]) { Random t原创 2015-11-01 21:39:17 · 3873 阅读 · 0 评论 -
java中的快速排序实现
快速排序顾名思义,其特点就是快,时间复杂度很低,能迅速的排序,看看在java中怎么实现的:package excise;import java.util.Arrays;public class T017 { public static void main(String args[]) { int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78,原创 2015-11-01 22:08:48 · 542 阅读 · 0 评论 -
java中的插入排序实现
java中插入排序,就是每次选取其中的一个最小值插入到相对应的位置:看看效果把package excise;import java.util.Arrays;public class test { public static void main(String args[]){ int temp[]={20,1,40,8,9,5,60};// insersort原创 2015-11-01 21:20:14 · 390 阅读 · 0 评论 -
神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
题目是另外一个博客上看到的,但是实现方式跟他不一样,具体来看看怎么实现把package excise;public class T018 { public static void main(String args[]){ for(int i=100;i<1000;i++){ int a=i/100; int b=(i/10)%10; int c=i%10;原创 2015-11-01 21:22:41 · 3354 阅读 · 0 评论 -
deeplearing4j学习之矩阵学习
最近要学习deeplearning4j,先看了下矩阵情况学习,先看下创建矩阵的情况:package com.meituan.nd4jexcise;import java.util.Arrays;import org.nd4j.linalg.api.ndarray.INDArray;import org.nd4j.linalg.factory.Nd4j;public class Nd4j原创 2017-04-14 17:49:06 · 1545 阅读 · 0 评论 -
deeplearning4j之word2vec学习
在deeplearning4j下训练word2vec模型还是比较简单的,先看下依赖情况: UTF-8 0.7.1 0.7.1 0.7.1 2.10 org.nd4j nd4j-native ${nd4j.version} org.deeplearning4j deeplearning4j-core ${d原创 2017-04-14 17:55:14 · 5429 阅读 · 4 评论 -
lightgbm java加载模型
先占个坑吧,用lightgbm训练了下之前用于xgboost模型的文本数据,确实快了很多,对于生成的模型,无论是利用c++还是python ,生成的模型都是一样,现在要利用java来加载模型,之前看到csdn上一篇博客http://blog.csdn.net/lyg5623/article/details/72779251 提到加载模型来做predict,但是由于lightgbm版本更新对于生成原创 2017-06-12 23:11:29 · 3813 阅读 · 1 评论 -
卷积文本分类(gpu)实现--deeplearning4j
前面介绍用卷积训练文本分类模型,但是算法是cpu上跑的,涉及到大数据,cpu上是跑不动的,代码在之前的博客里面可以看到,本博客主要记录在gpu上跑碰到的坑。报错如下:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/deeplearning4j/parallelism/Par原创 2017-07-14 13:07:44 · 2745 阅读 · 1 评论 -
tensorflow训练好的模型中java调用
最近基于bi-lstm做了一个辱骂识别模型准备部署到线上,之前打算用python 启动一个service 通过http请求来调用,发现公司平台是基于rpc服务的,开发部署起来也较蛋疼,今天下午闲来没事,看到tensorflow中有提供官方例子,通过python中训练好模型,用java来调用,刚刚好摸索了下,动手写了下代码,总算能在java中调用,废话不多说,直接看代码实现情况。原创 2017-10-20 23:28:44 · 12929 阅读 · 22 评论 -
java加载tensorflow训练好的模型部署成service
在上面一章节提到怎么在java中怎么调用tensorflow训练好的模型,这篇主要是部署成service代码,看看吧,还有个东西官方说要用jdk1.8,不过我把部分方法改了,1.7也可以用,看看吧:首先是utils,里面用到的一些方法,把一段文本转化为一个tensorpackage com.dianping.text.classify.util;import jav原创 2017-10-23 10:29:27 · 5230 阅读 · 0 评论 -
tensorflow模型java部署问碰到了坑,各种坑
吐槽下java部署cnn、rnn、lstm、bi-lstm相关模型的我是碰到了各种坑,相比之前部署xgboost采的坑还要多,记录下吧,这些底层还是要依赖于c++,java说白了只是个壳,没有真正实现Tensor、模型相关业务逻辑,下面看下吧。查看各个版本的gcc版本的信息:strings /lib64/libc.so.6 |grep GLIBC_ 查看版本中是否含有2原创 2017-10-23 17:37:51 · 6039 阅读 · 1 评论 -
给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大 java实现
实现该算法主要思想是,1.两个负数与与一个正数相乘2.全为最大正数相乘得到最大值下面用算法实现,时间复杂度为O(n),下面用java实现,不过有一些为0的情况排除下可以,还有一些整形过大可以变为long型,这边不做累赘。package com.meituan.test;public class Test { public static v原创 2018-01-23 11:42:45 · 5515 阅读 · 0 评论 -
java通过jni调用c++逻辑
本博客通过一个简单的例子通过用java调c++处理,逻辑不带返回,直接打印hello word级别的,下面来看下,首先写一个java简答的测试类:package com.xx.odps.ainlp;public class HelloWorld { //导入lib文件 static{ System.load("libjnite.dylib"); }...原创 2018-06-03 12:24:35 · 727 阅读 · 0 评论 -
java调用c++带返回值
java通过jni调用c++,其中涉及到的基本类型会不大一样,int 、float、double可以强转,但是数组和String类型基本上要用过java String-->jni jstring-->c++ string类型转换,具体详细在这篇博客写的比较清楚https://blog.csdn.net/u011974987/article/details/52743495,看下面...原创 2018-06-03 13:54:05 · 2523 阅读 · 4 评论 -
c++和java 创建tensor的情况
c++和java针对tensorflow中的基本类型Tensor创建可谓有很大不同,最近在搞c++得tensorflow接口,总的来说c++中创建 Tensor目前要依赖于vector,目前总结有两种方式,第一种直接用std::initializer_list 具体做法如下:std::initializer_list<float> v_a={1.0,1.0,1.0,1.0,1.0...原创 2018-08-20 15:29:24 · 3201 阅读 · 4 评论 -
doc2vec用于分类 deeplearning4j实现
1.简概 上一篇简单介绍doc2vec的实现以及原理,这一篇看看用doc2vec用于文本分类情况。2.数据格式跟cnn、lstm输入格式一样1 看头像 加微信1 专业 办理 二手房交易 公积金贷款 商业贷款 租房 需要 请来 店咨询1 奥森 健身 要 砸金蛋 捂脸 砸金蛋 不是 李咏 专利 活动 当天 人人 都是 李咏 奥森 健身 小季 特邀 您 6月 1原创 2017-06-19 00:36:12 · 3572 阅读 · 0 评论 -
doc2vec用于训练文本向量-deeplearning4j实现
1.概述 Tomas Mikolov不仅仅提出word2vec,还提出了fasttext、doc2vec、doc2vec classify等经典 论文,下面用deeplearning4j实现doc2vec,并通过训练好的doc2vec计算文档相似度以及找最相似的文档,理论方面不多做介绍。2.数据格式 和前面提到用于训练word2vec的数据格式原创 2017-06-18 22:34:53 · 4879 阅读 · 0 评论 -
lstm文本分类--deeplearning4j为例
绪论今下午看到deeplearning4j提供了好几个文本分类的例子,都是利用word2vec与lstm相结合的例子,今天下午在其上面的代码改了下,用自己的数据的格式,跑了下,记录下,我的基本数据格式如下。训练集格式:1 你 可以 兰容网 问下 咨询师 里面 不仅 可以 咨询 任何 整形 问题 并且 全国各地 可以 帮你 查询 推荐 最好 医院 专家 公立医院 三甲医院 专科原创 2017-06-16 00:34:55 · 7214 阅读 · 5 评论 -
deeplearning4j之卷积神经网络实现
卷积神经网络从跟普通的的机器学习模型并不大一样,输入一般为一个高维矩阵,能后经过卷积、池化、卷积、池化、、到全连接 、softmax、方向传播 调整权值,目前实现cnn的各种深度学习架构很多,下面用的deeplearning4j包实现,主要参考git上项目提供的例子,package com.meituan.deeplearning4j;import java.io.IOExce原创 2017-04-16 00:58:54 · 5282 阅读 · 5 评论 -
libsvm 中文文本分类 java版本
这周打算用word2vec+lstm做一个中文文本分类模型,无奈老大以前用过libsvm,叫我用libsvm,折腾了两天基本上调通中通碰到各种各样的问题,在此记录下来。首先下载libsvm包,下载链接http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/li原创 2017-04-21 19:54:46 · 14991 阅读 · 2 评论 -
xgboost之java、python安装 mac为例子
之前用过python下的xgboost,现在想在自己的电脑(os)上折腾下jave版本的xgboost,碰到不少坑,记录下,1.下载xgboost库git clone --recursive https://github.com/dmlc/xgboost2.编译xgboost查看自己电脑上是否有g++ gcc,在/usr/lib下查看,如果没有,则要安原创 2017-05-06 14:39:55 · 2634 阅读 · 6 评论 -
java实现文本分类中卡方特征选择
java在文本分类中卡方的特征选择, 在文本分类的特征选择阶段,一般使用“词汇t与类别c不相关”来做原假设,计算出的开方值越大,说明对原假设的偏离越大,我们越倾向于认为原假设的反面情况是正确的。选择的过程为每个词计算它与类别c的开方值,从大到小排个序(此时开方值越大越相关),取前k个就可以。所以卡方值越大,词汇与分类越相关。最后结果,一个特征对应一个最后的卡方值原创 2017-04-24 17:04:35 · 1926 阅读 · 3 评论 -
xgboost参数说明,模型训练,模型预测java接口相关说明
xgboost参数说明在网上找了很多关于xgboost的文章,基本上90%都是以python在说明的,java的很少,xgboost参数说明http://blog.csdn.net/zc02051126/article/details/46711047在这篇文章里面说明的很详细,在java中使用的话,只要: Map params = new HashMap(); params.pu原创 2017-05-07 14:02:29 · 7684 阅读 · 3 评论 -
xgboost用于文本分类预测,java接口
周末花了两天时间从安装xgboost到用于文本预测,记录下,首先是把文本分词,去停顿词,计算tf-idf值,然后模型训练,模型保存,加载模型,模型预测:模型训练比较简单,先看看模型预测写的代码,准备的两个方法,把文本转化为libsvm的形式,再转化DMatrix: public static CSRSparseData getSparseData(String content,Ma原创 2017-05-07 21:12:29 · 5036 阅读 · 4 评论