Я хочу создать классификатор, который с учетом кортежа (в моем случае пользователь и художник в моей «социальной сети») способен проверить, совместимы ли они или нет (в моем случае, является ли пользователь будет слушать художника).
Само по себе, это не сложная проблема, но мне не хватает знаний и опыта, чтобы заставить его работать.
Я думал о том, чтобы создать план данных пользователей, и экстраполируйте метрики для них, чтобы получить что-то вроде этого:
users = pd.DataFrame([[1, 0.8, 0.2, 0.6],
[2, 0.1, 0.9, 0.3],
[3, 0.5, 0.4, 0.7],
columns=['userID', 'metric1', 'metric2', 'metric3'])
И проверить, присутствует ли исполнитель в списке прослушиваемых исполнителей или нет как функция логического вывода. Это означает, что для каждого художника, которого я хочу протестировать, мне нужно создать новую модель:
users['outcome'] = test1_values
train, test = train_test_split(users, train_size=0.8)
X_train = train[train.columns.difference(['outcome'])]
y_train = train['dimissione']
X_test = test[test.columns.difference(['outcome'])]
y_test = test['dimissione']
model = LogisticRegression()
model.fit(X_train, y_train)
Это может сработать, но мне было интересно, есть ли лучшие альтернативы.
Тем более, что я хотел включить метрики также на стороне артистов, например, его популярность или популярность его жанра, а также количество друзей, которые уже слушают его. Должен ли я рассчитать эти величины перед построением модели и протестировать одного художника за раз?
Любой вклад приветствуется, спасибо.