自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-03-27

本次学习模型融合,主要方法有算数平均,几何平均,投票,stacking,blending,boosting/bagging。 其中,算数平均和几何平均就是用字面意思对多个模型的预测结果做平均;投票就是对多个模型的分类结果进行少数服从多数的投票,也可以给不同模型不同权重,stacking就是用多层计算的方法,把第一层计算出来的结果作为新的变量放入第二层中,等于修正了模型,blending和stacking类似,但是是切出一部分训练集作为第二层的训练集,blending的优点是没有信息泄露,缺点是数据量太小,

2021-03-27 17:35:26 42

原创 2021-03-27

本次学习内容为DIN算法。该算法主要是根据业务理解而非数学推导想到的一个思路。其核心思路是:用户的历史浏览行为代表了用户的兴趣,用户的兴趣和本次浏览行为有显著关系。 所以DIN算法首先要做的就是找到用户的历史兴趣,这是通过生成一个multi-hot feature 来表示用户历史浏览记录汇总,展示用户对哪些具体内容感兴趣。但是因为这仍然是一个稀疏矩阵,所以需要embedding。但是multi-hot feature embedding完以后会变成一个序列,而且根据原始feature中1的数量不同,生成的

2021-03-27 16:38:40 60

原创 2021-03-25

本次学习了建模调参。要学习建模调参,首先要知道模型参数的含义,对于常用的需要调参的模型就是决策树,gbdt,xgboost,lightgbm,catboost 。他们各自的参数和解释如下: 1.决策树: criterion: 特征选取方法 splitter: 特征划分点选择方法 max_depth: 树的最大深度 min_samples_split:节点再划分所需最少样本数 min_samples_leaf: 叶子节点所需最少样本数 min_weight_fraction_leaf: 叶子节点所有...

2021-03-25 22:35:09 140

原创 2021-03-25

NFM是对于单纯的FM模型的优化,因为FM模型只有一阶和二阶交叉的特征,精准性不够。NFM就是把fm的二阶特征的公式替换成了dnn训练得出来的一个公式。 这个dnn的构建和一般dnn的区别在隐层和embedding layer 之间的b-interaction layer。b-interaction layer用的是两个特征的隐向量的元素积向量,和fm中的点乘不同.。 元素积向量的结果是向量,fm中点乘的结果是一个数 ...

2021-03-25 01:43:28 96

原创 2021-03-22

本次学习的是特征工程,且主打的是时间序列相关的特征。主要学习了tsfresh包中的extract_features,select_features,impute 三个函数的使用。 其中,extract_features的功能是对一个已经整理成样本id,时间,数值形式的df进行特征提取,提取出时间序列相关的特征。使用方式是extract_features(df,column_id = 样本id,column_sort = 'time') impute的功能是剔除生成特征中的Nan值,因为extract_f

2021-03-22 23:53:02 72

原创 2021-03-21

DeepFM模型是为了解决特征组合学习的准确性和计算量矛盾产生的。在学习DeepFM的思想前,首先要学习fm和ffm的思想。 fm:对于拥有多个特征的样本,两两组合原始特征,生成大量组合特征,并将组合特征作为输入项进入模型训练。 ffm:对所有特征分类,相同类型的特征放在一个field中,如性别类,年龄类,喜好类。对一个特定类增加一个field向量,并在交叉得出组合向量时只交叉自身field之外的向量,同时减少计算量和保留每个特定field的信息,增加准确度。 deepfm中对于field思想的使用主

2021-03-21 21:28:01 79

原创 2021-03-19

第二课是探索性分析,目标是大致了解数据集中数据的基本情况,为下一步做数据清洗,特征工程提供思路。 对于数据探索性分析主要有以下几个方面: 1.通过.head(),.tail()来直观地查看各个字段的数据样例,也可通过.info()实现,同时.info()可以显示数据集的类型。 2.通过.describe()来了解字段的统计量,主要对数值型字段有作用,可以了解其数量,均值,标准差,最大值,最小值,各个分位值,从而了解数据的大致分布。同时如果最大值或最小值出现明显偏离业务含义的值,则可认为该特征中含有脏数

2021-03-19 23:03:01 40

原创 2021-03-18

这次学习讲解了wide&deep算法的原理,主要原理是用两种各有优缺点的思路去处理特征。 wide: 思路:通过L1 FTRL使特征矩阵更加稀疏,来找到真正有用的特征。 适用特征:是易于解释的特征,根据业务经验判断和目标相关的特征 优点:使算法产生了记忆性,即把高频共现的特征作为一个特征来学习。结果易于解释 缺点:只能对出现过的特征产生记忆,无法自己创造特征,且发现的结论很可能可以从经验推导得出 deep: 思路:通过dnn抽象高维特征,找到不易于发现的规律 适用特征:不太稀疏的特征

2021-03-18 23:19:14 72

原创 2021-03-16

看了文字,知道了dnn用稀疏向量效果不好,要先embedding,降维并增加稠密程度。 关于Embedding向量又百度了一篇文章增加理解https://blog.csdn.net/weixin_44493841/article/details/95341407 知道了如果特征能自动交叉,模型效果会好。文中提到用多层残差网络来让特征充分交叉。找了很多篇文章看什么是残差网络,大意是说为了不让深度学习的层数太多导致效果不升反降,需要用到残差网络,让浅层的输出跳过几层作为深层的数据,让多层深度学习不至于变差。

2021-03-16 23:35:47 44

原创 2021-03-16

手打一遍baseline,从装包,到导入数据,清洗数据,调交叉验证函数,调模型处理函数,最后跑模型出结果。也算走了一遍流程。感觉能看懂,但是自己写不出来,主要还是对函数不熟悉,对各种对象的方法不熟悉,分不清什么时候用,同时很好奇参数调优的具体原理,这次没涉及到,期待后续课程。内存压缩以前没有见过,这次第一次见到,也有启发。 ...

2021-03-16 21:57:16 34

空空如也

空空如也

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

TA关注的人

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