Как сравнить две переменные / столбцы, когда у одного намного больше измерений - PullRequest
0 голосов
/ 05 августа 2020

Я работаю с Movielens dataset и хотел бы рассчитать вовлеченность пользователей, выставив оценки различным фильмам. Набор данных выглядит так (в нем есть информация о пользователях и рейтингах, которые они дали разным фильмам):

item_id              title release_date  video_release_date  \
0        1   Toy Story (1995)  01-Jan-1995                 NaN   
1        4  Get Shorty (1995)  01-Jan-1995                 NaN   

                                            imdb_url  unknown  Action  \
0  http://us.imdb.com/M/title-exact?Toy%20Story%2...        0       0   
1  http://us.imdb.com/M/title-exact?Get%20Shorty%...        0       1   

   Adventure  Animation  Childrens  ...  Thriller  War  Western  user_id  \
0          0          1          1  ...         0    0        0      308   
1          0          0          0  ...         0    0        0      308   

   rating  timestamp  age  gender  occupation  zip_code  
0       4  887736532   60       M     retired     95076  
1       5  887737890   60       M     retired     95076  

При расчете вовлеченности пользователей я хотел бы сравнить, какой из двух полов привлекает больше . Это означает, что женщины-пользователи дают больше оценок, или мужчины дают больше оценок.

female_users = users.query("gender == ['F']")
female_users_ratings_count= female_users['rating'].count()
print('\nPercentage of female ratings:', round(((female_users_ratings_count/total_number_of_ratings)*100),2),'%')
print('\nPercentage of male ratings:', round(((male_users_ratings_count/total_number_of_ratings)*100),2),'%')
print('\nMale users give',  round((male_users_ratings_count/female_users_ratings_count),2), 'times more ratings.')

Я подсчитываю количество оценок, выставленных пользователями-женщинами, и делю его на общее количество оценок, повторяю шаг для пользователей-мужчин, а затем рассчитайте отношение общего количества оценок, присвоенных пользователями-женщинами, к общему количеству оценок, присвоенных пользователями-мужчинами.

Однако общее количество пользователей-мужчин в 3 раза больше, чем пользователи женского пола.

print('\nTotal number of female users: ',total_female_users)
print('\nTotal number of male users: ',total_male_users)

Вывод:

Total number of female users:  273

Total number of male users:  670

Как мне подойти к этой проблеме одного из полов, имеющего гораздо больше измерений, чтобы получить действительное число, представляющее взаимодействие двух полов? Нужна ли мне нормализация, стандартизация, масштабирование или что-то еще?

Спасибо!

1 Ответ

0 голосов
/ 05 августа 2020

Я не уверен, что понимаю ваш вопрос, но если у вас больше мужчин, дающих больше оценок, чем женщин, вы получите именно это. Вы проверили, что 273 + 670 - это фактическое количество найденных вами оценок? Вы проверяли дубликаты?

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