自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 新闻推荐-task05

目录排序排序

2020-12-06 19:29:10 93

原创 新闻推荐竞赛-task04

目录制作特征和标签数据读取训练验证集划分获取历史点击和最后一次点击读取召回列表读取各种embedding读取文章信息对训练数据负采样特征工程用户历史行为相关特征用户和文章特征用户相关特征分析一下点击时间和点击文章的次数,区分用户活跃度分析一下点击时间和被点击文章的次数, 衡量文章热度特征用户的系列习惯用户的设备习惯用户的时间习惯用户的主题爱好用户的字数偏好特征用户特征直接读入文章特征直接读入总结制作特征和标签我们先捋一下基于原始的给定数据, 有哪些特征可以直接利用:文章的自身特征, category

2020-12-01 21:26:11 317

原创 新闻推荐竞赛-task03

目录多路召回工具faiss 使用召回YoutubeDNN召回itemcf recallusercf召回冷启动问题多路召回合并多路召回所谓的“多路召回”策略,就是指采用不同的策略、特征或简单模型,分别召回一部分候选集,然后把候选集混合在一起供后续排序模型使用,可以明显的看出,“多路召回策略”是在“计算速度”和“召回率”之间进行权衡的结果。其中,各种简单策略保证候选集的快速召回,从不同角度设计的策略保证召回率接近理想的状态,不至于损伤排序效果。如下图是多路召回的一个示意图,在多路召回中,每个策略之间毫不相关

2020-11-29 22:40:47 296

原创 新闻推荐竞赛-task02

数据分析数据分析的价值可用的一些方法本次数据分析的结论数据分析的价值数据分析的价值主要在于熟悉了解整个数据集的基本情况包括每个文件里有哪些数据,具体的文件中的每个字段表示什么实际含义,以及数据集中特征之间的相关性,在推荐场景下主要就是分析用户本身的基本属性,文章基本属性,以及用户和文章交互的一些分布,这些都有利于后面的召回策略的选择,以及特征工程。建议:当特征工程和模型调参已经很难继续上分了,可以回来在重新从新的角度去分析这些数据,或许可以找到上分的灵感。可用的一些方法数据预览直方图看分布用

2020-11-26 20:22:15 110

原创 新闻推荐竞赛-task01

这里写自定义目录标题赛题理解赛题理解究竟是在理解什么有了赛题理解之后,我们该做什么?赛题理解赛题链接https://tianchi.aliyun.com/competition/entrance/531842/introduction赛题理解究竟是在理解什么理解赛题:从直观上对问题进行梳理, 分析问题的目标,到底要让做什么事情, 这个非常重要理解数据:对赛题数据有一个初步了解,知道和任务相关的数据字段和数据字段的类型, 数据之间的内在关联等,大体梳理一下哪些数据会对我们解决问题非常有用,方便后面

2020-11-23 11:45:00 207 1

原创 序列

序列:字符串,列表,元组,集合和字典内置函数:函数作用例子list(sub)把一个可迭代对象转换为列表tuple(sub)把一个可迭代对象转换为元组str(sub)把obj对象转换为字符串len(s)返回对象(字符、列表、元组等)长度或元素个数串max(s)返回序列或者参数集合中的最大值min(s)返回序列或者参数集合中的最小值sum(iterable[, start=0])返返回序列iterable与可选参数start

2020-08-25 21:57:32 126

原创 字典

可变类型与不可变类型那么如何快速判断一个数据类型 X 是不是可变类型的呢?两种方法:麻烦方法:用 id(X) 函数,对 X 进行某种操作,比较操作前后的 id,如果不一样,则 X 不可变,如果一样,则 X 可变。便捷方法:用 hash(X),只要不报错,证明 X 可被哈希,即不可变,反过来不可被哈希,即可变。i = 1print(id(i)) # 140732167000896i = i + 2print(id(i)) # 140732167000960l = [1, 2]pri.

2020-08-25 21:07:58 112

原创 字符串

