自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

数据之美的博客

玩机器学习的总要会玩数据才行

  • 博客(400)
  • 收藏
  • 关注

原创 YouTube视频推荐中的召回模型和排序模型-Deep Neural Networks for YouTube Recommendations

文章目录1.YouTube论文概述2.召回模型3.排序模型特征表达特征工程离散特征embedding化连续特征归一化建模观看时间Hidden layers的实验参考资料1.YouTube论文概述YouTube在16年发的这篇经典paper,是同时解决了推荐系统的中召回问题和排序问题,因此也有两个两个网络模型:1.召回模型:从上百万的视频库中选出数百个与用户最相关的视频;2.排序模型:从上...

2019-11-14 00:17:57 4423 4

原创 hive 判断int值奇数偶数 hive中位运算妙用

hive表cinema有一列id,int类型。查询条件有一项:id为奇数。方式一:select id from cinema where id%2=1;方式二: select id from cinema where id & 1 =1;这里可以来看一下&这个运算符:可以看出,通过将数值&1,奇数对应为1,偶数对应为0,并且简单测试来看,按位&效率稍微更快一点。...

2021-05-11 16:02:23 2977

原创 linux sed 替换Host ip json中key值 hdfs路径

将json中某个key对应的值修改为指定的值condition="logtime > '2019-12-02 15:21:00 and logtime <='2019-12-02 15:22:00'"sed -i 's/\("where":"\).*/\1'"$condition"'",/g' tmptext.jsonip="logtime > '2019-12-02 15:36:00' and logtime <='2019-12-02 15:37:00'" sed

2021-01-15 10:53:05 1307

原创 CentOS7 配yum源 配阿里云

进入centos的yum文件夹cd /etc/yum.repos.d/用wget下载repo文件,下载的repo文件会在/etc/yum.repos.d/下wget http://mirrors.aliyun.com/repo/Centos-7.repoPS:如果wget命令不生效,说明还没有安装wget工具,进行安装:yum -y install wget备份系统原来的repo文件mv CentOS-Base.repo CentOS-Base.repo.bak替换原rep..

2021-01-04 16:55:18 391

原创 idea properties或配置文件 FileNotFoundException 系统找不到指定的路径 路径问题

开发环境:idea 2020.2.3问题:在写一个property工具类时,读取config.properties配置文件一直报错,尝试了多种路径都不行报错信息如下:Exception in thread “main” java.io.FileNotFoundException: \src\main\resources\config.properties (系统找不到指定的路径。)at java.io.FileInputStream.open0(Native Method)at java.io.F

2020-12-23 11:03:07 10093 5

原创 hadoop fs -getmerge 对ORC表文件合并后 报错Buffer size too small. size = 262144 needed = 592198

今日为解决项目上有个任务orc表产生小文件较多的问题,因此测试了一下hadoop fs -getmerge命令。测试过程如下:1.新建orc表,并分3次插入数据,并查看表路径中文件,产生3个文件2.使用命令合并3.将合并后的数据put回表路径4. 查询结果表,出现报错信息:Error: EXECUTION FAILED: Task MAPRED-SPARK error SparkException: [Error 1] Job aborted due to stage failure:

2020-12-08 18:55:39 5875 5

原创 linux上Python连接hive避坑指北指南

环境:centos7.4+Python 3.7.4 并已安装anaconda使用python连接hive,在开发中是一个硬需求。此处记录一个简单的连接测试过程。1.首先在centos中安装yum install cyrus-sasl-lib.x86_64yum install cyrus-sasl-devel.x86_64yum install libgsasl-devel.x86_64yum install saslwrapper-devel.x86_64tips:在安装后两个事提示没

2020-12-02 18:42:11 1003

原创 Tensorflow特征工程-feature_column特征列

       在tensorlow中训练模型之前需要将原始数据转换成能输入模型的格式,而feature_column就扮演着这种角色。# 引入feature_column包import tensorflow as tfimport tensorflow.feature_column as fc       下面我们来看下常见的训练数据格式,并在feature_column中找到.

