Ответ 1
Datamining - это метод, который требует действительно огромного пространства для хранения, а также огромные вычислительные мощности.
Я приведу вам пример:
Представьте себе, что вы являетесь боссом большой сети супермаркетов, таких как Wal-Mart, и вы хотите узнать, как разместить свои товары на своем рынке, чтобы потребители тратили много денег, когда они вошли в ваши магазины.
Прежде всего, вам нужна идея. Ваша идея - найти продукты разных групп продуктов, которые часто покупаются вместе. Если у вас есть такая пара продуктов, вы должны разместить эти продукты как можно дальше. Если клиент хочет купить оба, он/она должен пройти через весь ваш магазин, и таким образом вы размещаете другие продукты, которые могут хорошо подходить к одной из этих пар, но не продаются так часто. Некоторые из клиентов будут видеть этот продукт и покупать его, а доход этого дополнительного продукта - это доход от процесса обработки данных.
Итак, вам нужно много данных. Вы должны хранить все данные, которые вы получаете от всех покупок всех ваших клиентов во всех магазинах. Когда человек покупает бутылку молока, колбасу и немного хлеба, тогда вам нужно хранить то, что было продано, в какой сумме и цене. Каждая покупка нуждается в собственном удостоверении личности, если вы хотите заметить, что молоко и колбаса были куплены вместе.
Итак, у вас есть огромное количество данных о покупке. И у вас много разных продуктов. Допустим, вы продаете 10.000 различных продуктов в своих магазинах. Каждый продукт может быть сопряжен с другими. Это составляет 10 000 * 10 000/2 = 50 000 000 (50 миллионов) пар. И для каждой из этих возможных пар вы должны узнать, если она содержится в покупке. Но, может быть, вы думаете, что у вас разные клиенты в субботу днем, чем в среду поздним утром. Таким образом, вы также должны хранить время покупки. Maybee вы определяете 20 временных фрагментов в неделю. Это составляет 50 М * 20 = 1 млрд записей. И поскольку люди в Мемфисе могут покупать разные вещи, чем люди в Беверли-Хиллз, вам тоже нужно место в ваших данных. Скажем, вы определяете 50 регионов, поэтому вы получаете 50 миллиардов записей в своей базе данных.
И затем вы обрабатываете все свои данные. Если клиент купил 20 продуктов в одной покупке, у вас есть 20 * 19/2 = 190 пар. Для каждой из этих пар вы увеличиваете счетчик на время и место этой покупки в вашей базе данных. Но чем вы должны увеличить счетчик? Всего 1? Или по количеству купленных продуктов? Но у вас есть пара двух продуктов. Должны ли вы взять сумму обоих? Или максимум? Лучше вы используете более одного счетчика, чтобы иметь возможность считать это всеми возможными способами.
И вам нужно сделать что-то еще: покупатели покупают гораздо больше молока и хлеба, а затем шампанское и икру. Поэтому, если они выбирают произвольные продукты, конечно, у пары молочного хлеба больше, чем у шампанского-икры. Поэтому, анализируя свои данные, вы также должны позаботиться о некоторых из этих эффектов.
Затем, когда вы это сделали, вы делаете свой запрос на обработку данных. Вы выбираете пару с самым высоким соотношением фактического счета к расчетному счету. Вы выбираете его из таблицы базы данных со многими миллиардами записей. Для обработки может потребоваться несколько часов. Поэтому подумайте, если ваш запрос действительно то, что вы хотите знать, прежде чем отправить запрос!
Вы можете узнать, что в сельской среде люди в субботу днем покупают гораздо больше пива вместе с подгузниками, чем вы ожидали. Таким образом, вы просто должны поставить пиво на одном конце магазина и подгузники на другом конце, и это заставляет людей ходить по всему магазину, где они видят (и, надеюсь, покупают) много других вещей, которые они бы не видели (и купил), если пиво и подгузники были помещены близко друг к другу.
И помните: затраты на процесс обработки данных покрываются только дополнительными сделками ваших клиентов!
Вывод:
- Вы должны хранить пары, тройки еще больших кортежей предметов, которые потребуют много места. Поскольку вы не знаете, что найдете в конце, вы должны хранить все возможные комбинации!
- Вы должны считать эти кортежи
- Вы должны сравнивать подсчитанные значения с оценочными значениями