自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张淮北的小屋

问渠那得清如许,为有源头活水来;唯有深入,方能理解。

  • 博客(153)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 布隆过滤器

主要作用:根据给定的布隆过滤器判断值是否存在。尤其适用于当数据量非常大时的判断。但是会存在一定的误判率,属于是牺牲了准确率来提升判断速度和节省存储空间。原理是将数据映射到一个很长的二进制向量上,通过查询映射数据在二进制向量的存在情况来判断数据是否存在。核心概念是若k哈希函数和一个长度为m的超大的位数组。添加时将元素通过函数函数得到k个值,然后将位数组上的这个k个位置置为1;判断元素时,同样通过函数得到k个值,然后判断在位数组上着k个位置是不是都是1,如果不是那数据肯定不存在,如果是那数据可能是存

2021-01-15 12:13:37 24

原创 二叉树的前序、中序、后续遍历递归和迭代的解法

二叉树的前序、中序、后续遍历递归解法 //先序遍历 void pre_order(TreeNode* root,vector<int>& number){ if(!root) return; number.push_back(root->val); pre_order(root->left, number); pre_order(root->right, number);

2020-11-04 23:25:16 23

原创 FM/FFM/wide&deep/deepFM笔记

一,FMFM在LR的基础上,增加了交叉特征,表达能力更强。FM为每个特征学习一个隐向量,在特征交叉时,使用两个特征隐向量的内积作为交叉特征的权重。FM的模型是:y~=w0+∑i=1nwixi+∑i=1n∑j=i+1n<vivj>xixj\widetilde{y}=w _{0}+\sum_{i=1}^{n}w _{i}x _{i}+\sum_{i=1}^{n} \sum_{j=i+1}^{n}<v_{i}v_{j}>x_{i}x_{j}y​=w0​+i=1∑n​wi​xi​+i

2020-11-04 15:37:51 65

原创 大数相加和大数相减

