Как исправить этот код, чтобы он усреднял сходства на основе имен пользователей? - PullRequest
1 голос
/ 01 апреля 2019

Я использую Python 3.6 и столкнулся с проблемой. Я объясню. У меня есть dataframe с именем test_data_sample, который имеет две переменные, «пользователь» и «текст». Есть два разных пользователя, но каждый пользователь написал несколько текстов. Ниже приведен пример:

User  Text
user1 legit thank later
user1 I dont care 
user2  Fried eggs
User3 it should be ok 
User4 I do not like his assumptions 
User4 I hate rugby

У меня есть модель и 3 кластерных центроида, и я хотел бы рассчитать расстояние между каждым "текстом" и центроидами. Пока кодовые слова, но проблема, с которой я сталкиваюсь, заключается в получении средних значений сходства для каждого пользователя, например,

user1 legit thank later
Distance to cluster 0.3
Distance to cluster 0.6
Distance to cluster 0.4

user1 I dont care 
Distance to cluster 0.1
Distance to cluster 0.9
Distance to cluster 0.80

user2  Fried eggs
Distance to cluster 0.4
Distance to cluster 0.4
Distance to cluster 0.33

User3 it should be ok
Distance to cluster 0.4
Distance to cluster 0.54
Distance to cluster 0.6

User4 I do not like his assumptions
Distance to cluster 0.3
Distance to cluster 0.34
Distance to cluster 0.1

User4 I hate rugby
Distance to cluster 0.6
Distance to cluster 0.4
Distance to cluster 0.5

В идеале я бы хотел, чтобы выходные данные, скажем, пользовательского, были такими, как показано ниже:

user1 legit thank later
Distance to cluster 0.3
Distance to cluster 0.75
Distance to cluster 0.6

, что является средним для каждого расстояния. У пользователя 1 есть два «текста», поэтому значения сумма суммы каждого расстояния до каждого кластера делится на 2. Пользователь 4 будет также разделен на 2, а пользователи 2 и 3 останутся без изменений.

Ждем ваших ответов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...