Size: a a a

Язык программирования Julia / Julia programming language

2021 March 18

SG

Serg Gini in Язык программирования Julia / Julia programming language
Popov Yuri
Очень интересно. Какие есть предложения про скорость делитесь
зависит от специфики задачи. Так там тоже есть @safe и GC, который можно убирать @nogc
Писать в целом быстрее и пакетный менеджер есть, но пакетов, конечно, меньше. Хотя есть инструменты для достаточно простого подключения библиотек на C, Obj-C и C++(правда этот не всегда гладко работает)
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Андрей Оськин
Там ещё буквы то остались в алфавите, или они уже все перебрали?
Можно на кириллицу перейти. Например, язык Ж++…. Впрочем, у нас много интересных вариантов…..
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
О да 😊

Кстати, можно сделать на базе Джулии 😊)))

Есть же вроде лисп- и питон- диалекты
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
В смысле, внутри Джулия, но снаружи парсер неродной.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Будет как 1С выглядеть 😊

функция читать(а, б, в)
...
конец
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Вот на Ruby очень легко сделать обёртку так, чтобы никто ничего не заметил....
источник

A

Alexandr in Язык программирования Julia / Julia programming language
Всем привет. Такой вопрос, может кто подскажет. Я прогер, аналитикой занимаюсь достаточно редко, а тут появилось потребность. Вообщем у меня есть много пользователей, у пользователей есть много формальных параметров - возраст, страна, пол, население города где пользователь живет и тому подобное. И есть важные для бизнеса метрики навроде кол-ва каких-то действий в среднем на пользователя за месяц. Распределение метрик даже близко не нормальное, в большинстве случаев это что-то типа 0 действий у 30%, 1 действие у  60% и длинный-длинный хвост.
Хочется научится автоматически получать кластиризацию вида "мужчины 18-20 лет из городов миллионников и мужчины 18-25 из городов с населением 250-500К с точки зрения данной метрики видут себя похоже и сильно отлично от мужчин 30-35 лет, которые тоже ведут себя похоже".  
Пока я придумал следующее - разбить данные изначально на мелкие группы по формальным параметам. На каждой группе прогнать bootstrap чтобы получить нормальное распределение метрики. И после этого объединять эти группы между собой подобно иерархической кластеризации либо по близости среднего значения метрики либо с помощью метода Уорда (модифицированного слегка)
Может быть кто сталкивался с подобными задачами и что-нибудь поумнее/попрактичнее посоветует?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
У нас с такими задачами обычно приходили какие-нибудь маркетологи или продакты, которым надо было срочно обосновать, что они не зря свой хлеб едят в компании. "Наши кампании не работают, но это потому что мы кластеризовать пользователей толком не научились. А вот как научимся, мы сразу сможем очень круто их таргетировать и все показатели в 10 раз вырастут. Давайте зарядим нашим разработчиков, благо они умные и даже знают, что такое база данных, чтобы они нам эту кластеризацию сделали."
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Если это такая история, то с 99% вероятностью, что бы ни было сделано, это не будет иметь никакого значения.

Сорри за пессимизм 😊
источник

A

Alexandr in Язык программирования Julia / Julia programming language
Я прекрасно понимаю о чем ты 🙂 Собственно когда мне пытались продавить задачу про чистую "кластеризацию" я ее зарубил аргументацией вида "ну найдем мы что у нас есть очень пишущие пользователи, их 3% от аудитории, все они разного возраста и географии. А что вы дальше делать будете-то с этой инфой?" Поэтому и идея идти от имеющихся понятных групп по формальным признакам.
источник

A

Alexandr in Язык программирования Julia / Julia programming language
Моя мотивация немного другая - мне нужно аномалии/особенности смотреть. Т.е. у меня дофига параметров пользователей, мне нужно найти есть ли где провалы или наоборт аномальный рост метрик. Руками переберать 40 возрастов и 1000 городов не очень прикольно 🙂
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну просто у этой задачи столько концов, что её нельзя просто так решать.

Вот именно - что потом будут делать? Как замерять эффект? В большинстве случаев даже банального АБ теста люди проводить не умеют, замерять будут по косвенным признакам. Это всё будет ад, вилами по воде писаный.

Если же по существу, то можно попытаться как-нибудь данные нормализовать (хотя как это сделать?) и какой-нибудь DBScan запустить.

Или сделать Box-Cox и потом иерархическим байесом поискать параметры. Там наверное и выбросы можно будет увидеть.
источник

A

Alexandr in Язык программирования Julia / Julia programming language
Ну у меня идея изначальная была нормализовать бутсрапом. АБ тесты я, кстати, когда приходилось тоже бутстрапил.
источник

YO

Yuliya Ostrov in Язык программирования Julia / Julia programming language
Можно попробовать снизить размерность с помощью t-SNE, и после этого уже дальше анализ проводить. Но надо смотреть, с какими типами данных он работает.

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

A

Alexandr in Язык программирования Julia / Julia programming language
спасибо.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
А t-SNE обработает категориальные данные? Я так понимаю, что в этом как раз основная проблема.

Можно конечно one-hot encoding сделать... Кстати, было бы наверное интересно.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
То есть план такой
1. one-hot encoding, чтобы превратить все категориальные данные в количественные
2. t-SNE - понизить размерность.
3. DBScan - вытащить кластеры и выбросы.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Правда результат скорее всего будет случайный 😊 Слишком уж много параметров по пути, ну и всяких допущений.
источник

A

Alexandr in Язык программирования Julia / Julia programming language
По поводу t-SNE я вообще не уверен что у меня многомерный случай. Т.е. у меня есть набор групп изначальный. Т.е. группа "мужчина, 18 лет, население такое-то, страна такая-то" - минимальная неделимая группа. И есть одна метрика. Я хочу эти мелкие неделимые группы объединять между собой пока не получу большие кластеры.
источник

A

Alexandr in Язык программирования Julia / Julia programming language
И идея была примерно следющая - по этим минимальным группам прогнать бутстрап и получить распределение среднего метрики. А потом объединять их так, чтобы это самое распределение менялось минимально при объединении
источник