@bigdata_ru

Страница 313 из 327
Vova
27.09.2018
12:58:17
То есть поля могут быть разноформатные.

И данные по сути немутабельные.

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

то есть нужно 2*SIZE

Google
Vova
27.09.2018
12:59:44
и в моём случае 25 Гб*2

И это нужно обязательно учитывать - в пандас такие нюансы сплошь и рядом

Могу рассказать, если интересно как я решил эту проблему не выходя за рамки сервера (и даже памяти)

Сергей Иванов
27.09.2018
13:00:47
И это нужно обязательно учитывать - в пандас такие нюансы сплошь и рядом
есть альтернативные не такие популярные библиотеки?

Vova
27.09.2018
13:00:54
есть dask

Сергей Иванов
27.09.2018
13:01:24
есть dask
спасибо,записал, ознакомлюсь

Vova
27.09.2018
13:06:26
В общем я решил проблему так - я написал конкатенатор, который сначала "спаивает" (concat) датафреймы в промежуточный набор датафреймов где каждый набор не больше 1-2Гб. При этом при каждом спаивании датафреймы из которых сделан новый промежутоынй унитожаются (gc.collect() иначе - никак). То есть было 100 датафремов по 0.3 гб. стало 15 по 2. Каждый шаг цикла задействует только 2 гб оверхеда.

И с этим подмножеством работал. Костыльно. Второй вариант - брать 64 Гб ради единственной 2хминутной операции... вот такие траблы бывают у пандаса.

Alexander
27.09.2018
13:09:56
Alexander
27.09.2018
13:10:54
так я и так в облаке
Эээ а там нельзя расширить память? Или дорого? Сколько стоит 32г?

Vova
27.09.2018
13:11:19
дорого-недорого вопрос личный

у амазона можно взять до 3.9Терабайт RAM (128 ядер)

Google
Alexander
27.09.2018
13:12:19
Vova
27.09.2018
13:15:00
Ну где то несколько десятков долларов в час

Vova
27.09.2018
13:15:44
есть куча моментов

я пользуюсь облачным провайдером у которого 32 Гб это максимальная память

на его же Storage-ресурсах у меня хранятся датасеты (терабайты)

если я подкачиваю данные с его Storage ресурсов на его же VPS то это мне бесплатно

Если я сниму VPS на амазоне или у гугля, то storage с данными будет выдавать данные за денюжку (траффик). Значит и сам storage нужно переносить в гугль или амазон, что бы можно было бесплатно подкачивать (а приходится делать это часто, то jupiter зависнет, то изза памяти restart нужен, то ещё что). Вот и приходится извращаться.

Мой спич был про то, что пандас с памятью плохо работает и by design и "ваще" . https://github.com/pandas-dev/pandas/issues/2659

gc.collect() актуально

Alexander
27.09.2018
13:23:55
Спасибо за инфу

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

Artyom
27.09.2018
15:30:00
как крутить сильно от задач зависит, сложно единый best practice вывести. сначала компромисс между темпом и количеством итераций (маленький темп и увеличиваем кол-во деревьев, смотрим, как ломается монотонность и крутим темп), потом параметры, отвечающие за структуру (кол-во листьев, глубина, кол-во наблюдений в листе), затем рандомизаторы, затем настройка гистограммирования, потом закольцовываем, снова корректируем темп и кол-во итераций. у катбуст кроме подбора темпа и количества итераций все сильно по-другому. я на своем курсе подробно разбираю, но все равно серебряной пули нет.

Artyom
27.09.2018
16:52:10
в личку кинул инфа в нашей группе вы вроде в ней есть

Alexander
27.09.2018
17:27:30
Nina
27.09.2018
18:02:40
Привет! Кто-нибудь может подсказать простую функцию, которая убывает медленнее, чем линейная и принимает значение при нуле - 1, а при единице - 0?

Google
Sewerin
27.09.2018
18:10:56
Может, слить уже все эти чатики?

Вместе слить. лол

Дмитрий
27.09.2018
18:20:36
и в моём случае 25 Гб*2
ты не пробовал оптимизировать типы колонок в датафрейме? Заменить int32 на uint8 там где нужно, колонки типа string, заменить на Category etc? У меня был кейс с данными на 25 гб, в итоге при чтении получился датафрейм на 8 гб.

Vova
27.09.2018
18:23:03
ты не пробовал оптимизировать типы колонок в датафрейме? Заменить int32 на uint8 там где нужно, колонки типа string, заменить на Category etc? У меня был кейс с данными на 25 гб, в итоге при чтении получился датафрейм на 8 гб.
Это само собой, я даже int16 использовал насколько помню. Не уверен что из-за dword align это помогает, но в любом случае типы фичей я оптимизирую в случае RAM-shortage.

Дмитрий
27.09.2018
18:24:10
Это само собой, я даже int16 использовал насколько помню. Не уверен что из-за dword align это помогает, но в любом случае типы фичей я оптимизирую в случае RAM-shortage.
Строковые колонки заменять на Enum в виде Category мне дал очень огромное уменьшение по потребляемой памяти

