小编jxn*_*jxn的帖子

协作主题建模的简单Python实现?

我发现这两篇文章结合了协同过滤(矩阵分解)和主题建模(LDA),根据用户感兴趣的帖子/文章的主题条款向用户推荐类似的文章/帖子.

论文(PDF格式)为:" 推荐科学论文的协作主题建模 "和" 推荐GitHub存储库的协作主题建模 "

新算法称为协作主题回归.我希望找到一些实现此功能的python代码,但无济于事.这可能是一个很长的镜头,但有人可以显示一个简单的python示例吗?

python machine-learning collaborative-filtering lda topic-modeling

32
推荐指数
1
解决办法
3047
查看次数

Python将日期时间设置为特定时间

我想把这个日期定在昨天晚上11点30分.

这是我的代码:

    import datetime
    yesterday = datetime.date.today () - datetime.timedelta (days=1) 
    PERIOD=yesterday.strftime ('%Y-%m-%d') 
    new_period=PERIOD.replace(hour=23, minute=30)
    print new_period
Run Code Online (Sandbox Code Playgroud)

但是我收到这个错误:

TypeError: replace() takes no keyword arguments
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

python datetime

25
推荐指数
3
解决办法
5万
查看次数

主题分发:在python中执行LDA后,我们如何查看哪个文档属于哪个主题

我可以从gensim运行LDA代码,并使用各自的关键字获得前10个主题.

现在,我想进一步了解LDA算法的准确性,看看他们将哪些文档聚集到每个主题中.这对于gensim LDA有可能吗?

基本上我想做这样的事情,但在python和使用gensim.

具有topicmodel的LDA,如何查看不同文档属于哪些主题?

python nltk lda gensim

22
推荐指数
2
解决办法
2万
查看次数

绘制文档tfidf 2D图

我想绘制一个二维图形,其中x轴为术语,y轴为TFIDF得分(或文档ID),用于我的句子列表.我使用scikit learn's fit_transform()来获取scipy矩阵,但我不知道如何使用该矩阵绘制图形.我试图得到一个情节,看看我的句子可以用kmeans进行分类.

这是输出fit_transform(sentence_list):

(文件ID,术语编号)tfidf得分

(0, 1023)   0.209291711271
(0, 924)    0.174405532933
(0, 914)    0.174405532933
(0, 821)    0.15579574484
(0, 770)    0.174405532933
(0, 763)    0.159719994016
(0, 689)    0.135518787598
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

sentence_list=["Hi how are you", "Good morning" ...]
vectorizer=TfidfVectorizer(min_df=1, stop_words='english', decode_error='ignore')
vectorized=vectorizer.fit_transform(sentence_list)
num_samples, num_features=vectorized.shape
print "num_samples:  %d, num_features: %d" %(num_samples,num_features)
num_clusters=10
km=KMeans(n_clusters=num_clusters, init='k-means++',n_init=10, verbose=1)
km.fit(vectorized)
PRINT km.labels_   # Returns a list of clusters ranging 0 to 10 
Run Code Online (Sandbox Code Playgroud)

谢谢,

python numpy scipy k-means scikit-learn

15
推荐指数
1
解决办法
2万
查看次数

gensim如何计算doc2vec段落向量

我要去看这篇论文http://cs.stanford.edu/~quocle/paragraph_vector.pdf

它说明了这一点

"对图矢量和单词矢量进行平均或连接以预测上下文中的下一个单词.在实验中,我们使用连接作为组合矢量的方法."

连接或平均如何工作?

示例(如果第1段包含word1和word2):

word1 vector =[0.1,0.2,0.3]
word2 vector =[0.4,0.5,0.6]

concat method 
does paragraph vector = [0.1+0.4,0.2+0.5,0.3+0.6] ?

Average method 
does paragraph vector = [(0.1+0.4)/2,(0.2+0.5)/2,(0.3+0.6)/2] ?
Run Code Online (Sandbox Code Playgroud)

也是从这张图片:

据说:

段落标记可以被认为是另一个单词.它充当记忆,记住当前上下文中缺少的内容 - 或段落的主题.出于这个原因,我们经常将此模型称为段落向量的分布式存储模型(PV-DM).

段落标记是否等于段落向量等于on

在此输入图像描述

nlp vectorization gensim word2vec doc2vec

14
推荐指数
1
解决办法
1923
查看次数

kmeans散点图:每个簇绘制不同的颜色

