自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 XGBoost调参步骤及常见问题

XGBoost参数设置通用参数这些参数用来控制XGBoost的宏观功能。booster[默认gbtree]选择每次迭代的模型,有两种选择:gbtree:基于树的模型gbliner:线性模型silent[默认0]当这个参数值为1时,静默模式开启,不会输出任何信息。一般这个参数就保持默认的0,因为这样能帮我们更好地理解模型。nthread[默认值为最大可能的线程数]这个参数用来进行多线程控制,应当输入系统的核数。如果你希望使用CPU全部的核,那就不要输入这个参数,算法会自动检

2021-11-30 11:10:02 3588

原创 pd.DataFrame增删改查

pd.Dataframe常用函数,增删改查,排序sort_values

2021-09-28 17:38:25 669

原创 递归神经网络LSTM详解:为什么用sigmoid,tanh不用relu?

1. 递归神经网络递归神经网络的结果与传统神经网络有一些不同,它带有一个指向自身的环,用来表示它可以传递当前时刻处理的信息给下一时刻使用。可以认为它是对相同神经网络的多重复制,每一时刻的神经网络会传递信息给下一时刻。递归神经网络因为具有一定的记忆功能,可以被用来解决很多问题,例如:语音识别、语言模型、机器翻译等。但是它并不能很好地处理长时依赖问题。2.LSTM长时依赖是这样的一个问题,当预测点与依赖的相关信息距离比较远的时候,就难以学到该相关信息。Long Short Term Mermory

2021-08-25 18:33:44 4954

原创 NLP预训练方法:从BERT到ALBERT详解

BERT基于所有层中的左、右语境进行联合调整,来预训练深层双向表征。只需要增加一个输出层,就可以对预训练的BERT表征进行微调,就能够为更多的任务创建当前的最优模型。1. 预训练优点假设已有A训练集,先用A对网络进行预训练,在A任务上学会网络参数,然后保存以备后用,当来一个新的任务B,采取相同的网络结构,网络参数初始化的时候可以加载A学习好的参数,其他的高层参数随机初始化,之后用B任务的训练数据来训练网络,当加载的参数保持不变时,称为"frozen",当加载的参数随着B任务的训练进行不断的改变,称为“f

2021-08-25 17:34:36 1071

原创 神经网络防止过拟合:Droupout工作原理及SpatialDropout1D

