LDA2Vec介绍

word2vec捕捉单词之间强大的关系,但生成的向量基本上是不可解释的,并不代表文档。而LDA很容易被人类解读,但并不像word2vec那样建立局部词关系。lda2vec正是将word2vec和LDA各自的优点混合到一起,所形成的一个新的算法。 [pdf-embedder url="http://www.lichzhang.net/wp-content/uploads/2018/04/word2vec2CLDA2Candintroducinganewhybridalgorithm-lda2vec.pdf"] 其他资料: Github:https://github.com/cemoody/lda2vec When LDA meets word2vec:https://www.datasciencecentral.com/profiles/blogs/a-tale-about-lda2vec-when-lda-meets-word2vec?xg_source=activity

机器学习入门之朴素贝叶斯

[embeddoc url="http://www.lichzhang.net/wp-content/uploads/2018/02/朴素贝叶斯法.pptx" viewer="microsoft"] 使用scikit-learn做游戏流失用户预测 在scikit-learn中,朴素贝叶斯有如下三种类型: 高斯朴素贝叶斯 一般用于连续型特征预测模型 多项式朴素贝叶斯 一般用于离散型特征预测模型 伯努利朴素贝叶斯 一般用于二项分布的特征预测模型 以下是这三种模型的用法 from sklearn.naive_bayes import GaussianNB from sklearn.naive_bayes import MultinomialNB from sklearn.naive_bayes import BernoulliNB # 构造特征值 x # 构造标注数据 y clfG = GaussianNB().fit(x, y) clfM = MultinomialNB().fit(x, y) clfB = BernoulliNB().fit(x, y) 下面举一个具体的使用案例,利用朴素贝叶斯来预测游戏的流失用户。首先是准备用样本数据,根据对游戏的理解,选取了如下特征: #文件说明 # 统计日期 # appid # 用户标识 # 流失标识 # 前两周活跃天数 # 前两周累计登陆次数 # 前两周累计游戏时长 # 前一周活跃天数 # 前一周累计登陆次数 # 前一周累计游戏时长 # 最后登录日期 # 用户游戏生命天数 # 8 * 前一周累计登陆天数/用户游戏生命天数 # 活跃天数趋势 # 登陆次数周趋势 # 游戏时长周趋势 # 前两周累计付费天数 # 前两周累计付费 # 前两周累计付费次数 # 前两周累计付费天数 # 前两周累计付费 # 前两周累计付费次数 # 付费天数周趋势 # 付费金额周趋势 下面开始读入数据 import pandas as pd from matplotlib import pyplot as plt %matplotlib inline df=pd.read_table("lost_user_sample", header = None) 构造样本数据 y=df[3] print y.values x=df[[4,7, 5,8, 6,9, 18,21, 19,22, 20,23, 15,16,17, 24,25]] print x.values 分别使用高斯朴素贝叶斯、多项式朴素贝叶斯来做预测 from sklearn.naive_bayes import GaussianNB from sklearn.naive_bayes import MultinomialNB from sklearn.cross_validation import train_test_split from sklearn import metrics print "总样本数:",len(y) x_data_train,x_data_test,y_data_train,y_data_test = train_test_split(x, y, test_size=0.2, random_state=1)…