Алгоритм для предложения продуктов

Оформить заказ https://pythex.org/ и узнать, как использовать RegEx

Если вы введете свою строку в текстовый пример и используете (\ d. \ D. \ D . \ d / \ d \ d) в качестве шаблона он будет собирать каждый IP-адрес.

import re

ip_address = re.findall(r'(\d.\d.\d.\d/\d\d)', string)

print(ip_address)
>>> 1.1.1.1/32, 1.1.1.2/31

В качестве альтернативы, если ваши выходные данные всегда одинаковы, вы можете разбить строку на '\' и получить индекс каждого элемента.

пример:

feedback = "[hostname router\r\n!\r\ninterface Loopback0\r\n ip address 1.1.1.1/32\r\n no shutdown\r\n isis " \
              "enable 2222\r\n isis passive\r\n!\r\nvrf definition MGMT\r\n rd 200:200\r\n!\r\n!\r\nvrf definition" \
              " VRF_DDOS\r\n rd 2222:100\r\n description VRF_DDOS\r\n!\r\n!\r\n interface ethernet1/1\r\n no sflow " \
              "enable\r\n ip address 1.1.1.2/31\r\n no shutdown\r\n isis enable 2222\r\n isis passive\r\n!\r\nvrf " \
              "definition MGMT\r\n rd 200:200\r\n!\r\n!\r\nvrf definition VRF_DDOS\r\n rd 2222:100\r\n description " \
              "VRF_DDOS\r\n!\r\n!\r\n ]".replace('\r\n','').split(' ')

print(feedback[2:6])

output >>> ['Loopback0', 'ip', 'address', '1.1.1.1/32']

19
задан Jonas 5 August 2011 в 10:33
поделиться

10 ответов

Рассмотрите вопрос « Что такое алгоритм хорошей рекомендации? » и его обсуждение на Hacker News.

3
ответ дан 30 November 2019 в 04:40
поделиться

Просто и понятно (корзина заказов):

Вести список транзакций с точки зрения того, какие товары были заказаны вместе. Например, когда кто-то покупает видеокамеру в Amazon, он также покупает носители для записи одновременно.

Принимая решение о том, что «предложено» на данной странице продукта, просмотрите все заказы, в которых этот продукт был заказан, подсчитайте все другие предметы, купленные в то же время, и затем отображать 5 самых популярных предметов, которые были куплены в то же самое время.

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

С точки зрения системы рейтинга (т. е. рейтингов фильмов):

Сложнее становится, когда вы добавляете рейтинги. Вместо отдельной корзины предметов, которые вы приобрели, у вас есть история покупок оценок предметов.

В этот момент вы смотрите на интеллектуальный анализ данных, и сложность огромна.

Простой алгоритм, однако, не так уж далек от вышесказанного, но он принимает другую форму. Возьмите предметы с наивысшим рейтингом клиента и наименьший рейтинг, и найдите других клиентов с аналогичными списками с самым высоким рейтингом и самым низким рейтингом. Вы хотите сопоставить их с другими людьми, которые имеют подобные экстремальные симпатии и антипатии - если вы сосредоточитесь только на симпатиях, то когда вы предложите что-то, что они ненавидят, вы дадите им плохой опыт. В системах предложений вы всегда хотите ошибиться на стороне «теплого» опыта, а не «ненависти», потому что один плохой опыт отравит их от использования предложений.

Предлагайте элементы в других самых высоких списках клиенту.

и сложность огромна.

Простой алгоритм, однако, не далеко от вышесказанного, но он принимает другую форму. Возьмите предметы с наивысшим рейтингом клиента и наименьший рейтинг, и найдите других клиентов с аналогичными списками с самым высоким рейтингом и самым низким рейтингом. Вы хотите сопоставить их с другими людьми, которые имеют подобные экстремальные симпатии и антипатии - если вы сосредоточитесь только на симпатиях, то когда вы предложите что-то, что они ненавидят, вы дадите им плохой опыт. В системах предложений вы всегда хотите ошибиться на стороне «теплого» опыта, а не «ненависти», потому что один плохой опыт отравит их от использования предложений.

Предлагайте элементы в других самых высоких списках клиенту.

и сложность огромна.

Простой алгоритм, однако, не далеко от вышесказанного, но он принимает другую форму. Возьмите предметы с наивысшим рейтингом клиента и наименьший рейтинг, и найдите других клиентов с аналогичными списками с самым высоким рейтингом и самым низким рейтингом. Вы хотите сопоставить их с другими людьми, которые имеют подобные экстремальные симпатии и антипатии - если вы сосредоточитесь только на симпатиях, то когда вы предложите что-то, что они ненавидят, вы дадите им плохой опыт. В системах предложений вы всегда хотите ошибиться на стороне «теплого» опыта, а не «ненависти», потому что один плохой опыт отравит их от использования предложений.

Предлагайте элементы в других самых высоких списках клиенту.

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

Предлагайте элементы в других самых высоких списках клиенту.

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

Предлагайте элементы в других самых высоких списках клиенту.

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

Предлагайте элементы в других самых высоких списках клиенту.

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

Предлагайте элементы в других самых высоких списках клиенту.

14
ответ дан 30 November 2019 в 04:40
поделиться

Нет однозначного ответа, и весьма маловероятно, что для этого существует стандартный алгоритм.

То, как вы это сделаете, во многом зависит от того, какие данные вы хотите связать и как они организован. Это зависит от того, как вы определяете «связанный» в области применения.

Часто самая простая мысль дает хорошие результаты. В случае книг, если у вас есть база данных с несколькими атрибутами для каждой записи в книге (например, автор, дата, жанр и т. Д.), Вы можете просто выбрать случайный набор книг одного и того же автора, того же жанра, похожих названий и другие любят это.

