orn — как раз одна из них.
Наконец %matplotlib inline в строке ❹ сообщает Jupyter‚ что в блокноте ожидаются графики и необходимо отображать их, как только они нам понадобятся.
Глубокому обучению и нейронным сетям в последнее время уделяется особое внимание, в основном благодаря прорыву в методах компьютерного зрения. Эти сети решают такие задачи, как классификация изображений, намного лучше, чем это делали более ранние методы. Глубокое обучение — подобласть машинного обучения, в которой функция g представляет собой нейронную сеть со многими слоями. Мы узнаем больше о нейронных сетях и глубоком обучении, начиная с главы 7, где обучаем модель глубокого обучения для классификации изображений.
• линейную регрессию для решения задачи регрессии (описывается в главе 2);
Все древовидные модели могут решить проблему регрессии — спрогнозировать число. В Scikit-learn, DecisionTreeRegressor и RandomForestRegressor реализуют регрессионную вариацию моделей. В XGBoost нам потребуется изменить цель на reg:squarederror
В XGBoost параметр colsample_bytree управляет количеством признаков, которые мы выбираем для каждого дерева, — это похоже на max_features для случайного леса. Поэкспериментируйте с этим параметром и посмотрите, улучшает ли он производительность: попробуйте значения от 0,1 до 1,0 с шагом 0,1. Обычно оптимальные значения находятся в диапазоне от 0,6 до 0,8, но иногда 1,0 дает наилучший результат.
Прежде чем мы сможем обучить модель XGBoost, нам придется обернуть наши данные в DMatrix — специальную структуру данных для эффективного поиска разбиений. Так и сделаем:
dtrain = xgb.DMatrix(X_train, label=y_train, feature_names=dv.feature_names_)
Чтобы использовать случайный лес в Scikit-learn, нам нужно импортировать RandomForestClassifier из пакета ensemble:
from sklearn.ensemble import RandomForestClassifier
Наиболее распространенными критериями остановки являются следующие:
• группа уже чиста;
• дерево достигло предела глубины (контролируется max_depth);
• группа слишком мала, чтобы продолжать разделение (контролируется параметром min_samples_leaf).
Визуализировать полученное дерево можно с помощью функции export_text из пакета tree:
from sklearn.tree import export_text
tree_text = export_text(dt, feature_names=dv.feature_names_)
print(tree_text)