Визуализация — это язык, который позволяет нам видеть данные и понимать их смысл. Простой и эффективный способ диагностики результатов работы модели на различных объектах заключается в анализе разницы между прогнозами и целями. Он может показать, что в некоторых группах поведение модели имеет особенности (например, склонность к завышению или занижению прогнозов). Для демонстрации того, как строится такая визуализация загрузим набор данных:
После релиза ChatGPT сверхпопулярным направлением стало создание промтов. Появилось много "экспертов", каждый из которых пытается предложить рецепт подходящего запроса. Пройдусь по одному из трендов - это расхожие фразы, которые призваны устранить логические ошибки .
Рассмотрим один из передовых методов кластеризации - DBSCAN. Для многих исследователей эффективность метода зачастую компенсируется сложностью его настройки, из-за чего предпочтение отдается другим алгоритмам. Давайте внесем ясность в вопрос и упростим задачу использования DBSCAN.
В этой задаче библиотека scikit-learn нам не поможет, поэтому обратимся к SciPy. Для начала следует воспользоваться функцией linkage из scipy.cluster.hierarchy, которая и проведет процесс кластеризации (ранее я разбирал ее работу). В третьей колонке она возвращает дистанцию между объединяемыми кластерами (из первого и второго столбцов). На ее основании можно и задать предельный порог, после которого дистанция считается существенной и кластера перестают объединяться:
Рассмотрим, какие параметры имеет класс H2OGradientBoostingEstimator для решения задач машинного обучения, как обучать и тестировать модель. В качестве примера загрузим данные о заболеваемости раком через метод load_breast_cancer из sklearn (подробнее о получении датасетов с использованием библиотеки):
Рассмотрим пример построения дерева решений и работы модели на примере классификации цветков Ириса:
Ключам никогда не сообщают, какую дверь им предстоит открыть (Сергей Лукьяненко). Для оценки влияния признаков на модель машинного обучения следует использовать разные способы. Одним из ключевых является обучение модели на парах признаков и визуализация границ принятия решений. Конечно, хотелось бы подавать для этого все признаки, тем более, что именно так они включаются в итоговую модель (а не отдельными парами). Однако ввиду ограниченности человеческого восприятия приходится чем-то пренебрегать. В качестве демонстрационного примера посмотрим на границы логистической регрессии при классификации цветков Ириса:
Рассмотрим, как получить коэффициенты парной линейной регрессии, чтобы понять логику этой модели. Пусть наша формула предсказания цели через неизвестный x имеет следующий вид:
Для моделей машинного обучения методы диагностики влияния признаков на прогноз представляют исключительную важность.
Как я рассказывал ранее, использование класса np.random.RandomState для инициализации счетчика случайных чисел в моделях является предпочтительным для оценки качества. В то же время при сравнении результатов кросс-валидации моделей в сплиттер лучше вместо данного объекта передавать целый сид, иначе наборы фолдов будут отличаться между собой, поэтому и модели сравнивать не совсем корректно. Сгенерируем демонстрационный набор данных: