2017-01-27 2 views
-1

Я хочу найти Jaccard сходство между каждой парой групп в моем наборе данных. Мои данные следующим образом первый столбец мои данные и второй столбец класса Lable:Как найти Jaccard Сходство классов в Pandas

import pandas as pd 
import numpy as np 
df = pd.DataFrame({'Data' : ["a1","a2","a3","a4","a5","a6","a7"], 'ClassLable' :  ["c1","c2","c2","c2","c3","c3","c1"]}); df 
df2 = pd.DataFrame({'Data' : ["a1","a2","a4","a6","a7","a8","a9"], 'ClassLable' : ["c11","c21","c21","c12","c13","c13","c11"]}); df2 

Я хочу, чтобы вычислить индекс Jaccard для каждой пары класса Lables между ДФ и df2. для примера:

c1class = pd.DataFrame({'Data':["a1","a7"]}) 
c11class = pd.DataFrame({'Data':["a1","a9"]}) 
Jaccard = 1/3 

другими словами, для df1 и df2 я хочу найти пересекаемых детали над союзом для каждого класса звукозаписывающей компанией

ответ

1

вы ищете что-то вроде этого:

from sklearn.metrics import jaccard_similarity_score 

jaccard_similarity_score(df['Data'],df2['Data']) 
Out[92]: 0.2857142857142857 

jaccard_similarity_score(c1class, c11class) 
Out[93]: 0.5 
+0

No. Я хочу найти сходство jaccard между различными группами данных. Я хочу вычислить jaccard для каждой пары классов, чтобы найти аналогичные классы на основе аналогичных объектов –

Смежные вопросы