Vova
27.09.2018
18:36:39
увы у меня временные ряды, категорильных переменых нет

но enum вместо строк - да, отличные и самый первый способ

Безопасность?
27.09.2018
19:25:48
Hello

Иван
27.09.2018
20:07:03
один чувак выбрал 5 чисел из 100, второй 20 чисел из 100, какая вероятность, что все 5 чисел первого чувака есть у второго
Что-то никто не отвечает, так я попробую. Если воспользоваться байесовым подходом, то можно предположить, что вероятность совпадения одного числа 20/100. Второго уже 19/99. Вероятности перемножаются, для пяти чисел имеем 20/100*19/99*18/98*17/97*16/96. Итого,чуть больше 0,0002. Это если числа не могут повторяться в выборке, а если могут, то во всех знаменателях будет 100, итоговая вероятность меньше.

Mihail
28.09.2018
09:56:58
Всем привет, кто-нибудь занимается анализом big data в большой промышленности?

tonko
28.09.2018
10:02:13
Всем привет, кто-нибудь занимается анализом big data в большой промышленности?
Ну, я делал лабы по прогнозированию отказа режущего инструмента в машиностроительном производстве ?

Mihail
28.09.2018
10:03:23
Крутяк. Использовали Machine learning при прогнозировании?

tonko
28.09.2018
10:09:35
Крутяк. Использовали Machine learning при прогнозировании?
Достаточно простая нейросетевая архитектура, курс по нейронным сетям как раз был в СТАНКИНе

Про lstm нам там особо не рассказвали, только упомянули вскользь

Alexander
28.09.2018
11:32:44
О catbooste какие мнения?

tonko
28.09.2018
11:34:06
О catbooste какие мнения?
1. Зачем если есть h2o который работает с категориалками не хуже 2. Бенчмарки вроде как высосаны из пальца и в целом не очень хорошие 3. split_stroku

Alexander
28.09.2018
11:36:18
H20 что сильно быстрей или предикшн лучше? Иль там идеи новые заложены?

Google
tonko
28.09.2018
11:39:11
Насколько я знаю правильную работу с категориальными фичами изначально был реализован в h2o. А насчет скорости и точности, рекомендую сравнить на своей конкретной задаче. Тут за последний год много обсуждали catboost и всплыли косяки в бенчмарках catboost

Alexander
28.09.2018
11:39:20
Какие ть ссылки, если попадались хорошие, можно?

tonko
28.09.2018
11:40:35
Какие ть ссылки, если попадались хорошие, можно?
https://roamanalytics.com/2016/10/28/are-categorical-variables-getting-lost-in-your-random-forests/

Roman
28.09.2018
11:43:27
Не могу в H2O DataFrame нормально работать с кирилицей (Python). В Pandas DataFrame ок. А как только в dataFrame H2O - ломается кодировка. Пробовал и из csv utf-8, cp1251. Никак... Не подскажите как это побороть ?

Artyom
28.09.2018
12:26:29
Не могу в H2O DataFrame нормально работать с кирилицей (Python). В Pandas DataFrame ок. А как только в dataFrame H2O - ломается кодировка. Пробовал и из csv utf-8, cp1251. Никак... Не подскажите как это побороть ?
библиотеки транслитерации https://github.com/Gewissta/Learning_Pandas_russian_translation/blob/master/Notebooks/Приложение%204_Решение%20домашнего%20задания.ipynb

и у h2o фреймы

Alexander
28.09.2018
16:18:12
и у h2o фреймы
А в лог регрессии, питон, какие приемущества м недостатки у разных солверов.

Вижу, что дефолтный либлинеар не параллелится

Artyom
28.09.2018
16:53:34
возможность работы с l1 и l2 скорость вычислений

Alexander
28.09.2018
19:06:50
Одинаково?

Какаято херня с логрегресстей на почти одном и том же датасете и парметрах работает 11 минут и 1 минуту... Разница в одном случае сделан standard scaler в другом нет и fillna нулем либо - 1...как может быть?

Artyom
29.09.2018
09:46:21
качество не будет одинаковым одни солверы рассчитаны на наборы с небольшим кол-вом переменных до 500, другие на наборы с тысячами переменных

широкий выбор есть в h2o

я вообще рекомендую обратить внимание на эту библиотеку и класс H2OGeneralizedLinearModel

https://drive.google.com/open?id=1qD2hYDYIGMQ39lWPL_HD2gAKIvvlJkCf

начиная со стр 204

Alexander
29.09.2018
09:53:31
https://drive.google.com/open?id=1qD2hYDYIGMQ39lWPL_HD2gAKIvvlJkCf
Спасибо, но чтото не открывается

Arslan
29.09.2018
12:25:15
Ребят, кто-нибудь может подсказать какие СУБД (и их подобия) используются(в см популярна) только в промышленном секторе/любом другом специфическом секторе далёком от веба и других мест где был замечен php(условно)

Google
Arslan
29.09.2018
12:27:42
Интересуют и те, которые уже ушли в мир иной, но имеют историческую ценность)

Страница 313 из 327