- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 java实现堆排序
堆排序和合并排序一样,是一种时间复杂度为O(nlgn)的算法,同时和插入排序一样,是一种就地排序算法(不需要额外的存储空间)。堆排序需要用到一种被称为最大堆的数据结构,与java或者lisp的gc不一样,这里的堆是一种数据结构,他可以被视为一种完全二叉树,即树里面除了最后一层其他层都是填满的。也正是因为这样,树里面每个节点的子女和双亲节点的序号都可以根据当前节点的序号直接求出。
2016-08-30 23:59:02 618
原创 机器学习&深度学习资料
原文地址:https://github.com/ty4z2008/Qix/blob/master/dl.md《Brief History of Machine Learning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、Deep Learning.《Deep Lear
2016-08-29 09:45:06 1923
原创 在hive中实现之定义函数UDF
自定义函数有3中UDF:1对1的关系,函数对每一行执行UDAF:多对1的关系,聚合函数,用在group by的时候UDTF:1对多的关系,比如把一行数据拆成多行UDF函数可以直接应用于select语句,对查询结构做格式化处理后,再输出内容。2、编写UDF函数的时候需要注意一下几点:a)自定义UDF需要继承org.apache.hadoop.hive.ql.UDF
2016-08-25 17:26:14 874
原创 如何在海量数据中查找最相似的topk样本
大概总结3中方法,不一定对,欢迎探讨1:还记得KNN算法吧,选择最近的K个样本作为预测输出其中减少计算量的地方在于使用了KD树,使得查找非常高效先计算每个特征的方差,降序排序构建二叉树对当前特征排序,取中位数作为分裂节点,把数据划分成2部分对左右部分递归处理搜索最近邻点:沿着路径搜索即可当维数较大时,直接利用k-d树快速检索的性能急剧下
2016-08-25 00:09:23 5238 1
原创 如何解决hive同时计算多个分位数的问题
众所周知,原生hive没有计算中位数的函数(有的平台会有),只有计算分位数的函数percentile在数据量不大的时候,速度尚可。但是数据量一上来之后,完全计算不出来。那么如何解决这个问题呢,我们可以使用 row_number() over()通过两次排序来解决同时计算多个分位数比如我们需要计算mkt_mcc_storeidx表下以mkt_label,mccgroup,month分组,
2016-08-15 11:20:53 15909 2
原创 [天池竞赛系列]阿里音乐流行趋势预测大赛初赛三等奖思路
第一赛季8名,第二赛季11名主要使用模型和规则预处理:过滤异常用户的操作记录,比如一整天都听同一首歌,疯狂下载歌的等等构建样本:对每个歌手建模,每一天的播放数据为一个样本,会出现很多突然的波动,使用7点平滑特征:因为是对每个歌手建模,所以不用考虑歌手特征,全部使用时间特征工作日,节假日,是否加班,放假第几天,工作第几天,星期几,节前,节后趋势特征:不同大小的窗口做差分特
2016-08-04 19:17:02 5961 6
原创 剑指offer:在二叉树中找出和为某一值的所有路径
题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22 和如下二元树10/ \5 12/ \4 7则打印出两条路径:10, 12 和10, 5, 7。二元树节点的数据结构定义为:struct BinaryTreeNode // a node in the bin
2016-08-03 01:07:53 1652
原创 hive函数大全
一、关系运算:1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述:如果表达式A与表达式B相等,则为TRUE;否则为FALSE 举例: hive>select 1 from lxw_dual where 1=1; 12. 不等值比较: 语
2016-08-02 12:15:04 2060
原创 Random Forest和Gradient Tree Boosting如何调参
作者:城东链接:https://www.zhihu.com/question/34470160/answer/114305935来源:知乎著作权归作者所有,转载请联系作者获得授权。使用sklearn进行集成学习——实践系列《使用sklearn进行集成学习——理论》《使用sklearn进行集成学习——实践》目录1 Random Forest和Gradient
2016-08-02 00:39:22 8140 1
原创 剑指offer:最大子数组
/* * 输入一个整形数组,数组里有正数也有负数。 * 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 * 求所有子数组的和的最大值。要求时间复杂度为O(n)。 * 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, * 因此输出为该子数组的和18。 * 思路:保存当前的和,从做遍历到右,记录最大值,
2016-08-01 22:08:39 535
原创 Hive几种数据导入方式
总结Hive的几种常见的数据导入方式,一共四种:(1)、从本地文件系统中导入数据到Hive表;(2)、从HDFS上导入数据到Hive表;(3)、从别的表中查询出相应的数据并导入到Hive表中;(4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。 一、从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下:
2016-08-01 15:33:05 914
原创 包含min函数的栈JAVA实现
import java.util.ArrayList;/* * 设计包含min 函数的栈。 * 定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。 * 要求函数min、push 以及pop 的时间复杂度都是O(1)。 * 思路:设计栈的元素同时包含当前值和当前最小值,这样当pop掉最小值的时候,栈顶元素依然保存着当前最小值 * */public class MinS
2016-08-01 00:28:28 2106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人