Вычисление расстояния Jaccard между каждым элементом двух информационных кадров - PullRequest
0 голосов
/ 09 октября 2019

Я хочу вычислить расстояние Джакарта между двумя кадрами. В частности, я хочу вычислить попарные расстояния Джакарта между всеми объектами Google (34000 строк, 7 столбцов) и всеми объектами Amazon (34000 строк, 7 столбцов) отдельно, используя модель CountVectorizer. Я создал countVectorizer для каждого кадра данных следующим образом:

cv = CountVectorizer(analyzer='word', ngram_range=(1,1), stop_words='english', binary=True)
cvGoogle = cv.fit_transform(goog_s)
cvAmazon = cv.fit_transform(amaz_s)

После создания CountVectorizer мне нужно создать структуру данных, в которой я сравниваю каждую из сущностей двух векторов, используя Jaccard Distance, и сохраняю ее вкадр данных, где каждая строка соответствует объекту из набора данных Google, а каждый столбец соответствует объекту из набора данных Amazon.

1 Ответ

0 голосов
/ 09 октября 2019

Вы можете попытаться перебрать столбцы с помощью либо sklearn Jaccard distance , либо scipy Jaccard Отличия .

Если вы хотите сравнить два подходящихсубъекты, тогда

from scipy.spatial.distance import jaccard

my_df = pd.DataFrame()

# Assuming goog_s & amaz_s to be pd.DataFrame objects
for g_col, a_col in zip(goog_s.columns, amaz_s.columns): 
    my_df.loc[:, '_'.join([g_col, a_col])] = jaccard(goog_s[g_col].tolist(),
        amaz_s[a_col].tolist()) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...