Форум сайта python.su
Добрый день!
На форуме не нашёл, хотя задача выглядит “обычной” для Биг Даты. Наверное просто не знаю ключевых слов для поиска. Или форума
Есть результаты экспериментов 1 млн строк, величина (время падения предмета) зависит от веса, объема, температуры (предметы все очень разные, поэтому есть существенная дисперсия). Нужно найти средние величины времени падения.
Задание 1:
Условно нужен “куб” средних значений, у которого, например, по оси Х веса, по оси У объёмы, по оси Z температура, “внутри” куба - средние значения времени падения предмета. (Возможно что куб придется делать четырех или более мерным.)
Задание 2:
По кубу значений потом нужно по характеристикам предмета веса, объёма и его температуры найти ожидаемое время падения.
Задание 3:
Чтобы задания 1 и 2 можно было бы выполнить “быстро”, т.е. быстро найти куб значений по новым данным, а затем найти времена по заданным характеристикам (порядка 50 000 предметов).
Можно, пожалуйста, ссылку на подобные задачи и их решения, или концептуально описать что за чем делать и в каких средах/программах это делать. Ну или хотя бы где искать, на каком форуме?
Потом, но это не точно, это будет решаться через machine learning, но это потом и не точно
С уважением, Александр.
Отредактировано Aleksandr_Ph (Янв. 17, 2019 14:58:49)
Офлайн
Для начала, видимо, выбрать метод интерполяции (задание 2).
От этого и отталкиваться.
Офлайн
Для начала, видимо, выбрать метод интерполяции (задание 2).
От этого и отталкиваться.
Отредактировано Aleksandr_Ph (Янв. 18, 2019 09:58:05)
Офлайн
Aleksandr_PhТогда можно поподробнее, что такое этот “куб значений” и как им пользуются? Я не знаю, поисковики мало помогают.
Функцию искать не нужно, нужен просто набор значений от параметров.
Офлайн
Неточно сформулировал. По осям не дискретные величины, а интервалы.
Ось Х вес: от 0,001 кг до 0,01, от 0,01 до 0,02 и т.д.
Ось У объём: от 0,001 м3 до 0,005, от 0,005 до 0,01 и т.д.
Ось Z температура, на сколько градусов выше окужающей: 1, 2, 3 и т.д.
Т.е. нарезка интервалов по осям неравномерная.
Пока это всё вручную в Excel фильтрами отбираю на небольших выборках (170 тыс строк), но нужно на больших выборках и более или менее автоматизированно.
Офлайн
Aleksandr_Ph посмотрите с в сторону pytables https://www.pytables.org и numpy\scipy\pandas
[code python][/code]
Отредактировано PEHDOM (Янв. 18, 2019 12:46:17)
Офлайн
Aleksandr_PhА значение – среднее значение функции попавших в интервал точек, так?
Ось Х вес: от 0,001 кг до 0,01, от 0,01 до 0,02 и т.д.
Офлайн
А значение – среднее значение функции попавших в интервал точек, так?
И при вычислении нового значения “по кубу” мы смотрим в какой интервал попадает точка и берём это среднее?
Как определяются границы интервалов?
Офлайн
посмотрите с в сторону pytables https://www.pytables.org и numpy\scipy\pandas
Офлайн
Aleksandr_Phувы, нет, но миллион строк это не так чтоб и много, условно двумерная матрица 1000x1000(как раз миллион элемнтов) из floaf-ов будет занимать мегабайт 15-20 в памяти компьютера, поэтому Биг Датой тут и не пахнет.Тем более что вам и не нужно весь миллион держать в памяти, вам нужно их один раз прочитать, и впихнуть в ваш “куб” где будут уже средние значения. Тоесть если предположить что одно срнеднее береться на 10 записей из экспериментов(в среднем ), то у вас уже не миллион а 100 000 величин,а это куб всего 50х50х50 - пару-тройку мегабайт в памяти. Весь вопрос что за миллион строк у вас. Это текстовый файл, или ексель, или ДБФ-ка? тоесть по сути вся задача у вас сведется к переводу этих данные в формат котороый можно быстро считать. Условно если у вас текст, то загнать его в таблицу БД или HDF-файл или еще куда, откуда их можно потом быстро выдергнуть, выборочно или все. А дальше уже крутите вашими данными как хотите. благо есть куча пандасов, нампи, сцайпи и прочего…
Может есть какой-нибудь похожий кейс с решением?
[code python][/code]
Отредактировано PEHDOM (Янв. 18, 2019 16:27:07)
Офлайн