Однако, вы всегда можете попробовать более сложные вещи. Вести учет других пользователей, которым требовался этот «продукт», и предлагать другие «продукты», которые эти пользователи требовали в прошлом (продукт может быть любым из книги, к песне, ко всему, что вы можете себе представить). То, что делают большинство крупных сайтов, у которых есть функция подсказки (хотя они, вероятно, берут много информации, от атрибутов продукта до демографии, чтобы лучше обслуживать клиента).

Или вы даже можете прибегнуть к так называемому ИИ; Нейронные сети могут быть построены так, что они принимают все эти атрибуты продукта и пытаются (основываясь на предыдущих наблюдениях) связать его с другими и обновлять себя.

Сочетание любого из этих случаев может работать для вас.

Я бы лично порекомендовал подумать о том, как вы хотите, чтобы алгоритм работал и как предлагать соответствующие «продукты». Затем вы можете изучить все варианты: от простого до сложного и сбалансировать свои потребности.

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

Или вы даже можете прибегнуть к так называемому ИИ; Нейронные сети могут быть построены так, что они принимают все эти атрибуты продукта и пытаются (основываясь на предыдущих наблюдениях) связать его с другими и обновлять себя.

Сочетание любого из этих случаев может работать для вас.

Я бы лично порекомендовал подумать о том, как вы хотите, чтобы алгоритм работал и как предлагать соответствующие «продукты». Затем вы можете изучить все варианты: от простого до сложного и сбалансировать свои потребности.

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

Или вы даже можете прибегнуть к так называемому ИИ; Нейронные сети могут быть построены так, что они принимают все эти атрибуты продукта и пытаются (основываясь на предыдущих наблюдениях) связать его с другими и обновлять себя.

Сочетание любого из этих случаев может работать для вас.

Я бы лично порекомендовал подумать о том, как вы хотите, чтобы алгоритм работал и как предлагать соответствующие «продукты». Затем вы можете изучить все варианты: от простого до сложного и сбалансировать свои потребности.

Нейронные сети могут быть построены так, что они принимают все эти атрибуты продукта и пытаются (основываясь на предыдущих наблюдениях) связать его с другими и обновлять себя.

Сочетание любого из этих случаев может работать для вас.

Я бы лично порекомендовал подумать о том, как вы хотите, чтобы алгоритм работал и как предлагать соответствующие «продукты». Затем вы можете изучить все варианты: от простого до сложного и сбалансировать свои потребности.

Нейронные сети могут быть построены так, что они принимают все эти атрибуты продукта и пытаются (основываясь на предыдущих наблюдениях) связать его с другими и обновлять себя.

Сочетание любого из этих случаев может работать для вас.

Я бы лично порекомендовал подумать о том, как вы хотите, чтобы алгоритм работал и как предлагать соответствующие «продукты». Затем вы можете изучить все варианты: от простого до сложного и сбалансировать свои потребности.

3
ответ дан 30 November 2019 в 04:40
поделиться

Я думаю, что Google с регрессией наименьших средних квадратов (или что-то в этом роде) может дать вам кое-что, что можно пережевать.

0
ответ дан 30 November 2019 в 04:40
поделиться

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

  • Программирование CI: http://oreilly.com/catalog/9780596529321/ довольно нежное знакомство с образцы в Python.

  • CI в действии: http://www.manning.com/alag выглядит немного глубже (но я только что прочитайте первую главу или 2) и имеет примеры на Java.

1
ответ дан 30 November 2019 в 04:40
поделиться

Алгоритмы рекомендуемых продуктов - это огромный бизнес в наши дни. NetFlix для одного предлагает 100 000 для незначительного увеличения точности их алгоритма.

1
ответ дан 30 November 2019 в 04:40
поделиться

просто думая вслух:

вам нужно рассчитать корреляцию между всеми и всеми (O ^ 2?) - если ваша модель хороших и плохих рейтингов совпадает с оценкой кого-то другого, то она может предложить вам свои высоко оцененные вещи

] но как это работает, если у вас есть только несколько точек данных?

рейтинги должны быть нормализованы - оценка 2 * кем-то, кто оценивает все остальное как 1 *, явно является голосом «за», тогда как оценка 2 * кем-то, кто оценивает все остальное как 4 * -5 *, больше похожа понижающее голосование

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

0
ответ дан 30 November 2019 в 04:40
поделиться

Модуль CPAN Math :: Preference :: SVD , по-видимому, является «механизмом предпочтений / рекомендаций, основанным на разложении по одному значению»

0
ответ дан 30 November 2019 в 04:40
поделиться

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

Сначала я выясню, где в приложении я буду пробовать данные, которые будут использоваться, поэтому, если у меня есть магазин, он, вероятно, будет в кассе. Затем я сохранял бы отношение между каждым элементом в корзине для покупок.

Теперь, если пользователь переходит на страницу элементов, я могу подсчитать количество отношений из других элементов и выбрать, например, 5 элементов с наибольшим числом отношения к выбранный элемент.

Я знаю, что это просто, и, возможно, есть более эффективные способы.

Но я надеюсь, что это поможет

0
ответ дан 30 November 2019 в 04:40
поделиться

Анализ корзины покупок - это область исследований, которую вы ищете:

Microsoft предлагает два подходящих алгоритма с их сервером анализа: Алгоритм ассоциации Microsoft Алгоритм деревьев решений Microsoft

Ознакомьтесь с этой статьей msdn, чтобы узнать, как лучше всего использовать службы Analysis Services для решения этой проблемы.

Текст ссылки

0
ответ дан 30 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: