Обложка канала

Задачи по Python и машинному обучению

Задачи по питону и машинному обучению: алгоритмы, функции, классы, регулярные выражения, итераторы, генераторы, ООП, исключения, numpy, pandas, matplotlib, scikit-learn, TensorFlow и др. #Python #ml

Задачи по Python и машинному обучению

4 года назад
Открыть в
Задача на нахождение двух товаров наиболее часто покупаемых вместе и сколько раз были сделаны такие покупки.
import numpy as np
# Данные: каждая строка соответствует корзине для покупок конкретного покупателя
# строка = [товар 1, товар 2, товар 3]
# значение 1 означает, что товар был куплен
basket = np.array([[1, 1, 0],
                   [0, 0, 1],
                   [1, 0, 0],
                   [1, 1, 1],
                   [1, 1, 0]])


copurchases = [(i, j, np.sum(basket[:, i] + basket[:, j] == 2)) for i in range(3) for j in range(i+1, 3)]
result = max(copurchases, key=lambda x:x[2])
# Первые два значения кортежа result - индексы товаров-столбцов. Третье - число раз, когда они покупались вместе.
print(result)