2020-10-30 16:26:15 1822

原创 hive 求最大最小值均值及对应的一个key键(对应行)

hive 求最大最小均值就不多说了。此次在业务上碰到一个问题,是要求最大值、最小值、平均值的同时,还要求最大值、最小值对应行的key字段(以找到对应时间)。并且key中的时间戳还是0时区,在查询时要注意对时区进行转换。表结构大致如下:key doubleid+时间 对应的double数值方法一:join (最常见)比如取最小值和最小值所在行对应的key:select *from(select min(d) as minfrom(select key,df

2020-06-07 21:24:19 5937 1

原创 一键安装xgboost-史上最简单安装xgboost的方式

很多同学在学习机器学习过程中,可能会使用到xgboost训练框架,在安装xgboost过程中可能会碰到这样那样的问题,在这里提供一键安装xgboost的方法前置条件:先保证本地已经安装成功了anaconda1首先查看以你要安装的xgboost类型anaconda search -t conda xgboost2由于我的笔记本是mac os系统,因此按照下面的命令一键安装xgb...

2020-05-07 17:30:01 2475

原创 jdk、maven和IntelliJ IDEA的下载安装及配置

jdk的下载及安装1.下载java安装包jdk,http://www.oracle.com/technetwork/java/javase/downloads/index.html,安装过程一直点击下一步即可完成安装IntelliJ IDEA的下载及安装1.下载IntelliJ IDEA,https://www.jetbrains.com/idea/download/#secti...

2020-04-28 09:55:18 7363 1

原创 Hbase 多版本

hbase支持多版本存储,其一条数据的多版本是以timestamp来标识的。设置多版本.新建测试表hbase(main):032:0* create 'tmp_mutilversion', {NAME => 'f', VERSIONS => 5}0 row(s) in 2.2860 secondshbase(main):006:0> desc 'tmp_mutil...

2020-04-15 11:43:15 2486

原创 linux下如何用alias给复杂的命令起一个简单的别名

在平时linux开发中,常用的一个命令是ls -l也就是将当前文件夹下的所有文件及文件夹的详细信息列出来,由于该命令使用频率特别高,能不能使用更简单的命令代替 ls -l 的功能呢,这时alias 就可以派上用场了。临时设置方法在linux下,通过alias ll='ls -l'就可以设置成功,之后试下 ll,发现实现了和 ls -l 同样的效果。永久设置方法如果不想每次打开...

2020-03-29 17:38:56 1322

原创 conda安装软件包时报错“appears to be corrupted. The path 'lib/mkl_msg.cat' specified in the package manifest”

在使用conda安装软件时,报错如下“appears to be corrupted. The path ‘lib/mkl_msg.cat’ specified in the package manifest cannot be found”。可以通过下面的命令,删除缓存包重新下载:conda clean --packages --tarballs...

2020-03-29 16:34:53 7130

原创 Mac上同时安装python3和python2

系统:Mac已安装环境:Anaconda3,python3由于在平时的项目中,经常由于各种python库的版本不匹配的问题,导致python2和python3的运行环境无法兼容。因此我们可以在上述已安装环境的基础上,再安装python2。具体步骤非常简单,参考下面。先检查当前环境为python3,确认为python3环境。运行命令 conda create --name python27...

2020-03-13 15:44:30 1229

原创 kafka topic consumer 消费非常大的消息

有业务上推送到kafka的json串非常大,json文件达到了6m,差不多36万行,内部嵌套四层,需要我们从kafka中接收数据并进行解析。在测试过程中,需要自己将该json串生产到测试的topic,发现这么大的字符串,没有办法从控制台那里粘贴上去。此处我们是用java写个生产者,读取文件然后发送值topic。然而不报错,也消费不到。这种情况下,需要配置kafka相关的一些参数,以下相关的参...

2020-03-06 10:53:15 2054

原创 深度CTR之Graph Embedding:阿里电商推荐中亿级商品的Graph Embedding

文章目录介绍框架基于用户历史行为的 Item Graph的构建基本的Graph Embedding使用辅助信息的Graph Embedding使用辅助信息的增强型Graph Embedding实验离线评估在线A/B测Case Study系统部署和操作总结和未来展望介绍阿里巴巴团队发表于KDD 2018,阿里的推荐系统是按照mathching + ranking的两步策略,本问是解决的match...

2020-02-29 15:55:25 2607

原创 机器学习中熵、交叉熵、KL散度(相对熵)之间的关系

文章目录1 信息量2 熵3 相对熵(KL散度)4 交叉熵1 信息量信息的信息量大小和它的不确定性有很大的关系,如果一句话需要很多外部信息才能确定的话,那么这句话的信息就很大,例如你说‘明天可能是晴天’,那你需要去看天气预告等去预测明天是否晴天,有一定的不确定性,如果你说‘今天是周五,明天是周六’,那么这句话就没什么信息量,因为这是既定的事实,确定性很高。因此我们就将事件x_0的信息量定义如下...

2020-02-14 12:50:57 1181

原创 L2和L1正则化防止过拟合-贝叶斯角度和约束优化角度的解释

文章目录L2正则化约束优化角度贝叶斯角度L1正则化约束优化角度贝叶斯角度L1和L2正则化方法对于机器学习模型来说都具有防止模型过拟合的作用,通常我们需要理解他们是如何发挥作用的。L1、L2原理的解释可以从两个角度:带约束条件的优化求解(拉格朗日乘子法)贝叶斯学派:最大后验概率L1正则化相当于为参数w加入了拉普拉斯分布的先验。L2正则化相当于为参数w加入了高斯分布的先验。L2正...

2020-02-11 22:32:55 1448

原创 同步和异步的区别

先抛定义同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。这时程序是阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。 因此 简单的说,同步就是必须一件一件事做,等前一件做完了才能做下一件事。异步,与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态、通知和回调来通知调用者。再举例子同...

2020-02-10 18:50:01 10990

原创 深度CTR之xDeepFM:融合了显式和隐式特征交互关系的深度模型推荐系统

文章目录1 解决的问题2 介绍部分3 已有模块的介绍Embedding LayerImplicit High-order InteractionsExplicit High-order Interactions4 新模型-XDeepFMCompressed Interaction NetworkCIN Analysis空间复杂度时间复杂度多项式逼近Combination with Implicit...

2020-02-09 16:33:50 4053

原创 深度CTR之AFM:基于Attention网络的FM模型

文章目录解决的问题介绍FM模型AFM模型Pair-wise 交互层Attention-based 池化层学习过拟合的预防Related WorkExperimentsExperimental Settings超参数设置Attention网络层的影响微观分析模型效果对比参考代码解决的问题问题与FM算法有关,FM算法使用了二阶特征来提升线性模型的性能,但是FM在使用所有二阶交叉特征时,默认每个交叉...

2020-02-02 17:10:12 3577 1

原创 presto对接cassandra

因为业务需要而cassandra查询功能缺少全局排序,测试presto+cassandra查询的方案测试时使用的cassandra版本为Cassandra 3.11.3测试时使用的presto版本为presto-server-0.230测试环境:三个cantos节点:10.28.3.137 cluster1 localhost10.28.3.142 cluster2 localhost...

2020-01-14 18:31:21 1693

原创 hadoop hbase hive spark对应版本

hbase和hive之间版本对应关系图片来源参考官网:http://hbase.apache.org/book.html#hadoophive和hadoop、hive和spark之间版本对应关系版本信息来自于hive源码包的pom.xml:hive-3.1.2<hadoop.version>3.1.0</hadoop.version><hbase.ve...

2020-01-07 11:32:07 12212

原创 深度CTR之DIN:基于深度兴趣网络的点击率预估模型

文章目录1.paper介绍2.其他深度CTR模型3.要解决问题的背景4.DIN4.1 特征表达4.2 基模型(Embedding&MLP)4.3 DIN的模型结构5 训练技巧5.1 Mini-batch Aware Regularizaion(最小批感知正则化)5.2 Data Adaptive Activation Function(数据自适应激活函数)6 实验过程和结果6.3 指标6....

2020-01-04 16:43:27 2784

原创 clickhouse 安装

这里写自定义目录标题clickhouse安装1 检查clickhouse环境1.1 环境准备1.2 检查SSE 指令集(每台集群)1.3 单机安装clickhouse安装centos7.3 安装clickhouse介绍脚本安装方式,手动及其他可参考:https://github.com/Altinity/clickhouse-rpm-install/blob/master/README.m...

2019-12-18 18:26:07 1315 2

原创 Xgboost原理-XGBoost论文精读与总结-A Scalable Tree Boosting System

文章目录xgboost介绍树提升模型正则化的学习目标梯度树提升算法学习率和列采样分裂发现算法精确贪心算法近似算法加权分位数骨架稀疏感知分裂发现算法系统设计用于并行学习的列block时间复杂度分析缓存感知访问用于核外计算的blockxgboost各种tricks总结:xgboost介绍xgboost特点:提出了高效的、可扩展的、端到端的树提升系统;针对系数数据和加权分位数架构提出了一种创新...

2019-12-08 19:23:22 757

原创 leetcode-根据中序遍历和后序遍历重构二叉树 思路与代码

问题描述问题链接:https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/给定树的中序遍历和后序遍历,请构建原来的二叉树。假设不存在重复的元素。Given inorder and postorder traversal of a tree, construct the ...

2019-12-04 23:46:08 473

原创 leetcode-根据前序遍历和中序遍历重构二叉树 思路与代码

问题描述问题链接:https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/给定树的前序遍历和中序遍历,请构建原来的二叉树。假设不存在重复的元素。Given preorder and inorder traversal of a tree, construct the bi...

2019-12-04 23:45:53 342

原创 leetcode-二叉树的前序、中序、后序、层序的递归和非递归实现

文章目录1. 二叉树的遍历2. 前序遍历2.1. 递归实现2.2. 非递归实现3. 中序遍历3.1. 递归实现3.2. 非递归实现4. 后序遍历4.1. 递归实现4.2. 非递归实现5. 层序遍历1. 二叉树的遍历面试中,尤其是校招面试中(哈哈,社招面试估计是嫌这种题目太简答,不屑于考察),经常被问到的一个题目就是二叉树的各种遍历算法,而我们常见的二叉树的遍历方式有前序遍历、中序遍历、后序遍历...

2019-12-02 23:52:13 308

原创 leetcode-数组的全排列的所有结果 思路与代码

文章目录问题描述问题分析问题解法问题描述问题链接:https://leetcode.com/problems/permutations/给定一个不包含重复元素的整数集合,返回全排列的所有结果Given a collection of distinct integers, return all possible permutations.问题分析既然是全排列,首先想到暴力求解法,但是...

2019-12-01 20:15:08 990

原创 leetcode-连续子数组和为目标数值的整数倍 思路与代码

文章目录问题描述问题分析问题解法问题描述问题链接:https://leetcode.com/problems/continuous-subarray-sum/给定一个非负数组和一个正数目标值k,请判断数组中是否存在一个连续的子数组,其加和为k的整数倍,即其加和等于n*k,其中n也为一个整数。问题分析拿到这道题目,首先想到的是暴力查找,即列举所有可能的子数组的加和,判断其加和是否为目标值k...

2019-12-01 10:21:04 1299

原创 leetcode-给定二叉搜索树和一个目标值,判断树中是否有两元素加和等于目标值 思路与代码

问题描述问题链接:https://leetcode.com/problems/two-sum-iv-input-is-a-bst/给定一个二叉搜索树和一个目标值,如果在树中存在两个元素加和等于目标值则返回true,否则放那会false。Given a Binary Search Tree and a target number, return true if there exist two...

2019-11-30 22:22:34 982

原创 leetcode-满足连续子数组加和等于目标值的子数组个数 思路与代码

文章目录问题描述问题分析问题解法问题描述问题链接:https://leetcode.com/problems/subarray-sum-equals-k/给定一个数组,请找到有多少个连续子数组加和等于给定目标数值?问题分析首先想到的是两件事情:两层for循环遍历的解法;两层for循环遍历大概率会出现TLE的错误,哈哈,不是废话嘛因此,我们需要将O(n^2)的解法从时间上优化...

2019-11-30 21:37:34 4259

原创 spark scala环境配置与新建scala工程

文章目录1. scala安装方式2. scala安装3. 新建scala工程4. scala code1. scala安装方式https://www.scala-lang.org/download/可以看到两种安装scala方式:方式1:通过intellij 的IDEA安装方式2:通过sbt安装以使用IDEA maven安装为例,即上图中左侧的安装方式,点击红框中的Getting...

2019-11-28 20:58:04 561

原创 FM-Factorization Machines

文章目录1.介绍2.FM模型函数及应用2.1 FM模型2.1.1 FM模型&模型的表达能力2.1.2 稀疏数据下的参数估计2.1.3 二阶交叉特征部分的计算2.2 FM的应用2.3 FM参数的更新学习2.4 总结参考资料1.介绍FM-Factorization Machine是一种结合了因式分解模型和SVM模型的优势的新的模型。FM相比于SVM有如下特点:两者都是需要实值特征向量...

2019-11-24 17:12:02 902

原创 史上最详细的梯度下降优化算法介绍(从SGD到Adam至Lookahead)

文章目录1.介绍2.常见优化算法2.1 梯度下降法及其变种2.1.1 批梯度下降法2.1.2 随机梯度下降法2.1.3 小批量梯度下降法2.1.4 梯度下降法的缺点2.2 梯度下降法的优化算法2.2.1 Momentum-动量法2.2.2 Nesterov-加速梯度下降法2.2.3 Adagrad-自适应梯度2.2.4 Adadelta2.2.5 RMSprop2.2.6 Adam-自适应矩估计2...

2019-11-21 01:22:04 19835 1

转载 tensorflow-tf.slice和tf.gather切片函数

tf.slice(input_, begin, size, name=None):按照指定的下标范围抽取连续区域的子集 tf.gather(params, indices, validate_indices=None, name=None):按照指定的下标集合从axis=0中抽取子集,适合抽取不连续区域的子集输出:input = [[[1, 1, 1], [2, 2, 2...

2019-11-19 00:45:53 1356

原创 L2正则化解决模型过拟合问题

什么是L2正则化L2正则化也有防止模型过拟合的能力,但是相比于L1正则化(想再学习下L1正则化原理,请参考 L1正则化解决模型过拟合问题),两者防止过拟合的方式大有区别,首先看下加入L2正则化的模型损失函数:JL2(w)=L(w)+λ2nw2J_{L2}(w) = L(w) + \frac{\lambda}{2n}w^2JL2​(w)=L(w)+2nλ​w2对于原始损失函数求一阶导为:...

2019-11-16 20:03:43 1217

原创 L1正则化解决模型过拟合问题

什么是L1正则化在机器学习任务中,对于一个参数模型,优化参数时一定伴随着损失函数的建立与优化。通常不加入L1正则化的损失函数为JL1(w)=L(w)J_{L1}(w) = L(w)JL1​(w)=L(w)加入L1正则化的损失函数为JL1(w)=L(w)+λ∣w∣J_{L1}(w) = L(w) + \lambda|w|JL1​(w)=L(w)+λ∣w∣所以L1正则化就是在原来损...

2019-11-16 18:58:41 1117

空空如也

空空如也

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

TA关注的人

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