Regularized Greedy Forest was introduced in this article. And now it is one of the approaches for efficient boosting training. However, building and installing it on Mac not yet (for November 2018) is as simple as pip3 install xgboost
. So, this short note is about how to build and run RGF on Mac, if you have any troubles with it.
python
Running cv2 in virtualenv on Mac
You may install cv2 using one of the available guides, f.e. this one.
And then just symlink so files into required virtualenv:
ln -s /usr/local/opt/opencv/lib/python2.7/site-packages/cv2.so /Users/user/.virtualenv/virtualenv/lib/python2.7/site-packages/
How to solve circular / recursive import error in python
Circular / recursive import error occurs when you try to
import a1 from a.py
in the b.py, which is also used in a1 in a.py.
The solution is to import functions directly in the function body, not in the beginning of the module.
If you have a better approach, you are very welcome to suggest it on the SO question.
Running Theano-based DeepMind DQN on Mac
Theano-based implementation of Deep Q-learning is available on github. During the DeepHack hackathon our team «’drop table table users;» (which consists of me, Alexey Ozerin, Alexander Notchenko, Mikhail and Artur Kuzin) managed to get this code up and running on Ubuntu in a couple of minutes because of the provided dep_script.sh. But running this code on Mac resulted in some problems, which we were able to solve succeffully.
Перенаправление системных потоков (на примере stdout) в python
Так можно делать, только в приложениях, который никогда не будет поддерживать опасный психопат, который знает где вы живёт.
Потому что потом этот код может выполняться в ipython notebook, или другим образом, использующим нестандартный вывод.
Применять этот подход можно только когда делаешь что-то в рамках хакатона или совсем уж под себя, потому что иначе людям придётся это переписывать.
output = out.split('_')[0] + '_funnel.out'
o = open(output,'a')
#Saving pointer to native stdout
saveout = sys.stdout
sys.stdout = open(output, 'w')
print_something_using_print()
print "one more line"
#Returning ouput back to sys
sys.stdout = saveout
sys.stdout =sys.__stdout__
Оптимизация валютного инвестиционного портфеля
Оригинал этого поста был написан в блоге Yhat — компании, развивающей онлайн-платформу по обработке данных Ryan’ом. Этот пост посвящен тому, как оптимизировать портфель инвестиций с целью получить максимальную прибыль при желаемом уровне риска. Несмотря на то, что в прримере описывается выбор инвестиций в иностранную валюту, это можно использовать для любых других вариантов вложений денег, потому что они все рассчитываются при помощи одной математической модели.
…
Установка Ipython, SciPy, NumPy на Mac
Оказалось, что нельзя просто так взять и поставить ipython notebook на Mac. Даже используя менеджер пакетов brew.
Собственно, в этом небольшом руководстве содержится информация о том, как поставить всё необходимое для работы над анализом данных на Mac.
Предсказание количества лайков. Сравнение несколько регрессионных алгоритмов.
В начале апреля я узнал о суперкрутом конкурсе SNA Hackaton. К сожалению, узнал я лишь за неделю, но и для того, чтобы принять в нём участие, надо было доделать более важные дела. Суть конкурса в том, что участникам выдавался небольшой (~500 МБ) набор данных, содержащий текст поста в Одноклассниках, его время, идентификатор и идентификатор группы, а также собранные им лайки.
Надо было построить такой алгоритм, который лучше всего предскажет количество лайков, которое наберёт какой-либо другой пост. Это вполне возможно сделать, обучив алгоритм на имеющихся данных, потому что вся необходимая информация уже есть в них. Как оказалось потом, на количество лайков влияет длина поста, его содержание, наличие фотографий и другие параметры.
Честно сказать, результатом пары бессонных ночей я доволен и не доволен одновременно. С одной стороны, хочется сказать спасибо организаторам за то, что дали такую прекрасную возможность проанализировать данные и построить и проверить все эти гипотезы. Благодаря этому конкурсу я немного больше узнал про SciKit-learn и NLP (Natural Language Processing, а не то, что вы подумали). Но с другой стороны, у меня появилось желание получить модель получше, которое я пока, к сожалению, не реализовал.
Поскольку блог сжимает оригинальный html файл, посмотреть результаты исследования можно и с нормальной версткой.
…
Анализ 300 лучших комментариев на TJournal.ru
Когда ты любишь то, чем ты занимаешься – это болезнь. Хорошо, если тебе нравится не коллекционировать марки, потому что мало кто способен выслушивать то, как ты можешь часами рассуждать насчёт отличий английских марок 30х от бельгийских, которые выпускались в 40х. Просто прекрасно, если тебе нравится валить боком или кататься на сноуборде, потому что тогда наверняка у тебя будет парочка историй, которые будут интересны кому-то, кроме таких же сумасшедших как ты.
А мне нравится заниматься анализом данных и статистикой. И в этом есть свои плюсы. Потому что мне нравится думать. И минусы. Потому что часов 6 крайних я провёл, пытаясь разобраться, почему же так криво строятся графики, а до этого часа два пытался понять, что же не так с кодировкой и почему нельзя нормально спарсить пару значений. Но в конце концов я довёл работу до приемлиемого результата.
Манипуляция и обработка данных в Python (Data wrangling and munging)
Тем временем, я продолжаю переводить статьи с примерами синтаксиса, посвящённые тому, как использовать Pandas для анализа данных. В этом переводе нет графиков, зато полностью раскрывается тема того, как можно обращаться с массивом данных, совмещать несколько в один, обращаться к столбцам, а также различным образом группировать и выбирать данные из набора.
Если что-то отображается некорректно, то можно посмотреть оригинальный html файл или сгенерировать его из ipynb исходника.
Другие статьи по работе с данными в Python
Шпаргалка по статистическому анализу
Анализ данных при помощи Python. Основные статистики и обзор данных (Exploratory Analysis)
Анализ данных при помощи Python. Основные статистики и обзор данных (Exploratory Analysis) часть 2
Анализ данных при помощи Python. Графики в pandas и matplotlib.