Автоматический прокси из другого языка к Python (летняя практика) — различия между версиями
Katya (обсуждение | вклад) (Новая страница, с помощью формы Новое_задание_на_летнюю_практику) |
Katya (обсуждение | вклад) |
||
Строка 33: | Строка 33: | ||
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | Python + второй язык | + | *Python + второй язык |
− | + | *Понимание работы pickle | |
− | + | ;Веб-фреймворк (django, например) | |
+ | *Библиотека sklearn будет выступать в роли пробного камня. |
Версия 14:54, 31 мая 2015
Автор | Рогожников Алексей Михаилович [TODO Профиль на сайте ВШЭ] Электронная почта |
Организация | Лаборатория методов анализа больших данных (LAMBDA) |
Учебный год | 2015 |
Задание
Разработать минималистичный автоматический прокси из другого языка к Python.
Схема: 1. веб-сервер на питоне. Он умеет а) принимать json запросы и б) отдавать листинг доступных классов и информацию об их конструкторах (IPython, например, так работает) 2. ""клиент"" на другом языке, скажем, на R или Ruby. Ожидаемое поведение в другом языке: box = PythonProxy('http://гдесервер') clf = box.sklearn.ensemble.AdaBoostClassifier(base_estimator=box.sklearn.ensemble.GradientBoostingClassifier()) clf.fit(X, y)
В первой строке произошло подключение к серверу, выкачка данных о доступных классах (она может происходить лениво, как в IPython), во второй конструируется объект с использованием проксей к этим классам (использовались классы из библиотеки sklearn), в третьей вызывается метод, на сервер передается json-представление текущего объекта и параметры X,y. На сервере происходит обучение и возвращается обратно новый clf. На второй и третьей строках должно работать автодополнение (intellisense).
Зачем это надо? Чтобы классификаторы, которые есть на питоне (или имеются питон-обертки), легко было использовать из других языков.
Какие начальные требования?
- знать python (знакомство с IPython желательно),
- быть знакомым с R или Ruby или F#,
- минимальный опыт работы с веб-сервисами.
Какие будут использоваться технологии?
- Python + второй язык
- Понимание работы pickle
- Веб-фреймворк (django, например)
- Библиотека sklearn будет выступать в роли пробного камня.