字符串的定义如果字符串中需要出现单引号或双引号,可以使用转义符号\对字符串中的符号进行转义原始字符串只需要在字符串前边加一个英文字母 r 即可字符串的切片与拼接类似于元组具有不可修改性常用内置方法1.capitalize() 将字符串的第一个字符转换为大写2.lower() 转换字符串中所有大写字符为小写3.upper() 转换字符串中的小写字母为大写4.swapcase() 将字符串中大写转换为小写,小写转换为大5.count(str, beg= 0,end=len(str..

2020-08-25 11:13:28 138

原创 元组

创建和访问一个元组元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用更新和删除一个元组元组有不可更改 (immutable) 的性质,因此不能直接给元组的元素赋值,但是只要元组中的元素可更改 (mutable),那么我们可以直接更改其元素,注意这跟赋值其元素不同。内置方法因此只有 count 和 index 两种方法解压元组解压(unpack)一维元组(有几个元素左边括号定义几个变量)解压二维元组(按照元组里的元组结构来定义变量)...

2020-08-25 10:17:38 109

原创 一点感想

马上30了,有点小感触。原来一直觉得自己是个孩子,一直拒绝长大,每天浑浑噩噩过日子。从2018年开始,一年比一年难过。真的,现在越来越觉得活着好难,生活好难。真的,真的。但是每个人都不容易,不要寄希望于有人会理解你的不容易。但是活着真的好难,各种压力压得我喘不上气来。好想放弃,人这一生就是要体验各种感觉的是吧。谁说的出呢,意外和明天哪一个会先来呢,真的是。珍惜每一天吧。最近各种不顺,心情有点low,随便写写。就是觉得活着好难,但是也不敢死。就这么一天天的游荡在人世间。...

2020-08-10 16:30:04 171

原创 列表

1列表的创建方式:1.利用range() 创建列表2.利用列表表达式来创建列表2向列表中添加元素:append()extend()list.insert(index,obj) 在编号index位置插入obj3删除列表中的元素list.remove(obj) 指定元素list.pop([index]) 默认是最后一个元素,并且返回该元素的值 指定索引del var[0:2]4获取列表中的元素切片通用: start:stop:stepstep = -1 相当于将列表反向排列prin

2020-08-03 18:53:16 77

原创 时间复杂度空间复杂度分析

四件套是什么:1.弄清要解决的问题,整理好思路2.思考所有能解决问题的方法,同时比较这些方法的时间和空间复杂度3.选择最优的解决方案4.验证问题的结果的正确性时间复杂度算法时间复杂度二分查找logn二叉树遍历n(所有节点仅遍历一次)二维矩阵logn归并nlogn空间复杂度:数组长度递归树的深度编程常用工具基本功+编程指法...

2020-08-03 17:31:30 63

原创 集合

1.集合的创建s = set()集合的特点:无序,唯一2.集合的内置方法:set.add(elem)set.update(set) 可以添加新的元素到当前集合中3. 集合操作交集:set.intersection(set1,set2)set1 & set2set.intersection_update(set1, set2) 交集,在原始的集合上移除不重叠的元素。a = set('abracadabra')b = set('alacazam')print(a) # {'r

2020-08-02 12:10:40 89

转载 链表系列1

1.反转链表输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object):

2020-07-25 21:57:30 56

原创 task03:异常处理

1.try-excepttry: 检测范围except Exception[as reason]: 出现异常后的处理代码2.try-except-finallytry: 检测范围except Exception[as reason]: 出现异常后的处理代码finally: 无论如何都会被执行的代码3.try-except-elsetry: 检测范围except: 出现异常后的处理代码else: 如果没有异常执行这块代码

2020-07-25 21:15:28 145

转载 数组类和字符串类系列2

1.寻找两个正序数组的中位数给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。解题思路:这个题是hard,变态在他需要 O(log(m + n)),一般log的,大家会想到二分折半,木有错,这个需要这种思路,看了好多大牛的方案,最终将问题转换为***寻找第k小数(折半剔除)***key:每次剔除的都在第k小数左边 n-(n

2020-07-25 16:33:09 51

转载 条件与循环

assert 关键词assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常while - else 循环当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容enumerate()函数sequence – 一个序列、迭代器或其他支持迭代对象。start – 下标起始位置。返回 enumerate(枚举) 对象..

2020-07-23 23:46:21 98

转载 数组类和字符串系列1

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]暴力法,时间复杂度时间复杂度:O(n^2)class Solution(object): def twoSum(self, nums, ta

2020-07-23 11:01:30 69

原创 RDD编程小结

来来来

2020-07-20 21:29:41 252

原创 Task01: 变量、运算符、数据类型及位运算

Task01: 变量、运算符、数据类型及位运算怎样对python中的代码进行注释?单行注释:#多行注释:’’’ ‘’’ or “”" “”"python有哪些运算符,这些运算符的优先级是怎样的?算数运算符比较运算符逻辑运算符...

2020-07-20 18:13:58 133

空空如也

空空如也

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

TA关注的人

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