自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux之复制文件(cp/tar/rsync/cpio)

打开两个终端,在第一个终端执行cp等命令后,在第二个终端执行。先执行如下两个命令,安装progress。即可查看cp等命令的执行进度了。

2023-07-05 10:28:48 552

原创 Linux下python/pip/numpy/tensorflow安装流水记

安装踩坑记录

2023-02-07 14:11:15 1076 1

原创 机器学习调参技巧

这样训练一段时间以后,如果模型一直没有收敛,那么就可以停止训练,尝试其他参数了,以节省时间。如果训练到最后,训练集,测试集准确率都很低,那么说明模型有可能欠拟合。如果训练集准确率较高,测试集准确率比较低,那么模型有可能过拟合,这个时候就需要向提高模型泛化能力的方向,调节参数。因此可以尝试对数据进行精简,以提高速度,在有限的时间内可以尝试更多参数。实践中,一般先进行初步范围搜索,然后根据好结果出现的地方,再缩小范围进行更精细的搜索。这里给出一些参数的经验值,避免大家调参的时候,毫无头绪。

2022-11-22 20:40:37 1069

原创 python--将当前目录下同一类型的文件打包成压缩包

python--将当前目录下同一类型的文件打包成压缩包

2022-07-02 17:20:03 587

原创 python绘图技巧汇总

python绘图相关操作

2022-07-02 16:37:26 833

原创 论文笔记:LBCF: A Large-Scale Budget-Constrained Causal Forest Algorithm

该工作以金币下发场景为背景,评估金币下发数量对用户观看时长的因果效应,并基于评估结果设计了个性化下发机制。challenge:contribution:related work:这一部分主要是围绕自己的challenge讲述了现有工作的不足,共分两类:针对related work里的问题,LBCF提出了相应的解决方法,方法论主要分成两大部分:问题定义:值得一提的是LBCF对multi-treatment下CATE的定义:他们以Y(T=0)为基线,只考虑Y(T=j)到Y(T=0)的差值。作者针对mul

2022-06-23 13:42:06 989 2

原创 论文笔记:Generalized Random Forests

广义随机森林学习笔记

2022-06-21 19:19:29 1782 1

原创 【编程练习】拼多多2021笔试真题集

题目来源:牛客,拼多多2021笔试真题集第一题:多多的数字组合打卡题,很明显的两个约束:每个位数各不相同 + 数字最小,在这两个条件的约束下,N最大为45,对应的数字为123456789。代码如下:def main(): N = int(input()) if N>45: print(-1) else: ind = 9 # 指示当前添加到那个数字了 ans = '' while N>ind: .

2022-04-20 21:03:37 1120

原创 【编程练习】回转寿司

题目来源:牛客,美团2021校招笔试编程题,第3题题目描述题解参考了别人的思路,这个问题可以分解为经典贪心+回转。当不考虑回转(环形)情形时,只需要用贪心求解最大连续子串值即可;当考虑回转(环形)情形时,可反向思考,就是,求解非环形连续子串的最小值,用总和减去该最小值就能得到最大值。贪心求解的思路:关键在于判断什么时候从新开始计数——当当前的子串总和小于0时,就得重新开始下一个子串,在此过程中,维护最大值;def main(): T = int(input()) for .

2022-04-19 10:04:36 692

原创 【编程练习】木桩

题目来源:牛客挑战赛第一题题目描述题解思路:只考虑一个小木桩(记作b),假设b前面有x个大木桩,后面有y个大木桩,那么,这个小木桩b能够带来的美观值为xy-x,即x(y-1)。又因为x+y=a,所以很容易得到当y为ceil((a+1)/2)时,x*(y-1)最大。一共有b个小木桩,所以最大的美观值就是bx(y-1),其中y=ceil((a+1)/2),x+y=a。代码如下:import mathdef main(): T = int(input()) for i in ra.

2022-04-17 16:25:22 196

原创 字节视频算法岗日常实习面经