工作流程输入是x输出是y,正常的流程是:我们首先把x通过网络前向传播,然后把误差反向传播以决定如何更新参数让网络进行学习。使用Dropout之后,过程变成如下:(1)首先随机(临时)删掉网络中一半的隐藏神经元,输入输出神经元保持不变(2) 然后把输入x通过修改后的网络前向传播,然后把得到的损失结果通过修改的网络反向传播。一小批训练样本执行完这个过程后,在没有被删除的神经元上按照随机梯度下降法更新对应的参数(w,b)。(3)然后继续重复这一过程:. 恢复被删掉的神经元(此时被删除的神经元保持原样

2021-08-25 16:23:51 1660

原创 一文读懂w2vec附基于 Gensim 的 Word2Vec增量代码

简单来讲word2vecor包含输入层、隐层、输出层三层。训练模式CBOW(Continuous Bag-of-Words Model)和Skip-gram (Continuous Skip-gram Model),是word2vec的两种训练模式。CBOW的意思就是用上下文来预测当前词。CBOW输入层处理方式和NNLM里是一样的,也是乘一个投影矩阵。如果我们设定的矩阵维度D(超参数),那个这个投影矩阵的维度就是 D * V, C * 词向量(one-hot表示既在投影矩阵中取第n列来表示对应的词)

2021-08-24 11:48:36 299

原创 python高并发异步 asyncio及垃圾回收机制

asynciopython由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率。asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。async def 用来定义异步函数,其内部有异步操作。每个线程有一个事件循环,主线程调用asyncio.get_event_loop()时会创建事件循环,你需要把异步的任务丢给这个循环的run_until_complete()方法,事件循环会安排协同程序的

2021-08-23 17:39:30 477

原创 Spark 归一化方法总结Normalizer、StandardScaler、MinMaxScaler

org.apache.spark.ml.feature包中包含了4种不同的归一化方法:NormalizerStandardScalerMinMaxScalerMaxAbsScaler数据准备注意函数对于要处理的数据格式要求是val dataFrame = data.na.fill(0).rdd.map(a=>(a.getString(0),Vectors.dense(a.getLong(1),a.getLong(2),a.getLong(3),a.getLong(4)))).toDF("

2021-08-19 10:49:03 2413

原创 近邻算法比较:hnsw、KDTree、Annoy

基于树结构的近邻算法KDTreekd树是二叉树,核心思想是对 k 维特征空间不断切分从根结点出发,递归地向下访问kd树递归地向上回退,查找该结点的兄弟结点中是否存在更近的点回退到根结点时,搜索结束类似的有Balltree(在嵌套的超球面上分割数据,而不是超矩形划分区域)Annoyannoy的每一次空间划分,可以看作聚类数为2的KMeans过程在划分的子空间内不停的递归迭代继续划分直到每个子空间最多只剩下K个数据节点,划分结束基于图存储结构的近邻算法图查找的朴素思想:从任

2021-08-04 17:41:46 750

原创 从yarn队列当中获取特定任务id

从yarn队列当中获取特定任务idJOBNAME=jobNameRESULT=yarn application -list |grep "$JOBNAME" |cut -f1if [[ "$RESULT" != "" ]]then yarn application -kill $RESULTelse echo "不包含"fi

2021-08-02 18:36:41 976

原创 shell 超时自动终止TimeOut

shell 命令执行超时自动终止持续执行的任务 & { sleep 超时时间 ; kill $! & }例如:ping 命令执行10秒后 终止ping 192.168.1.1 & { sleep 60; kill $! & }

2021-08-02 18:31:57 2448

原创 Hadoop基础知识整理

Hadoop三大组件:分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上分布式运算编程框架:MapReduce——实现多台机器的分布式并行运算。分布式资源调度平台:YARN —— 帮用户调度大量的mapreduce程序,并合理分配运算资源...

2021-07-28 11:10:38 64

原创 Spark 广播变量:SparkContext.broadcast定义及使用注意事项

今天来讨论一下spark里面的闭包问题,当用户提交了一个用scala语言写的Spark程序,首先这个Spark程序就是一个“Application”,程序里面的mian函数就是“Driver Program”,dirver程序的可能运行在客户端,也有可有可能运行在spark集群中,这取决于spark作业提交时参数的选定,比如,yarn-client和yarn-cluster就是分别运行在客户端和spark集群中。在driver程序中会有RDD对象的相关代码操作,它们是在Worker节点上面运行的,所以spa

2021-07-06 16:30:56 3817 2

原创 自然语言处理大数据:spark ML Word2Vec详解

简介Word2Vec 是一种著名的 词嵌入(Word Embedding) 方法,它可以计算每个单词在其给定语料库环境下的 分布式词向量(Distributed Representation,亦直接被称为词向量)。词向量表示可以在一定程度上刻画每个单词的语义。如果词的语义相近,它们的词向量在向量空间中也相互接近,这使得词语的向量化建模更加精确,可以改善现有方法并提高鲁棒性。词向量已被证明在许多自然语言处理问题,如:机器翻译,标注问题,实体识别等问题中具有非常重要的作用。​ Word2vec是一个Est

2021-06-11 17:54:50 713 1

原创 Python之Numpy数组常用操作 stack拼接 split分割

展平数组b.ravel()flatten()函数也可以实现同样的功能区别:ravel只提供视图view,而flatten分配内存存储重塑用元祖设置维度>>> b.shape=(4,2,3)>>> barray([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11], [12, 13, 14], [15, 16, 17],

2021-06-01 10:35:52 575

原创 Spark性能调优: num-executors, execuor-cores, executor-memory 配置建议

spark.hadoopRDD.ignoreEmptySplits默认是false,如果是true,则会忽略那些空的splits,减小task的数量。spark.hadoop.mapreduce.input.fileinputformat.split.minsize是用于聚合input的小文件,用于控制每个mapTask的输入文件,防止小文件过多时候,产生太多的task。spark.sql.autoBroadcastJoinThreshold 和spark.sql.broadcastTimeout.

2021-05-21 13:53:04 1513

原创 python常用命令行:版本号、安装、查询

1. 版本号查询python -V 或 python --version2. python包查询pip list 如果有anaconda环境还可以 conda list3. 安装python包pip install 或者 conda install

2021-05-18 11:14:34 146

转载 推荐系统之协同过滤

关于推荐系统的协同过滤读了一篇讲的特别好的笔记,怕之后会丢就搬运过来,文章引自:https://www.pianshen.com/article/27762043485/相似度的度量方法1.1.杰卡德(Jaccard)相似系数这个是衡量两个集合的相似度一种指标。两个用户 u u u和 v v v交互商品交集的数量占这两个用户交互商品并集的数量的比例,称为两个集合的杰卡德相似系数,用符号 s i m u v sim_{uv} simuv​表示,其中 N ( u ) , N ( v ) N(u),N(v)

2021-05-14 17:00:21 410

原创 分类回归KNN算法整理

K近邻算法(KNN)是一种常用的分类和回归方法,它的基本思想是从训练集中寻找和输入样本最相似的k个样本,如果这k个样本中的大多数属于某一个类别,则输入的样本也属于这个类别。关于KNN算法,一个核心问题是:如何快速从数据集中找到和目标样本最接近的K个样本?比如,我在app上阅读了一篇文章,推荐系统就应当为我推送与这篇文章最相近的文章,数据库中所有文章是用向量表示的,所以我们要解决的问题就是“找到与这篇文章的向量最相近的几个向量”,然后把这些向量对应的文章推送出去。KNN算法的三要素:距离度量、k值的选择

2021-04-08 10:17:22 474

原创 spark scala 常用函数

spark常用函数整理CONCAT_WS(separator,str1,str2,…)将多个字符串连接成一个字符串并用分隔符隔开reduceByKey(binary_function)Key相同的元素的Value进行binary_function的合并操作,如若括号内为(x,y) => x + y则表示对key相同元素value求和.drop(列名)用来丢弃指定列,na.drop用来丢弃行...

2021-03-19 11:29:43 663

原创 LeetCode 475. 供暖器 Python题解

题目解析题目给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,要求找出并返回可以覆盖所有房屋的最小加热半径。因此整体采用滑动窗口思想:在加热器数量大于一的情况下对房屋及加热器分别排序利用一个数组记录每个房屋到前一个加热器和后一个加热器距离最近的值。对于所有房屋取距离最大值,即为结果。代码class Solution(object): def findRadius(self, houses, heaters): res=[] ..

2021-03-14 22:44:30 277

原创 LeetCode 997. 找到小镇的法官 Python题解

题目分析题目给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为 b 的人。要求找出数组中那个大家都相信他但是他不相信任何人的人,如果没有就返回-1。因此构建两个数组,分别来存对应每个人相信的人数(出度)以及相信他的人数(入度)。然后遍历两个数组找到出度为0,入度为n-1的那个人,注意要输出他对应的位置+1才是他的序号。代码class Solution(object): def findJudge(self, N, trust..

2021-03-13 16:18:22 178

原创 LeetCode 1481. 不同整数的最少数目 Python题解 贪心算法

题目分析题目给了一个整数数组 arr 和一个整数 k 。要求从数组中恰好移除 k 个元素,输出移除后数组中不同整数的最少数目。在这里主要用到了python内置的counter & sort函数。通过counter函数统计数组中不同字母出现的频率把统计结果转换成list借助sort依照出现的频率进行排序按照贪心算法消掉出现频率最低的,代码```pythonclass Solution(object): def findLeastNumOfUniqueInts(se..

2021-03-12 21:14:00 175

原创 LeetCode 155. 最小栈Python题解:

LeetCode 155. 最小栈解题思路题目要求设计一个支持 push ,pop ,top 操作检索到最小元素的栈,并且要求时间复杂度是O(1)。因为对时间复杂度有要求因此这里不能使用.min()等内置函数,不过可以使用if条件判断,结合一个存放目前最小元素的辅助栈来实现。在实现过程中具体需要注意以下几点:对于入栈操作,当辅助栈为空时我们需要放入元素为了应对连续的最小元素出栈,除了新来的数小于辅助栈栈顶元素时需要放入辅助栈,当它等于栈顶元素时也要放入这样只要辅助栈栈顶元素等于栈顶元素时

2021-03-11 20:34:24 192 3

原创 shell常用指令:复制、新建、删除基本操作

Shell常用指令:复制、新建、删除、基本进程操作打开文件夹cd 后面加想要去的路径cd … 返回上一级cd 直接敲回车回到最初目录显示文件夹内容ls 显示文件夹里面的文件拷贝cp 要拷贝的文件 需要拷贝到的地址如果要拷贝的文件不在当前文件夹内,可在文件名前加上地址新建新建文件夹mk 目录名如果不在当前路径下可在目录名前加上路径新建一个文件vim 文件名然后会自动进入编辑模式,把要加的内容粘贴进去:wq 保存退出即可:q 直接退出:q! 强制退出顺便说几个vi

2021-03-11 10:45:29 1361

原创 LeetCode 695. 岛屿的最大面积Python 题解 递归实现DFS

LeetCode 695. 岛屿的最大面积 Python 题解 递归实现DFS题目分析题目要求概述:LeetCode 695. 岛屿的最大面积给定一个包含了一些 0 和 1 的非空二维数组 grid 。题目规定:一个 岛屿是由一些相邻的 1构成的组合,并且要求两个 1 必须在水平或者竖直方向上相邻。最终需要返回给定的二维数组中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。算法基本思路:通过递归实现DFS深度优先搜索算法,对每个节点向他的上下左右的4 个方向探索与之相连的每一个土地,

2021-03-10 23:27:44 610

空空如也

空空如也

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

TA关注的人

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