自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 推荐系统论文阅读:User Profiling based Deep Neural Network for Temporal News Recommendation

摘要:用户时序行为建模在推荐系统中是一个很重要,同时富有挑战性的任务。时序行为建模为模型求参增加了困难,同时时序数据建模意味着更大的数据量需求。本文作者提出了一个两层次的深度学习框架,首先将新闻文本表示成doc2vec词向量,然后利用这些doc2vec词向量以及用户阅读历史生成用户画像。使用用户画...

2020-03-31 21:59:46

阅读数 48

评论数 0

原创 推荐系统之位置敏感的评价指标--MAP和NDCG

recall 在topN推荐中,我们为用户推荐N个item,如何来评价此推荐的效果呢?比较常用的是Recall(或者hitratio)也就是计算我们正确推荐的item数量占用户总的item数量的比重。举个新闻推荐的例子,假设我们为某个用户推荐了10条新闻,假设其中有5条新闻是用户喜欢的,用户点击新...

2020-03-28 12:38:48

阅读数 67

评论数 0

原创 bagging 与boosting的联系与区别

区别: 1、样本选择上。bagging使用自助采样方法每轮抽取局部数据训练基模型,boosting使用全部样本训练基模型。 2、样例权重。bagging中每个样本所占的权重是一样的,boosting中开始时样本权重一样,但在每轮的训练中会减小分类正确的样本的权重,增大分类错误的样本的权重。 3、模...

2020-03-25 10:25:05

阅读数 59

评论数 0

原创 剑指offer--从头到尾打印链表(python)