个人背景:之前的研究方向是基础的因果推断,毫无视频算法基础,只了解经典机器学习算法,这次实习是直系学姐内推的。自己也很想在算法上有所提升,所以斗胆试了试。一面流程总述先是让我讲讲因果这一块的发展然后问了我梯度下降的原理,并且简单实现了一下接着让我实现挑一个自己了解的机器学习算法实现一下最后,问我是否了解图像的平移、旋转、放缩,让我实现了一下图片放缩总的来说,就是考察了三道代码,接着分别阐述每一部分的细节梯度下降面试官问我梯度下降是怎么实现的,我就以感知机为力,推导了一下梯度下降的过.

2022-04-15 20:18:45 2086

原创 【编程练习】视力表

题目来源:牛客,阿里巴巴编程题(2星),第10题题目描述题解这道题的本质就是实现Cnm\text{C}_n^mCnm​,ans = CN2a\text{C}_{N^2}^aCN2a​+CN2−ab\text{C}_{N^2-a}^bCN2−ab​+CN2−a−bc\text{C}_{N^2-a-b}^cCN2−a−bc​。代码如下:import mathp = 998244353def power(x,y): #求x的y次方 global p res = 1 .

2022-04-12 10:35:49 676

原创 【编程练习】牛牛的方格图

题目来源:牛客小白月赛47,第E题【前4题都比较简单】题目描述题解思路:1)首先需要想清楚,如何框定某种颜色的覆盖范围?以下列方格图为例:1 3 3 43 2 1 46 3 3 4对于颜色3而言,一共有2种典型的覆盖方式:从(2,1)到(3,3) 和 从(2,1)到(3,1);这两种覆盖方式涵盖了颜色3所能覆盖的最大面积。从中可以发现,某个颜色所能覆盖的最大范围,其实由该颜色的min_x、min_y、max_x、max_y决定;2)如何标记覆盖范围?覆盖范围其实由以(min_x,mi.

2022-04-10 19:29:14 1305

原创 【编程练习】蚂蚁森林之王

题目来源:牛客,阿里巴巴编程题(2星),第8题题目描述题解倒序遍历。记录每个动物的粉丝数量,这里的粉丝数量存在累计,例如:3崇拜2,2崇拜1,那么1就有2个粉丝。从编号最大的动物开始,更新粉丝数量。而每个动物能得到的最高票数就等于粉丝数量加1。代码如下:⚠️注意,当动物i没有崇拜者时,需跳过该动物,不然就累加到最后一个动物的粉丝数量上了。def main(): n = int(input()) obj = [int(i) for i in input().split()].

2022-04-09 09:48:54 288

原创 【编程练习】小强的神器矩阵

题目来源:牛客,阿里巴巴编程题(2星),第7题题目描述题解法一:错误方法🙅‍♂️想用贪心去解,但解法是错的,代码如下:def main(): n = int(input()) a1 = [int(i) for i in input().split()] a2 = [int(i) for i in input().split()] a3 = [int(i) for i in input().split()] l1 = [a1[0],a2[0],a3[0].

2022-04-08 09:20:47 239

原创 【编程练习】国际交流会

题目来源:牛客,阿里巴巴编程题(2星),第6题题目描述题解思路比较简单,将n个member按从小到大的顺序排列,分成small和big两部分【若n为奇数,则small的长度比big多1】,再将big逆序,穿插合并small和big即可。代码:import mathdef main(): n = int(input()) member = [int(i) for i in input().split()] member.sort() small = membe.

2022-04-07 10:57:25 90

原创 【编程练习】小强修水渠

题目来源:牛客,阿里巴巴编程题(2星),第5题题目描述题解法一:中位数水渠的位置是序列中的中位数。证明如下:虽然不是很理解,但可以当个结论记住吧。代码:def main(): n = int(input()) ans = 0 xlist = [] for i in range(n): xi,yi = map(int,input().split()) xlist.append(xi) xlist.sort() .

2022-04-06 14:27:55 260

原创 【编程练习】比例问题

题目来源:牛客,阿里巴巴编程题(2星),第4题题目描述题解思想:先化简a/b至俩质数之比。那么,x/y = a/b*m。又因为x和y需要小于A和B,且x和y的乘积最大。这意味着m需要满足:x和y是小于A和B的最大值。这里,m存在两种可能性:1)x是小于A的最大值:m1=int(A/a),x1=m1a,y1=m1b;2)y是小于B的最大值:m2=int(B/b),x2=m2a,y2=m2b;现在就需要判断,应该选取m1还是m2:当y1大于等于B时,m1被排除;当x2大于等于A时,m2被排除.

