Я анализирую расстояния пользователей до userx
за 6 недель в социальной сети.
Примечание: «Нет пути» означает, что два пользователя еще не подключены (по крайней мере, друзьями друзей).
week1 week2 week3 week4 week5 week6
user1 No path No path No path No path 3 1
user2 No path No path No path 5 3 1
user3 5 4 4 4 4 3
userN ...
Я хочу посмотреть, насколько хорошо пользователи соединяются с userx
.
Для этого я изначально думал об использовании значения наклона регрессии для интерпретации (т. Е. Чем меньше наклон регрессии, тем лучше).
Например;рассмотрим user1
и user2
, их наклон регрессии рассчитывается следующим образом.
user1:
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
X = [[5], [6]] #distance available only for week5 and week6
y = [3, 1]
regressor.fit(X, y)
print(regressor.coef_)
Выходные данные -2.
user2:
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
X = [[4], [5], [6]] #distance available only for week4, week5 and week6
y = [5, 3, 1]
regressor.fit(X, y)
print(regressor.coef_)
Вывод -2.
Как видите, оба пользователя получают одинаковое значение slope
.Однако user2
было связано с userx
за неделю до user1
.Следовательно, user1
следует как-то присудить.
Поэтому мне интересно, есть ли лучший способ подсчета моей проблемы.
Я с удовольствием предоставлю более подробную информацию, если это необходимо.