Превью для статьи

Деревья решений в pySpark: от семечка до параметрической оптимизации случайного леса

Меня зовут Клим, и сегодня я буду вашим проводником в PySpark MLlib. В этом посте я расскажу о простом для понимания, но в то же время достаточно эффективным алгоритме — дерево решений, а также его расширенной модификацией случайные леса решений.

Превью для статьи

Как растут деревья в изумрудном городе.

Интересно, как много из нас при словах «машинное обучение» и «искусственный интеллект» многозначительно кивают, как бы говоря «да-да, я знаю, мощная штука, нажал кнопку и корабли забороздили космические просторы» или отстранённо машут руками, имея в виду «это какая-то чёрная магия, нам недоступная и мы даже боимся понять её суть». На деле же машинное обучение базируется на законах математики, статистики и т.п., а значит это можно понять или, как минимум, объяснить. Думаю, многие слышали о таком методе машинного обучения, как дерево решений. Действительно, средство крайне эффективное для различных задач классификации и регрессии. А если ещё проще, то дерево решений в одиночку или в совокупности с другими методами подскажет нам выдавать ли кредит, определит стоимость залога, ну или поможет интернет-джину раскрыть загаданного персонажа.

Превью для статьи

Реализация деревьев решений простым кодом

Когда заходит речь об энтерпрайз моделях всем сразу представляется какие-то невообразимо сложные вещи, типа сложнейших нейросетей, квантовых компьютеров и андронных коллайдеров. При этом реальность достаточно прозаична – почти 90% моделей, ну хорошо, 80% моделей закрываются тремя столпами – это линейная и логистическая регрессии и деревья решений.
Конечно, построение этих моделей производится на больших, даже так — ОЧЕНЬ БОЛЬШИХ данных, но под капотом эти данные обрабатываются самыми простыми моделями. При этом часто даже не специальными библиотеками, а простым простым кодом.