2022-04-05 20:06:16 298

原创 【编程练习】小强去春游

题目来源:牛客,阿里巴巴编程题(2星),第3题题目描述从样例就可以看出,在选择由谁往回划的时候有两种选择方法。对样例1([2,10,12,11])来说,每次都由最轻的人往回划,这种方法是最省时的;对样例2([2,3,7,8])来说,如果每次都由最轻的人往回划,这种方法的耗时为22,而样例2给的答案是19。这时需要转换思路,先搞清楚19是怎么来的:令time=0;第一次“往”:2和3一起,time+=3;第一次“返”:2独自回来,time+=2;第二次“往”:7和8一起,time+=.

2022-04-03 17:33:54 814

原创 【编程练习】选择物品

题目来源:牛客,阿里巴巴编程题(2星),第2题题目描述题解法一:很绕的想法自认为本质是实现n进制的加法,但觉得很难实现,便借助了进制转换。思想:以n=8,m=5为例。最小的输出(minn)肯定是“1 2 3 4 5”,最大的输出(maxn)是“4 5 6 7 8”。为了计数方便,借助了映射转换:minn其实可以映射为“0 0 0 0 0”,而maxn可以映射为“3 3 3 3 3”,映射到4进制空间。所以,输出其实可以看做5位(m位)4进制(n-m+1进制)数,即“a0 a1 a2 a3.

2022-04-01 22:45:01 262

原创 【编程练习】完美对

题目来源:牛客,阿里巴巴编程题(2星),第1题题目描述题解法一:暴力解法【必然超时😅】好歹也是一个字一个字敲出来的,记录一下def isPerfect(a,b,k): base = a[0]+b[0] for i in range(1,k): if base==a[i]+b[i]: continue else: return 0 return 1def main(): ans .

2022-04-01 16:24:18 628

原创 【编程练习】第K小子串

题目来源:牛客,腾讯2021校园招聘技术类编程题汇总 第2题题目描述:题解:法一:个人解法✨利用python中的set+list.sort(),感jio有点无耻。💡唯一一点想法是:第k小的子串的长度必然小于等于k,因此,只需要将字符串s中长度小于等于k的所有子串拿出来并排序即可。⚠️注意,由于子串可能会重复,因此借助了set去重。🔥再注意,之前的一个错误想法是:当subs中存储的子串数量大于k时就可以停止收集子串,但这种想法是错的,因为前k小的子串可能出现在很后面。def main().

2022-03-31 20:03:03 1218

原创 知识点随记

2022/03/03 周四字符串排序的正确方式:sorted(str)list排序可用:list.sort()修改字符串的几种方式:s=s.replace('A','aa')s=s[:i]+'aa'+s[i+j:]错误方式:s[i:i+3]='abc',字符串不允许赋值,除非把字符串变为list;字符串去除首尾字符:去除首尾字符:s=s.strip(si),si为字符串,若不传入参数,则默认去除空格;去除首部字符:s=s.lstrip(si);去除尾部字符:s=s.rstrip

2022-03-03 11:27:28 121

原创 vscode+github同步

记录一下自己蠢蠢的第一次。。。目前在写论文,老师建议通过github进行同步,现记录vscode和github如何实现同步。首先在github上创建一个repository【因为是论文,所以权限设置为private】将repository克隆到本地:a. 点击“code”,复制这个urlb. 打开终端,cd到自己要存储的目录下,执行如下命令:git clone *****(****是刚复制的url)(cd到桌面,则这个repository就会克隆到桌面,是一个以仓库名为名的文件夹)命.

2022-02-25 17:44:06 10121

原创 【统计学习方法】第四章 朴素贝叶斯