1,大数相减大整数相减。有两个非常大的整数,因为太大所以用数组保存,计算大数相减的结果。vector<string> bigint_subtraction(vector<int>& nums, int target) { vector<int> A = {1,3,4,6,8}; vector<int> B = {1,3,4,6,9}; //将大的值变成A,小一些的值变成B int asize = A.size(),b

2020-10-31 13:42:51 45

原创 【机器学习】从决策树到GBDT(二)

一,集成学习决策树的集成学习分成两大类,Bagging和Adaboost。AdaBoost中着重介绍boosting。Bagging的策略:(1)从样本集中重采样(有重复的)选出n个样本;(2)在所有属性上,对这n个样本建立分类器(ID3、C4.5、CART、SVM、Logistic回归等);(3)重复以上两步m次,即获得了m个分类器;(4)将数据放在这m个分类器上,最后根据这m个分类器的投票结果,决定数据属于哪一类。在Bagging方法中,每个学习器之间彼此是相互独立的,这样的特点使得Bag

2020-10-30 11:11:10 33

原创 mac os mojave 安装lightgbm

1,安装cmake和gccbrewinstallcmake(安装cmake过程比较慢)brewinstallgccmac默认是有一个gcc的只是版本比较低是4.8的。直接使用版本查看命令是本机自带的'brew -v',安装了新的gcc版本是10,地址在/usr/local/homebrew/Cellar/gcc/10.2.0。查看其版本信息‘/usr/local/homebrew/Cellar/gcc/10.2.0/bin/gcc-10 -v’2,安装lightgbm...

2020-10-25 20:32:33 51

原创 【机器学习】常见的损失函数

机器学习中常见的损失函数一,回归问题1,MSE(均方误差)(Mean Square Error)均方误差也叫方法损失函数或者最小二乘法作为机器学习中常常用于损失函数的方法,均方误差频繁的出现在机器学习的各种算法中,但是由于是舶来品,又和其他的几个概念特别像,所以常常在跟他人描述的时候说成其他方法的名字。均方误差的数学表达为:如公式所示,通过计算每个预测值和实际值之间的差值的平方和再求平均,机器学习中它经常被用于表示预测值和实际值相差的程度。平方损失函数是光滑的,可以用梯度下降法求解,但是,当预

2020-10-16 21:36:23 43

原创 深度学习常见的激活函数

一,什么的激活函数激活函数是神经网络中对数据做非线性变换的函数。如下所示:输入的x值,经过权值相乘合并之后再经过‘激活函数’得到一个映射值。二,激活函数的作用因为线性的数据表达过于单一,若没有激活函数,再多层的网络也不过是多套了几层的线性函数而已。以分类为例,线性函数只能处理线性可分的问题,对于复杂点的就无能为力了。而使用激活函数对线性数据改变之后,数据就是非线性的了。理论上网络层数足够的话可以拟合出任意函数,可以解决任何问题。三,常用的激活函数1,sigmoid函数这是神经

2020-10-16 17:15:33 28

原创 指数函数,幂函数记录

1,指数函数底越小,曲线越缓;底越大,曲线越陡。

2020-07-03 10:51:08 104

原创 linux diff命令使用记录

参考链接https://www.cnblogs.com/sevck/p/5036976.html

2020-06-21 16:16:55 69

原创 docker目录迁移/var/lib/docker/overlay满了

先保存docker system df查看docker使用的磁盘情况,比如镜像、容器各占了多大的空间docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。迁移docker目录1,stop dockersystemctl stop docker2,创建新的docker目录mkdir l..3,迁移/var/lib/docker/目录下面的文件到新的文件夹rsync -avz /var/lib/dock

2020-06-10 11:30:52 280

原创 grep的操作

1,查看某个文件是不是包含数据#查找当前目录下所有包含'check'词的文件grep 'check' *#查找当前目录下所有包含'check'词的以py结尾的文件grep 'check' *py#查找当前目录下所有包含'check'词的以down开头的文件grep 'check' down*就是可以通过配合linux自身的通配符来缩小查找文件来加快查找速度,linux常用的通配符| #管道符,或者(正则)> #输出重定向>> #输出追加

2020-06-05 11:34:11 72

原创 在docker中更改时区以及安装crontab

一,更改时区确定现在的时区是不是正确的,输入命令:date更改之前显示的是:美国时间;更改之后显示的是:dateThu Jun 4 21:05:47 CST 2020更改时区的方法:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime将上海时区的文件复制给localtime。二,安装crontab其实crontab可能是已经安装好了的,只是没有被启动,在本次的docker中,启动命令是:/usr/sbin/c

2020-06-04 21:39:32 80

原创 python3与2中的特异性记录

一,负数除以正数的值负数除以正整数的值为:-1+结果值。如下:>>> -15/60-1>>> -15/16-1>>> 15/160>>> -15/10-2

2020-05-19 10:57:37 77

原创 在命令行输入多行代码

在命令行内输入多行python代码,在空一行之后按一下回车键,代码可自动执行需要用tab键来控制缩进

2020-04-21 15:47:55 1010

原创 linux 批量删掉进程

批量杀掉进程的的命令:ps uax | grep process_cut_word | grep -v grep | cut -c 9-15 | xargs kill -9查看带有‘process_cut_word’进程名,并去掉'grep'进程,然后去第9到15位置的字符,并使用'xargs'命令将进程号变成一行,最后使用'kill -9'杀掉进程。xargs命令的可以将管道或标准...

2020-04-07 16:01:04 81

原创 【python】相对路径和绝对路径的使用

绝对路径:直接将文件在磁盘时所在的地址赋值给变量:user_path = {}user_path["WORK_DIR"] = "/data/home/zhbei/search-personword_offlao.net/"相对路径:是以当前执行脚本所在的目录来得到其地址,如:user_path = {}user_path["WORK_DIR"] = os.path.abspat...

2020-03-27 11:19:03 107

原创 使用python操作redis数据库

一,连接redis数据库:在Linux环境下:redis-cli -h host -p port -a password比如:redis-cli -h 172.16.15.2008 -p 6379 -a 4uM5ormgE3YsssssssiBZvDT2dRPybFh172.16.15.2008:6379>使用Python脚本的话:def conn_redis(...

2020-03-22 20:53:15 94

原创 训练样本的处理以及注意事项

官网:https://scikit-learn.org/stable/index.html在经过了数据的筛选,数据的清洗、数据的特征处理,给数据加标签之后就得到了数据的训练样本了。在得到训练样本之后还是要对训练样本做进步一的处理。需要考虑的问题有,训练样本的正负样本数的比例是怎么样的。比如在实际的应用场景中正负样本的比例的10:1,那么在训练数据的时候要保证训练数据和测试数据的正负样本比例...

2020-03-10 16:33:38 358

原创 阿里云presto的一些操作

1,将分组之后的string字符合并起来。如下所示:select distinct item_id,array_join(array_agg(distinct name),',') from shmods.mysql_shop_item_cids a inner join shmods.mysql_s__categories b on cid=b.idwher...

2020-02-28 16:58:46 276

原创 doc2vec的一些操作

1,从doc2vec模型中提取出word2vec向量表,代码如下:from gensim.test.utils import common_textsfrom gensim.models.doc2vec import Doc2Vec, TaggedDocumentdocuments = [TaggedDocument(doc, [i]) for i, doc in enumerate(c...

2020-02-27 11:19:43 276

原创 linux空间检测

一,背景:空间总是被占满,动不动就报警,需要找出谁占用的空间多,以及谁是压死骆驼的最后一根稻草二,步骤1,先查看当前空间占用的情况df -h2,进入到将被占满的空间查看该空间中那个文件夹占用的空间大du -sh * |grep G以G的量级展示文件夹占用的空间3,查看那个文件夹最近的产生新的数据#查看当前目录下24小时内更新的的常规文件find . -t...

2019-12-17 20:50:08 78

原创 查看进程的启动目录

1,通过ps命令来查看数据的启动情况ps aux | grep 'name'得到任务的pid2,在'/proc'文件夹下找到启动文件夹每个进程启动之后在 /proc下面有一个于pid对应的路径,该进程下的‘cwd’就是该任务的启动目录。如下所示:其中软连接‘cwd’指定的路径就是该进程的启动目录参考链接:https://www.cnblogs.com/xy51/arch...

2019-12-02 16:33:23 230

原创 goland工具的使用

常用的快捷键1,跳转到函数或者变量的定义处:ctr+B2,光标跳转:Mac:cmd+alt+左右光标用处:当查看某个函数定义时会跳到其他文件下面,使用这个快捷键可以再快速在函数定义和使用函数文件之间跳转参考链接1,Intellij IDEA 使用技巧https://www.jianshu.com/p/e226c085ce692,goland的使用技巧...

2019-11-08 17:01:58 408

原创 1000瓶药水和10只老鼠的问题及其扩展

一,常规的问题问题背景:1000瓶药水,有一瓶有毒,小老鼠喝下去之后会在1小时死亡。问给你一小时你需要多少只老鼠才能检测出那瓶是毒药?分析问题:最优的方法是进制法去求解。因为时间是一个小时在喝下药水之后小老鼠的状态有生和死两种状态,对应着二进制中的0和1,因此可以用二进制的想法去求解。因为2^10=1024所以需要10只老鼠就可以检测出毒药。先给出解法步骤:解法:1,...

2019-10-13 12:02:49 618

原创 iterm2通过跳板机登陆机器,免密以及配置sz、rz命令

一,使用brew安装lrzszbrew install lrzsz下载完成之后在目录"/usr/local/bin"下会有:sz,rz,lsz,lrz等文件;二,下载脚本从git上下载:cd /usr/local/binsudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iter...

2019-09-15 23:58:57 652 2

原创 Python编码错误:UnicodeEncodeError: 'ascii' codec can't encode 的一些总结

对于Python处理文本数据的时候经常出现的就是编码错误了,烦不胜烦,编码出错时的错误提示为:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)处理的方式有如下,摸索的情况:0,使用'iconv'命令将文件转换成utf-8格式ic...

2019-08-28 14:23:57 1246

原创 crontab 执行定时任务失败

遇到的问题:需要通过pyspark执行跑脚本数据,由于数据比较多,因此要分成每天每天的跑,跑一次大概需要1个半小时。因此写了一个定时执行任务,如下所示:08 13 * * * lechuan && cd /mnt/disk1/home/zhangh/howo_pere/code/explore_data && nohup sh submit.sh get_ui...

2019-08-26 01:53:51 83

原创 部署线上服务--Python web框架tornado初体验

启动一个简单的服务:创建hello.py文件,在里面写入:#!/usr/bin/env python#-*-coding:utf-8import reimport osimport jsonimport timeimport numpy as npimport sysimport tornado.webimport tornado.ioloop#定义处理类型cla...

2019-08-17 13:59:17 463 1

原创 【Python练习题】将数据按照分数排序

有如下数据:垃圾袋 1497043 5.063276505358443抽纸 1064344 5.28969789617728水杯 1181517 5.5993742803056765水杯 1194451 9.164971781320457水杯 84793 4.089972381569897水杯 87067 8.169655974237727水杯 91113 4.429693750...

2019-08-15 11:36:53 540 1

原创 Doc2vec的原理以及实战demo

一,测试demo代码如下:from gensim.test.utils import common_textsfrom gensim.models.doc2vec import Doc2Vec, TaggedDocumentdef doc2vec_demo(): # 得到文本训练数据 documents = [TaggedDocument(doc, [i]) for...

2019-08-14 15:24:07 576

原创 bert实战:安装与跑demo

Bert介绍Bert模型是Google在2018年10月发布的语言表示模型,Bert在NLP领域横扫了11项任务的最优结果,可以说是现今最近NLP中最重要的突破。Bert模型的全称是Bidirectional Encoder Representations from Transformers,是通过训练Masked Language Model和预测下一句任务得到的模型。关于Bert具体训练的...

2019-08-10 15:42:13 9193 9

原创 Word Embedding资料整理

最近要分享一次Word Embedding,虽然对这个东西早就知道,但是一直没有一个详细的梳理,趁着这次机会好好梳理一下这方面的东西。在网上看到正好有人写了相关的文章,就拿来学习了一番,再加上一些作者不屑于写的知识。word Embedding技术背景 word2vec word Embedding现今的发展 进化从未停止一,word Embedding技术背景 万物皆可Em...

2019-08-03 17:27:48 149

原创 rsync在跳板机之间传递文件

背景:从机器m67上面传递文件到192.8.6.7上,文件不大两个机器已经是联通的,连接的端口是58422。一,省力的方法频率很低的传数据时可以使用,需要手动输入密码准备:在192.8.6.7机器的username根目录下建立一个58422文件夹,传送的数据都会在这个文件夹下面。rsync -e 'ssh -p 58422' weekstatic_2019 zbei@192...

2019-07-29 15:52:55 919

原创 TensorFlow初步使用

一,安装TensorFlow安装地址:https://tensorflow.google.cn/install我是直接在conda下安装的,TensorFlow有很多版本,安装了一个cpu稳定版本,命令是:conda install tensorflow...

2019-07-27 14:34:31 140

原创 统计数据

统计数据时要注意的几个点:统计数据的维度和粒度,如时间维度,数据范围,统计效果。时间维度:统计的起始时间;数据范围:统计的是纯搜索query、sug、热词;统计效果:统计的是uv/gmv/订单统计效果要根据最终的目标来决定统计哪一个。...

2019-07-15 14:27:39 147

原创 mysql groupby字符串拼接

使用group_concat聚合函数将字符串拼接起来:select buyer_id,group_concat(query) from order_source where query !=""group by buyer_id ;buyer_id | query ...

2019-06-24 12:12:45 3210 1

原创 【Python】获取前几天的日期转成固定的格式

1,获取8天之前的数据代码如下:import timeimport datetimetoday = time.strftime("%Y-%m-%d", time.localtime()) /获取当前时间并转换成固定格式week_ago_time = (datetime.datetime.now() - datetime.timedelta(days=8)).strftime("...

2019-06-19 22:06:12 408

原创 【python】python2出现的SyntaxError错误

当在Python 2.X文件中写中文注释或输出中文时候,经常会出现编译错误(在Python 3.X中没有这种错误。)SyntaxError: Non-ASCII character '\xe7' in file chec.py这是因为Python 2.X的默认编码文件是用ASCII码,如果想要编译通过,则只需要在文件开头加入一行代码将文件存成UTF-8格式。看到网上给的解决办法是再行...

2019-05-07 15:01:02 531 1

原创 解决编码问题追踪

背景:现有的文件编码类型是“UTF-8 Unicode text”类型的,但是需要文件的类型是“ISO-8859 text, with CRLF line terminators”的在这样的需求之下并不能直接将文件类型转换成“ISO-8859”类型,ISO-8859有ISO-8859-1,ISO-8859-2,.....,ISO-8859-9多个形式,无法直接转成ISO-8859。 ...

2019-04-26 17:18:52 258

动态规划,建桥问题代码

就是要在一条河的南北两边的各个城市之间造若干座桥.桥两边的城市分别是a(1)...a(n)和b(1)...b(n).这里的要求a(i)只可以和b(i)之间造桥,同时两座桥之间不能交叉.希望可以得到一个尽量多座桥的方案.

2017-11-09

空空如也

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

TA关注的人 TA的粉丝

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