Владимир Дубровин, это расстояние 9 без маски на не даёт ничего. А если на вход нейросети подать сначала 1.1.1.1, а потом 1.1.2.4 в чистом виде, то вряд ли она из такой обучающей выборки сделает что-то хорошее.
А вот сделать бинарный признак принадлежит ли AS cloudflare - это более информативно.
Это не расстояние между чистыми адресами, а скорее между префиксами. Да и такая инфа есть только в таблицах маршрутизации. В сетевых пакетах масок не содержится.
Но в остальном вы подтвердили мою догадку. Спасибо.
Всё перечисленное вами может иметь смысл. Но очень сложно представить задачу, где сравнение IP-адресов по модулю будет не то, что иметь смысл, но хотя бы не будет отравлять сеть. Сравнение адресов по модулю это помесь великого рандома с историей распределения блоков в ICANN, что тоже почти рандом. Всё-таки подавать на вход нейросети псевдослучайные значения в целях её обучения - плохая идея.
как вы правильно отметили - даже у максмайнда геолокация очень сферическая в вакууме. Но в сравнении декартовых координат и расстояний смысла гораздо больше, чем в сравнении адресов. Вы правы.
Да, я как раз в вопросе и предположил использование ASN как вариант решения задачи. Вектор конечно получается того ещё размера, но всё же лучше, чем вбивать адреса в dword с точки зрения логики.
Может быть подскажете какую-нибудь статью на эту тему? Наверняка тема вдоль и поперёк описана. Я просто ключевых слов не могу подобрать, чтобы найти что-то релевантное)
Akina, не правильно сначала ответил вам. JOIN под другой причине не вставить. Если не уходить в окна, как в предложенном ответе, то требуется сделать LIMIT 50 для каждого id. И если коррелированный запрос будет вызван нужное число раз, то JOIN будет выполнен разово. А это значит, что LIMIT 50 будет действовать не для каждого id, а для всего результата.
Спасибо. MySQL старая - 5.7. Буду думать, или обновлять до оконных функций, или задействовать язык высокого уровня с циклами.
Надеялся, что есть простое решение, как показать подзапросу параметр из родителя коррелированного. Видимо не всё так просто.
Akina, к сожалению, JOIN очевиден, но не подходит. Так как в базе тысячи id, а статистику надо сделать только четырём. При использовании JOIN статистика добросовестно вычислится для всех строк и 900+ результатов будут ненужными, а подцепится только 4. Это займёт кучу времени. Видимо придётся апдейтить MySQL или уходить в циклы на языке высокого уровня
Illia Shafranskyi, я таки немного ещё офтопну, но есть расхожая байка, которая гласит, что если стричься только на стареющей луне, то волосы растут дольше. Байка байкой, но люди верят и им для этого тоже нужен лунный календарь. Очевидно библиотеку написали они, китайцы или садоводы. Кто-то из трёх...
Illia Shafranskyi, в восточных странах десятки дат подстроены под лунный календарь. Все российские саддисты по нему садят морковку. Конечно не григориански, но очень востребован
Закономерность между солнечными и лунными годами достаточно сложна, чтобы изобретать велосипед. Возможно существуют подобные библиотеки (хотя я с ходу не нашёл).
Environment="PATH=/myapp/venv/bin:/usr/bin"