模型定位:朴素贝叶斯属于分类模型、生成模型GitHub:基本概念条件概率:P(A∣B)=P(AB)P(B)P(A|B)=\frac{P(AB)}{P(B)}P(A∣B)=P(B)P(AB)​乘法公式:P(AB)=P(A∣B)∗P(B)P(AB)=P(A|B)*P(B)P(AB)=P(A∣B)∗P(B)贝叶斯公式:P(Y∣X)=P(X∣Y)∗P(Y)P(X)P(Y|X)=\frac{P(X|Y)*P(Y)}{P(X)}P(Y∣X)=P(X)P(X∣Y)∗P(Y)​后验概率【指定了条件的条件概.

2021-12-11 22:09:56 1272

原创 【统计学习方法】第二章 感知机

感知机模型定位:感知机属于 二分类模型/线性模型/非概率模型/判别模型回顾:统计学习三要素:模型+策略+算法算法原理模型输入空间/特征空间:X⊆RnX \subseteq R^nX⊆Rn输出空间:y∈y \iny∈ {-1,+1}输入到输出的映射:y=sgn(wx+b)y=sgn(wx+b)y=sgn(wx+b) 【sgn为符号函数】假设空间:{f|f(x)=wx+b}几何解释:wx+b=0是特征空间中的一个超平面S,w是该平面的法向量,b是截距;前提假设:当数据集线性可分时,感知.

2021-12-05 21:37:45 1321

原创 机器学习模型:数据探索 特征工程 建模

背景:本文用于记录机器学习建模的整体思路,包括数据探索思路、可视化、特征工程等步骤ref:https://www.kaggle.com/erikbruin/house-prices-lasso-xgboost-and-a-detailed-eda#executive-summaryExplore Data1 数据整体情况拿到数据的第一步,先查看数据形状shape,python下dataframe数据常用方法为describe()查看要点:1、查看数据条数2、查看原始特征个数及数据格式3、.

2021-08-02 15:08:16 539

原创 剑指offer 50~68-II题 python题解记录

题50:第一个只出现一次的字符法一:我以为我想的是个牛气方法,结果????了虽然代码行数很少,但每次count都会遍历一遍sclass Solution: def firstUniqChar(self, s: str) -> str: for i in s: if s.count(i)==1: return i return " "法二:正解是用字典记录下每个字符出现的次数,再返回第一个只出现一次

2021-05-23 16:31:31 106

原创 剑指offer 46-49题 python题解记录

题46:把数字翻译成字符串啊啊啊终于会用dp了,向前迈了一步,奶思!!和青蛙跳是一个思路,转移方程:dp[i] = dp[i-1] #当前数字单独翻译为一个字母(0<=val<=9)dp[i]+=dp[i-2] if s[i-1]+s[i] 可以翻译成一种字母 (10<=加起来val<=26)我将dp[0]、dp[1]都初始化了,王先生的题解没有class Solution: def translateNum(self, num: int) -> int:

2021-05-22 21:11:21 89

原创 剑指offer 43-45题 python题解记录

题43:1~n整数中1出现的次数这道题从思路上都没转换过来,最初试图分段统计,但正确思路是计算每个数位上可能出现的1的次数详细分析见????王先生的题解法一:我的版本相对复杂一点,没有正解简洁class Solution: def countDigitOne(self, n: int) -> int: ans,s=0,str(n) for i in range(len(s)): high,low=s[:i],s[i+1:]

2021-05-17 21:26:24 80

原创 剑指offer 题39-42 python题解记录

题39:数组中出现次数超过一半的数字法一:字典/哈希表统计用字典记录下num出现的次数,若超过1/2,则return时间复杂度O(N)、空间复杂度O(N)class Solution: def majorityElement(self, nums: List[int]) -> int: d={} l=len(nums) for num in nums: if num in d.keys():

2021-05-16 20:51:29 116

原创 剑指offer 34-37题 python题解记录

题34:二叉树中和为某一值的路径深度优先能想到,但还是有几个点是自己没想清楚的:关于target匹配,我想的是从0开始,加上当前节点的值,去判断是否和target相等,但大佬的做法是从target开始,减去当前节点的值,判断是否为0;这一做法的好处是,避免了回朔过程中的当前值难以记录的问题,妙啊关于将list的append问题,由于path指向列表,因此直接用res.append(path)是将path指向的空间加到了res里,后续path改变时,res也会变(深浅拷贝问题),解决方法是,采用res