我正在尝试做一个kmeans输出的散点图,它将同一主题的句子聚合在一起.我面临的问题是将属于每个群集的点绘制成某种颜色.

sentence_list=["Hi how are you", "Good morning" ...] #i have 10 setences
km = KMeans(n_clusters=5, init='k-means++',n_init=10, verbose=1) 
#with 5 cluster, i want 5 different colors
km.fit(vectorized)
km.labels_ # [0,1,2,3,3,4,4,5,2,5]

pipeline = Pipeline([('tfidf', TfidfVectorizer())])
X = pipeline.fit_transform(sentence_list).todense()
pca = PCA(n_components=2).fit(X)
data2D = pca.transform(X)
plt.scatter(data2D[:,0], data2D[:,1])

km.fit(X)
centers2D = pca.transform(km.cluster_centers_)
plt.hold(True)
labels=np.array([km.labels_])
print labels
Run Code Online (Sandbox Code Playgroud)

我的问题在于plt.scatter()的底部代码; 我应该用什么参数c

  1. 当我c=labels在代码中使用时,我收到此错误:

number in rbg sequence outside 0-1 range

2.当我设置时c= km.labels_,我得到错误:

ValueError: Color array must be two-dimensional

plt.scatter(centers2D[:,0], centers2D[:,1], …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy k-means

12
推荐指数
2
解决办法
3万
查看次数

如何可视化tf-idf向量的数据点以进行kmeans聚类?

我有一份文件清单和整个语料库中每个独特单词的tf-idf分数.我如何在二维图上形象化,以便计算出运行k-means需要多少个簇?

这是我的代码:

sentence_list=["Hi how are you", "Good morning" ...]
vectorizer=TfidfVectorizer(min_df=1, stop_words='english', decode_error='ignore')
vectorized=vectorizer.fit_transform(sentence_list)
num_samples, num_features=vectorized.shape
print "num_samples:  %d, num_features: %d" %(num_samples,num_features)
num_clusters=10
Run Code Online (Sandbox Code Playgroud)

如您所见,我能够将我的句子转换为tf-idf文档矩阵.但我不确定如何绘制tf-idf分数的数据点.

我刚在想:

  1. 添加更多变量,如文档长度和其他内容
  2. 做PCA以获得2维的输出

谢谢

python scipy tf-idf k-means scikit-learn

10
推荐指数
3
解决办法
1万
查看次数

熊猫绘图 - x 轴被转换为浮点数

我试图绘制按年份分组的数据,并且每年,我想计算用户数量。下面,我只是将日期列从浮点数转换为整数。

这是我的阴谋在此处输入图片说明

如果你看到 x 轴,我的年份代码似乎变成了一个浮点数,并且每个代码间隔 0.5 个刻度。

我如何使这纯粹是一个整数?


更改 groupby 具有相同的结果: 在此处输入图片说明


将年份列转换为字符串格式后,刻度仍然相隔 2 个空格

df['year'] = df['year'].astype(str)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python matplotlib pandas

10
推荐指数
1
解决办法
9860
查看次数

R在图表本身上打印线性回归方程

我们如何在图上打印线的方程?

我有2个自变量,想要这样的等式:

y=mx1+bx2+c

where x1=cost, x2 =targeting
Run Code Online (Sandbox Code Playgroud)

我可以绘制最佳拟合线,但如何在图上打印方程?

也许我不能在一个等式中打印出2个自变量,但y=mx1+c至少我怎么做呢 ?

这是我的代码:

fit=lm(Signups ~ cost + targeting)
plot(cost, Signups, xlab="cost", ylab="Signups", main="Signups")
abline(lm(Signups ~ cost))
Run Code Online (Sandbox Code Playgroud)

regression r

9
推荐指数
1
解决办法
4万
查看次数

Docker Python设置了utf-8语言环境

我正在尝试运行我的python文件,该文件首先读取中文字符串并打印出来.

这是我的Dockerfile

FROM python:2.7-onbuild
ENV LANG en_US.UTF-8
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
Run Code Online (Sandbox Code Playgroud)

这是我的python文件:

    # -*- coding: utf-8 -*-
    import jieba
    s = "?????????"
    s = s.decode('utf-8')
    print type(s), s
Run Code Online (Sandbox Code Playgroud)

然后我跑:

docker build -t python-example .

docker run python-example

我得到的错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-8: ordinal not in range(128)

当我在本地运行它,它工作正常.

python utf-8 docker

9
推荐指数
2
解决办法
1万
查看次数