- 博客(35)
- 资源 (8)
- 收藏
- 关注
原创 git常用操作
撤销本地修改:git checkoutgit checkout [文件名]该命令是撤销工作区的修改,即尚未进行add的文件参考https://blog.youkuaiyun.com/Dandelion_drq/article/details/51259831
2021-03-08 20:02:09
145
原创 hive创建udf
目的根据hive表中的多个字段创建一个json字符串,因此需要实现一个udf创建udfpackage com.ke.search_reco.toJson;import com.alibaba.fastjson.JSON;import org.apache.hadoop.hive.ql.exec.UDF;import java.util.HashMap;import java.util.Map;public class toJsonStr extends UDF { publi.
2021-03-06 14:01:30
443
原创 hive常用处理函数
get_json_object当字段是json字符串时,可用此方法解析需要的字段-- 单层解析select get_json_object(data, "$.log") as log-- 嵌套解析select get_json_object(get_json_object(data, "$.log"), "$.request_id") as request_idwith as(1)使代码可读性更高with table_1 as ( select * from table_2).
2021-02-18 20:42:49
235
原创 利用pyspark评估lightgbm模型
1.打包conda虚拟环境(1)cd到conda虚拟环境目录cd /home/work/.conda/envs(2)把虚拟环境打包zip -r -q lgb.zip light_gbm/(3)把打包好的虚拟环境上传到hdfshadoop fs -put lgb.zip /tmp/lip038/lgb_envs2.评估代码import osos.environ['PYSPARK_PYTHON'] = './light_gbm/light_gbm/bin/python'from pys
2020-09-15 21:19:09
1845
1
原创 pyspark dataframe数据分析常用算子
不断更新1.filter(1)单条件过滤data = df.filter(df['age'] == 20))或者data = df.filter('age = 20')(2)多条件过滤data = df.filter((df['age'] == 20) | (df['gender'] == 'male'))...
2020-02-22 12:30:32
3272
原创 pyspark中udf传参数
以一个简单的例子介绍如何使用udf进行参数的传递:首先创建一个简单的dataframedf = spark.createDataFrame([ (1, 100, 320), (2, 135, 400), (3, 140, 380), (4, 120, 500), (5, 130, 300), ...
2019-11-09 20:29:28
5076
3
原创 BP神经网络后向传播公式推导
关于梯度弥散问题:由上面的推导过程大概可以看出在求每一层的权重更新值时,都需要求激活函数的导数f'(x),若激活函数为sigmoid函数,因为sigmoid的函数值本来就在[0,1]之间,其导数f'(x)=f(x)(1-f(x)),将会更小,因此,当网络很深的时候使用sigmoid函数作为激活函数,在进行误差后向传播的时候出现梯度弥散问题。...
2018-07-11 20:29:18
795
原创 python实现后缀数组排序
#sa[i]表示排名为i的后缀的其实字符下标为sa[i]def build_sa(s,n,m, c, sa, x, y): for i in range(0,n): x[i] = s[i] c[ord(x[i])] += 1 for i in range(1,m): c[i] += c[i-1] for i in range...
2018-07-03 19:42:32
983
原创 动态规划时间复杂度
一、一维动态规划问题 一维动态规划时间复杂度一般有O(n)和O(n^2)两种,时间复杂度取决于状态转移方程。 1.如果第i个状态的确定需要利用前i-1个状态,即dp[i]由dp[i-1],dp[i-2],...,dp[0]决定,那么此时的时间复杂度为O(n^2)。如 leetcode139.单词拆分:139. 单词拆分给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDic...
2018-05-21 19:54:35
34759
1
原创 牛牛的背包问题
链接:https://www.nowcoder.com/questionTerminal/bf877f837467488692be703735db84e6来源:牛客网牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。 牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。 牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也...
2018-04-27 11:07:03
833
转载 字符串全排列的回溯法实现
问题描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 如下图所示,忽略紫色字体关于swap部分,因为这张图片中涉及的swap是另外一种思想的方法,而我这里是利用的不涉及swap的方法,只是借用这张图片进行描述。如果一个元素被访问过,则标记为红色...
2018-04-11 12:58:00
2027
1
转载 CentOS7安装MySQL5.7
记录CentOS7下安装MySQL5.7数据库 设置rpm下载目录在/opt目录下新建一个目录存放mysqlcd /optsudo mkdir mysql 下载MySQL的源wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 如果在这之前没有提示-bash: wget: command not found,那...
2018-04-02 08:30:24
338
原创 .gitignore
在使用git进行代码的版本控制时,可能存在一些本地工作区中的文件你不想同步到远程服务器,比如程序需要的数据(可能特别大),或者一些数据库的配置文件(里面包含密码等私密信息),那么就可以设置.gitignore文件达到目的。.gitignore匹配规则1.忽略文件夹 dir/ ,注意这不仅会忽略项目根目录下的dir文件夹,其他目录如dir1/dir2/dir中的dir目录 也会被忽略(其中dir
2018-01-18 08:42:11
201
原创 scala 计算程序运行时间
import java.util.Dateobject timetest { def main(args: Array[String]): Unit = { var start_time =new Date().getTime println("运行程序。。") var end_time =new Date().getTime println(
2017-09-23 11:17:54
8899
原创 github的SSH配置
本地与github是利用SSH进行通信的,因此在进行git操作之前应该在本地 ~/.ssh 目录下生成密钥对一 、设置Git的user name和email:$ git config --global user.name "yourname"$ git config --global user.email "youremail"二、本地生成密钥对
2017-09-13 14:23:13
301
原创 随机森林
随机森林 随机森林主要应用于回归和分类。这里主要说一下利用随机分类进行分类,随机森林分类是一种非线性分类方法,当数据集无法确定是否线性可分,或者利用线性分类器的效果不好时可以考虑利用随机森林,你可能会说为啥不用SVM(kernel为高斯核或者多项式核),我曾经利用核SVM进行非线性分类,数据量为30万左右,训练速度贼慢,所以就考虑用随机森林,随机森林的训练速度比SVM还是要快好多倍的。。。基本
2017-08-31 21:33:39
1361
原创 K近邻算法
K近邻算法三要素:距离度量、k值的选择、分类决策规则距离度量:一般用欧式距离即可 k值的选择:采用交叉验证选择k值 分类决策规则 优点: 1.精度高,对异常数据不敏感(你的类别是由邻居中的大多数决定的,一个异常邻居并不能影响太大),无数据输入假定 2.对于类域的交叉或者重叠较多的待分类样本集来说,KNN方法较其他方法更为合适(svm则不适用于这种分类问题) 3.在多分类问题上,KNN比s
2017-08-16 18:54:29
586
原创 关联本地仓库与远程gitlab仓库
1.先在gitlab创建一个仓库2.把本地工程push到gitlab已有仓库cd demo 切换到工程目录git init 通过该命令把工程目录(demo)变成Git可以管理的仓库git remote add origin ssh://git@gitlab.ruyi.ai:10022/lip/learngit.git 将本
2017-07-15 12:21:20
11336
原创 Myecplise 10创建struts2流程
Myecplise 10建立struts2流程:1.将需要的包(常用八个)复制到项目lib目录下 2.右键点击项目,选择myecplise->Add Struts capabilities 选择Struts2.1,之后变成下图所示 再选择 /*,点击finish。这时会发现在项目src目录下新增了一个struts.xml文件,同时web.xml文件中新增了关于strut
2017-05-16 11:24:42
452
转载 epoch和iteration的区别
深度学习中经常看到epoch、 iteration和batchsize,下面按自己的理解说说这三个的区别:(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;(2)iteration:1个iteration等于使用batchsize个样本训练一次;(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;举个例子,训练集
2017-05-07 08:42:41
2788
原创 adaboost迭代次数的理解
对于adaboost算法而言,迭代几次就产生几个基本分类器,当然分类器的个数越多分类的精度越高。那么怎么确定迭代的次数呢,在我的理解而言,之所以设置迭代次数,是因为当数据量很大的时候,如果还想让模型保持极高的精度,那么所消耗的时间也一定很久,所以为了保证精度的同时保证算法效率,那么在程序的迭代的终止条件需要有两个:一是迭代次数,这个迭代次数设置为在你的计算机的计算能力下,你所能容忍的时间限制
2017-04-14 09:53:45
6482
原创 结构风险最小化
损失函数和风险函数 监督学习问题是在假设空间中选取模型f作为决策函数,对于给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(x)与真实值Y可能一致也可能不一致,用一个损失函数或代价函数来度量预测错误的程度。损失函数是f(X)和Y的非负实值函数,记作L(Y,f(X))。 损失函数值越小,模型就越好。由于模型的输入、输出(X,Y)是随机变量,遵循联合分布P(X
2017-04-11 13:28:37
614
原创 EM算法--二维高斯混合模型(GMM)
EM算法是一种迭代算法,1977年由Dempster等人总结出,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization).所以这一算法成为期望极大算法(expectation maximization algorithm),简称EM算法。 首先准备一些预备知识,如:二维
2017-04-10 19:19:16
21356
4
原创 先验概率、后验概率、最大似然估计
先验概率和后验概率用P(h)表示在没有训练数据前假设h拥有的初始概率。P(h)被称为h的先验概率,是指根据以往经验和分析得到的h的概率。类似地,P(X)表示训练数据X的先验概率,P(X|h)表示假设h成立时X的概率。机器学习中,我们关心的是P(h|X),即给定数据X时h的成立的概率,称为h的后验概率。MAP与MLE最大区别是MAP中加入了模型参数本身的概率分布,或者说。MLE中认为
2017-04-06 21:48:20
1454
原创 adaboost算法
参考文章:http://blog.youkuaiyun.com/haidao2009/article/details/7514787参考代码:https://github.com/zengkui/machine-learning/tree/master/Adaboost步骤:第一步:读取训练数据第二步:基于训练数据构造弱分类器构造方法:先将所有数据的横标坐标从小到大排序,设置阈值,阈值分别
2017-03-23 17:07:56
1111
geckodriver-v0.16.1-win64.zip
2017-06-21
CNN学习代码(Matlab版本)
2017-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人