2021-05-11 16:20:17 98 1

原创 剑指offer 题20-33 Python题解记录

题20:表示数值的字符串我的做法更复杂一点,因为之前没有考虑到科学计数法前半部分也可以是浮点数。主要是分情况讨论,分别处理:1)含有e时;2)不含e但含有.时3)既不含e也不含.时;这三种情况。同时,将有符号数和无符号数的判断集成为了函数;class Solution: def isNumber(self, s: str) -> bool: s = s.strip() #去掉字符串的首尾空格 if s != '' and (s[0] == '+' or s[

2021-04-27 13:54:17 166

原创 剑指offer 题9,12-18 python题解记录

题9:用两个栈实现队列队列是先进先出,栈是先进后出,两个栈实现队列的基本思想就是:数据从stack1进入,再将stack1中的数据倒到stack2中,那么从stack2中出来的数据顺序就和进入stack1中的数据顺序一样了,也就实现了队列。处理细节就是,有数据进入时,只管往stack1中添加,当需要取出数据时,只管从stack2中取,如果stack2为空,那么就把stack1中的元素倒到stack2中(妙喵喵~王先生题解????hereclass CQueue: def __init__(se

2021-04-16 13:19:24 110

原创 剑指offer 题10-11 python题解记录

题10-1:斐波那契数列法一:递归(C语言讲递归的经典例题),但超时了。。class Solution: def fib(self, n: int) -> int: # 递归超时 if n<=1: return n else: return int((self.fib(n-1)+self.fib(n-2))%(1e9+7))法二:循环class Solution: def f

2021-04-15 11:27:47 93

原创 剑指offer 题3-7 python题解记录

注:题目编号与LeetCode一致基本上,法一都是我想到的,法二都是@王先生想到的,我太蠢了ಠ_ಠ……题3:数组中重复的数字法一:遍历nums,如果i不在uni中,则将i放入uni中,若存在,则return;评价:该方法的缺点是,除了遍历nums,还需要遍历uni,复杂度为O(n^2)class Solution: def findRepeatNumber(self, nums: List[int]) -> int: uni = [] for i .

2021-04-14 18:12:02 151 3

原创 数据清洗实战入门——数据表处理

数据筛选方法df.info():查看数据表概况df.head(n):查看前n行/条数据取某个字段:df['name']取多个字段:df[['name1','name2']]取对应字段的某/多行:df[['name1','name2']][3:6]loc函数:根据索引进行选择(Selection by Label)形式:df.loc[row,columns]选取多个列标签时,可用列表的形式放到columns那里,eg:df.loc[:,['uid','age']]可用表达式筛选行,eg:

2021-01-19 16:22:11 331

原创 数据清洗实战入门——文件操作

csv文件读写csv文件名尽量为英文读取方法:data=pd.read_csv('file_name.csv',encoding='utf-8'),注意提前修改当前路径,该方法返回的数据结构是dataframe参数:encoding:指定编码格式,一般为utf-8、gbk、gbk2312、gb18030dtypes:指定某列数据的数据类型,eg:data=pd.read_csv('file_name.csv',encoding='utf-8',dtypes={'a':str,'b':

2021-01-19 14:03:10 191

原创 数据清洗实战入门——常用数据结构

numpy常用数据结构——ndarray实质:矩阵/n维数组创建方法:array(列表/元组):不指定数据类型:np.array([1,2,3]) => [1,2,3]指定数据类型:np.array([1,2,3],dtype=str/float/int)创建多维数组:使用嵌套列表:np.array([[1,2],[3,4],[5,6]])使用arange:np.arange(a,b,s) #a为起始值,b为终止值,s为步长,左闭右开,不包含终止值创建等差数列:np.

2021-01-19 13:41:55 271

原创 Hive SQL整理

目录collect_setcollect_set作用:把一个字段中的值组合到一个集合中,搭配where(筛选)、group by使用;示例:-- id:用户;time:登陆日期select id,collect_set(time) as t from t_action_login where time<='20150906' group by id该查询结果如下: [email protected]

2021-01-14 18:30:22 310

空空如也

空空如也

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

TA关注的人

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