小编kit*_*sin的帖子

如何从pandas数据帧计算jaccard相似度

我有一个如下数据框:框架的形状是(1510,1399).列表示产品,行表示用户为给定产品分配的值(0或1).我怎样才能计算jaccard_similarity_score?

在此输入图像描述

我创建了一个列出产品与产品的占位符数据框

data_ibs = pd.DataFrame(index=data_g.columns,columns=data_g.columns)
Run Code Online (Sandbox Code Playgroud)

我不知道如何迭代data_ibs来计算相似之处.

for i in range(0,len(data_ibs.columns)) :
    # Loop through the columns for each column
    for j in range(0,len(data_ibs.columns)) :
.........
Run Code Online (Sandbox Code Playgroud)

python similarity matrix pandas

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

Python Pandas:如何将列中的所有列表编译为一个唯一列表

我有一个pandas数据帧如下:

在此输入图像描述

如何将所有列表(在'val'列中)组合成一个唯一的列表(set),例如[val1, val2, val33, val9, val6, val7]

我可以使用以下代码解决这个问题.我想知道是否有更简单的方法从列中获取所有唯一值而不迭代数据帧行?

def_contributors=[]
for index, row in df.iterrows():
    contri = ast.literal_eval(row['val'])
    def_contributors.extend(contri)
def_contributors = list(set(def_contributors))
Run Code Online (Sandbox Code Playgroud)

python merge list unique pandas

7
推荐指数
2
解决办法
5247
查看次数

如何根据共现矩阵计算相似度?

我有一个项目-项目矩阵 (1877 x 1877)。矩阵中的值表示两个项目同时出现的次数。如何确定两个项目之间的相似性?通过阅读,我发现很少有选择。但是我不确定这些方法。任何有关入门的意见都将受到赞赏。

  1. 使用余弦计算两个向量之间的 sim
  2. 将其转换为图表,使用 simrank 等度量来计算相似性 - 可以使用出现次数作为两个节点之间的权重。

python matrix cosine-similarity find-occurrences

5
推荐指数
1
解决办法
4190
查看次数

如何处理余弦相似度的负值

我根据术语计算了文档的 tf-idf。然后,我应用 LSA 来降低术语的维数。'similarity_dist' 包含负值(见下表)。如何计算范围 0-1 的余弦距离?

tf_vectorizer = CountVectorizer(max_df=0.95, min_df=2, tokenizer=tokenize_and_stem, stop_words='english')
%time tf = tf_vectorizer.fit_transform(descriptions)
print(tf.shape)
svd  = TruncatedSVD(100)
normalizer = Normalizer(copy=False)
lsa = make_pipeline(svd, normalizer)
tfidf_desc = lsa.fit_transform(tfidf_matrix_desc)
explained_variance = svd.explained_variance_ratio_.sum()
print("Explained variance of the SVD step: {}%".format(int(explained_variance * 100)))

similarity_dist = cosine_similarity(tfidf_desc)
pd.DataFrame(similarity_dist,index=descriptions.index, columns=descriptions.index).head(10)

print(tfidf_matrix_desc.min(),tfidf_matrix_desc.max())
#0.0 0.736443429828

print(tfidf_desc.min(),tfidf_desc.max())
#-0.518015429416 0.988306783341

print(similarity_dist.max(),similarity_dist.min())
#1.0 -0.272010919022
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python svd lsa cosine-similarity scikit-learn

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