题目描述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 思路1: 可以使用栈结构,从头到尾遍历链表放入栈中,根据栈先入后出的性质,可以实现将链表从尾到头返回。在python中可以用列表结构来实现栈的功能。 def printListFromTailToHead(self, li...

2020-03-18 10:25:10

阅读数 51

评论数 0

原创 xgboost中用来防止过拟合的措施

1、损失函数中加入了正则化项,相当于预剪枝 2、shrinkage 即在迭代中为树的叶子结点乘以一个权重衰减稀疏,以削弱每棵树的影响力,为后面的树留下提升空间3 3、列采样,即特征采样。 有按层采样和建树之前随机采样两种方式。 其中按层采样是在同一层的结点进行分裂之前随机选择部分特征,对这些部分特...

2020-03-17 23:00:56

阅读数 108

评论数 0

原创 GBDT算法原理及常见面试问题

文章目录1、介绍GBDT2、GBDT如何做特征选择3、GBDT如何构建特征4、GBDT如何做分类 1、介绍GBDT GBDT是一种基于boosting集成方法的加法模型,在每一轮迭代中,产生一棵cart回归树来拟合损失函数在当前模型—也就是前t-1棵树叠加构成的模型下的负梯度值。 训练过程描述如下...

2020-03-17 22:16:50

阅读数 54

评论数 0

原创 决策树的预剪枝和后剪枝

为了防止决策树模型的过拟合,有预剪枝和后剪枝两种剪枝方法。 预剪枝: 在决策树生成的过程中,预先估计对结点进行划分能否提升决策树泛化性能。如果能提升,则对此结点进行划分,否则不划分。 优点: 1、使用预剪枝,决策树中很多分支未展开,可以很好的防止过拟合。 2、因为是在构造决策树的过程中进行的,所以...

2020-03-11 15:25:21

阅读数 114

评论数 0

原创 决策树--缺失值如何处理

参考博客 参考的博客中介绍得通俗易懂,大家可以看看。 决策树如何处理缺失值?也就是面对两个问题: 1、如果样本某个属性有缺失值,那么怎么计算使用这个属性划分结点时的信息增益呢? 2、在第一步的基础上,即使信息增益计算出来了,那么由于样本这一属性值缺失了,应该将这一样本划分到哪个子结点呢? 我们分别...

2020-03-11 14:29:58

阅读数 80

评论数 0

原创 机器学习原理扫盲系列(三)LR与SVM的联系与区别

联系: 1、都是监督学习的分类算法 2、当不考虑核函数时,LR和SVM都是线性分类模型 3、都是判别模型 区别: 1、本质上的不同是loss的不同,也就是分类原理的不同。 LR的目标是最小化模型分布与经验分布之间的交叉熵 SVM的目标是最大化分类间隔 2、SVM决策边界只考虑分界面附近的点,即支持...

2020-03-07 12:15:45

阅读数 42

评论数 0

原创 核函数及SVM核函数的选择

核函数: 当数据非线性可分时,可将数据从低维空间映射到高维空间,使数据在高维空间线性可分,之后在优化时需要计算内积,复杂度很高。而核函数准确地说是一种核技巧,能够简便的计算内积,从而能够简便地解决非线性问题。 SVM核函数的选择: 吴恩达老师老师的建议: 1、当样本特征数目远远大于样本数量时,特征...

2020-03-06 21:48:07

阅读数 163

评论数 0

原创 机器学习原理扫盲系列(二)逻辑回归如何实现多分类?

三种方式 1、假设类别有n个,则每一种类别训练一个logistic分类器 每一个分类器能够区分某个类和其余的类。在进行预测的时候,使用n个分类器对样本进行预测,哪个类别的概率最大则将样本预测为这个类别。 优点:普适性好,多少类别训练多少分类器,效率较好 缺点:训练二分类器时,将一类样本标记为1,其...

2020-03-06 18:04:02

阅读数 47

评论数 0

原创 交叉熵理解(从信息量--熵--相对熵(KL散度)到交叉熵--对数损失函数)

在机器学习中,经常用交叉熵来衡量预测值与真实值之间的差距,要想真正理解交叉熵,我们要依次了解信息量、熵、相对熵,交叉熵实际上是相对熵的一部分。不要被这些字眼吓到,实际上我们一步步看下来还是很容易理解的。 文章目录1、信息量。2、熵3、相对熵(即KL散度)4、交叉熵5、单标签多分类与多标签分类中的交...

2020-03-06 16:33:55

阅读数 90

评论数 0

原创 一文搞懂stacking集成方法

stacking集成方法 (1)在集成学习中,将训练出的多个个体学习器(弱分类器)结合在一起的时候使用的方法叫做结合策略。 (2) 个体学习器结合策略: Bagging :多个个体学习器投票(分类)或求均值(回归) boosting:多个个体学习器加权融合 stacking:使用机器学习算法将个体...

2020-03-05 14:45:48

阅读数 528

评论数 0

原创 “AttributeError: module 'tensorflow' has no attribute 'placeholder'”

import tensorflow.compat.v1 as tf tf.disable_eager_execution() #这两步是为了解决tensorflow2.0运行1.0的代码会报错误:“AttributeError: module ‘tensorflow’ has no attribu...

2020-02-16 11:20:45

阅读数 230

评论数 0

原创 动手学深度学习(第一次打卡)

文章目录线性回归softmax与分类模型多层感知机文本预处理语言模型循环神经网络 线性回归 softmax与分类模型 神经网络中,输出为多分类时,使用softmax,使用softmax后只是将值规范在0-1之间,并不会影响值之间的大小关系。 多层感知机 多层感知机(MLP,Multilayer P...

2020-02-14 16:16:26

阅读数 99

评论数 0

原创 Anaconda 安装gensim

镜像安装 参考博客 pip install gensim -i https://pypi.doubanio.com/simple

2020-02-14 10:17:29

阅读数 72

评论数 0

原创 用户画像常用方法(相关论文)

文章目录1.英文文献1.1 User Profile Extraction from Twitter for Personalized News Recommendation(2014)2.中文文献 1.英文文献 1.1 User Profile Extraction from Twitter f...

2020-02-13 11:57:37

阅读数 265

评论数 0

原创 XGBoost推导

文章目录1、XGBoost损失函数1.1常见的损失函数(待补充)1.1.1 平方损失函数1.1.2 对数损失函数 1、XGBoost损失函数 XGBoost损失函数由两部分构成,一部分(第一项)是经验损失,另一部分(第二项和第三项)是正则化项。 L(ϕ)=∑i=1nl(yi,yi^)+γL(\ph...

2020-02-10 22:16:34

阅读数 64

评论数 0

原创 机器学习常用算法原理梳理

adaboost、GBDT、xgboost、lightgbm原理梳理与辨析 首先,这四个算法都是集成算法boosting框架下的。根据boosting策略不同可以分为两大类,adaboost一类,GBDT、xgboost、lightgbm一类。 adaboost GBDT、xgboost、ligh...

2020-02-09 10:22:02

阅读数 92

评论数 0

原创 导入keras报错module 'tensorflow.python.keras.backend' has no attribute 'get_graph'

导入keras的时候出现了版本不兼容的情况。 参考的如下博客: 其中很有用的一个链接:介绍了tensorflow和keras的配套版本,在已经有安装好tensorflow的情况下,再安装合适的keras版本。 我的tensorflow是1.9.0,配套的keras是2.2.0 所以安装时:pip ...

2019-12-24 20:30:31

阅读数 142

评论数 0

原创 《推荐系统开发实战》之实战案例(新闻推荐),mysql+Django+vue,跑通项目之前的各种配置

1、首先,按照作者文件里给的readme文件进行ip的修改。 先看第一步,这里最好按照作者使用的各种软件版本来安装,不然可能会面临一些兼容性问题,我安装的时候,Django2.1,PyMySQL0.9.2是和作者一样的,其余如python(我用的3.5)、vue、node(我的是v12,作者v...

2019-11-02 21:14:11

阅读数 561

评论数 6

原创 怎么使用MySQL workbench将.sql文件导入数据库

首先,打开MySQL workbench,先新建数据库(我们会把.sql文件导入之这个数据库),新建数据库过程如下: 先点击1处,新建数据库,给数据库起个名字,点击appy,就创建成功了。 之后点击2处,就可以看到现有的数据库了。 这里圈出来的是我新建的数据库,双击选中这个数据库(双击选中很...

2019-11-01 14:44:51

阅读数 847

评论数 0

原创 pandas contains查看包含特定数字、字母的行

train_data[train_data[‘certId’].astype(‘str’).str.contains(‘64’)]

2019-10-23 20:00:22

阅读数 572

评论数 0

原创 使用pandas查看字符串的前几个

x=train_data[train_data[‘certId’].astype(‘str’).str.startswith(‘710’)]

2019-10-23 19:58:04

阅读数 494

评论数 0

原创 bagging、stacking、boosting、blending四种集成方法的分析与对比

bagging: 从训练集里抽取n个子集训练n个base model,如果任务是分类的话,就采取voting(投票)的方法,如果任务是回归,就取这n个base model的均值。抽取子集时采用自助采样方法,即有放回采样,每个子集里可能有相同的样本。base model 一般都要求是相同的模型,如随...

2019-10-16 21:48:55

阅读数 103

评论数 0

原创 怎么打开.dat后缀的文件

直接将文件后缀.dat改为.txt,例如文件 123.dat,直接改为123.txt就可以啦

2019-09-22 17:55:07

阅读数 729

评论数 0

原创 爬虫爬取动态网页(selenium配合chrome浏览器安装与使用)

本来是做推荐系统的,,但第一步要得到数据,就又卡到了爬虫这里。 爬取的网页是动态网页,需要用到selenium,所以这里记录一下在chrome浏览器使用selenium的过程。 首先下载chrome插件:这里下载 从里面挑一个比较新的下载。 下载解压后,是一个exe文件,放在自己电脑的一个路径下...

2019-09-06 20:44:23

阅读数 87

评论数 0

原创 xLearn库的安装详细步骤(Windows系统)

xLearn 是一款高性能的,易用的,并且可扩展的机器学习算法库,你可以用它来解决大规模机器学习问题,尤其是大规模稀疏数据机器学习问题。在近年来,大规模稀疏数据机器学习算法被广泛应用在各种领域,例如广告点击率预测、推荐系统等。如果你是 liblinear、libfm、libffm 的用户,那么现在...

2019-08-30 22:13:59

阅读数 541

评论数 0

原创 Win10系统anaconda(python3.6)安装tensorflow(简单实用)

在一些教程中看到anaconda中安装tensorflow的例子,大多是在envs中创建一个新的python版本,然后在此基础上安装tensorflow,因为在原环境上安装一般都会出现各种各样的问题。但是这种安装方法会出现一个问题,那就是在包含tensorflow的新环境里,anaconda本身集...

2019-08-30 13:29:11

阅读数 65

评论数 0

原创 安装mlxtend库(stacking利器)出现问题及解决方案

介绍一款功能强大的stacking利器,mlxtend库,它可以很快地完成对sklearn模型的stacking。 直接pip install mlxtend安装失败。 安装过程出现的错误提示为: 在一个python非官方外部支持库网站找到适合的msgpack。 我的python版本为: 适合的...

2019-08-29 13:58:13

阅读数 1104

评论数 0

转载 CTR预估:点击率预估

找到了一篇比较直白的解释: CTR预估解析

2019-08-26 21:08:26

阅读数 176

评论数 0

原创 用户画像中怎么给用户打标签

首先,要了解标签的概念 标签是人工定义的、高度凝练的特征表示。标签有两个特点:语义化和短文本。语义化指的是容易理解,短文本指的是标签本身不需要进行过多文本分析等预处理工作,可以直接参与特征提取等。 以电影推荐为例,某个用户的标签可以是:女、大学生、泰坦尼克号、莱昂纳多、爱情片。这里面的每一个词语都...

2019-08-26 19:39:23

阅读数 513

评论数 0

转载 新闻推荐算法汇集(腾讯云)

新闻推荐算法

2019-08-26 13:24:46

阅读数 112

评论数 0

原创 今日头条推荐算法相关博客集合

整理了一些读到的觉得还不错的CSDN博客 今日头条的推荐算法原理解析 今日头条的核心架构解析

2019-08-26 13:15:45

阅读数 60

评论数 0

转载 开源日志系统比较:scribe、chukwa、kafka、flume

转发的别人的博客 开源日志系统比较:scribe、chukwa、kafka、flume

2019-08-26 13:03:13

阅读数 49

评论数 0

原创 头条推荐原理及框架

今日头条的核心架构解析

2019-08-26 11:19:09

阅读数 49

评论数 0

原创 补充 pandas read_csv读取csv或txt文件的一些技巧;不想第一行作为列名怎么办

在设置列名时,少设置了一列,完整如下: dating_df = pd.read_csv('datingTestSet2.txt',sep='\t',names=['fly','game','ice_cream...

2019-05-20 10:04:02

阅读数 626

评论数 0

原创 pandas read_csv读取csv或txt文件的一些技巧;不想第一行作为列名怎么办

所要读取的是txt文件,也可以用pd.read_csv来读取。我使用的是约会数据,txt文件格式如上,是以tab键分隔的,如下: 读取文件: import pandas as pd dating_df = pd.read_csv(‘dating.txt’,sep=’\t’) 我使用txt文件是以...

2019-05-20 09:58:44

阅读数 6817

评论数 0

原创 zip实现两个变量同时循环

import time a = np.arange(10000,dtype=float) b = np.arange(10000,0,-1,dtype=float) result = [] begin = time.time() for i,j in zip(a,b): result.ap...

2019-03-22 17:58:02

阅读数 163

评论数 0

原创 LDA主题建模简单介绍

2019-03-22 17:56:03

阅读数 108

评论数 0

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