-
Anonymous
Матрица расстояний Python Pandas с использованием подобия Жаккара
Сообщение
Anonymous »
Я реализовал функцию для построения матрицы расстояний, используя подобие Жаккара:
Код: Выделить всё
import pandas as pd
entries = [
{'id':'1', 'category1':'100', 'category2': '0', 'category3':'100'},
{'id':'2', 'category1':'100', 'category2': '0', 'category3':'100'},
{'id':'3', 'category1':'0', 'category2': '100', 'category3':'100'},
{'id':'4', 'category1':'100', 'category2': '100', 'category3':'100'},
{'id':'5', 'category1':'100', 'category2': '0', 'category3':'100'}
]
df = pd.DataFrame(entries)
и матрица расстояний с помощью scipy
Код: Выделить всё
from scipy.spatial.distance import squareform
from scipy.spatial.distance import pdist, jaccard
res = pdist(df[['category1','category2','category3']], 'jaccard')
squareform(res)
distance = pd.DataFrame(squareform(res), index=df.index, columns= df.index)
Проблема в том, что мой результат выглядит так, что кажется ложным:
Что мне не хватает? Например, сходство 0 и 1 должно быть максимальным, и другие значения тоже кажутся неверными
Подробнее здесь:
https://stackoverflow.com/questions/356 ... similarity
1737129791
Anonymous
Я реализовал функцию для построения матрицы расстояний, используя подобие Жаккара:
[code]import pandas as pd
entries = [
{'id':'1', 'category1':'100', 'category2': '0', 'category3':'100'},
{'id':'2', 'category1':'100', 'category2': '0', 'category3':'100'},
{'id':'3', 'category1':'0', 'category2': '100', 'category3':'100'},
{'id':'4', 'category1':'100', 'category2': '100', 'category3':'100'},
{'id':'5', 'category1':'100', 'category2': '0', 'category3':'100'}
]
df = pd.DataFrame(entries)
[/code]
и матрица расстояний с помощью scipy
[code]from scipy.spatial.distance import squareform
from scipy.spatial.distance import pdist, jaccard
res = pdist(df[['category1','category2','category3']], 'jaccard')
squareform(res)
distance = pd.DataFrame(squareform(res), index=df.index, columns= df.index)
[/code]
Проблема в том, что мой результат выглядит так, что кажется ложным:
[img]https://i.sstatic.net/wPsJW.png[/img]
Что мне не хватает? Например, сходство 0 и 1 должно быть максимальным, и другие значения тоже кажутся неверными
Подробнее здесь: [url]https://stackoverflow.com/questions/35639571/python-pandas-distance-matrix-using-jaccard-similarity[/url]