Давайте визуализируем, чтобы улучшить прогноз…

Допустим, вы пишете красивый и чистый код машинного обучения (например, линейную регрессию). У вас все в порядке, сначала вы разделили свой набор данных на две части «обучающий набор и тестовый набор», как обычно, с помощью функции типа train_test_split и с некоторым случайным фактором. Ваш прогноз может быть немного ниже или выше, чем на рисунках ниже.

и результаты не меняются. Так что мы можем сделать?

Как следует из названия, перекрестная проверка - это следующая интересная вещь после изучения линейной регрессии, потому что она помогает улучшить ваши прогнозы с помощью K-Fold стратегия. Вы спросили, что такое K-Fold? Все поясняется ниже с помощью кода.

Полный код :)

Анализ кода:

Приведенный выше код разделен на 4 этапа…

  1. Загрузить и Разделить целевой набор данных.

Мы копируем цель из набора данных в переменную y . Чтобы увидеть набор данных, раскомментируйте строку print.

2. Выбор модели

Чтобы упростить задачу, мы будем использовать линейную регрессию. Чтобы узнать об этом подробнее, нажмите на сообщение Линейная регрессия: более простой способ.

3. Перекрестная проверка :)

Это процесс, а также функция в sklearn.

cross_val_predict (модель, данные, цель, резюме)

куда,

модель - это выбранная нами модель, для которой мы хотим выполнить перекрестную проверку.

данные - это данные.

target - целевые значения относительно данные.

cv (необязательно): общее количество складок (также известное как K-Fold).

В этом процессе мы не разделяем данные на два набора, как обычно (обучающий и тестовый набор), как показано ниже.

Но мы делим набор данных на равные K частей (K-Folds или cv). Чтобы улучшить прогноз и лучше обобщить. Затем обучите модель на большем наборе данных и протестируйте на меньшем наборе данных. Допустим, cv равно 6.

Теперь первая итерация разделения модели будет выглядеть примерно так, где красный - это тест, а синий - данные поезда.

Вторая итерация будет выглядеть как на рисунке ниже.

и так далее до последней или 6-й итерации, которая будет выглядеть примерно так, как показано на рисунке ниже.

4. Визуализируйте данные с помощью Matplotlib.

Для визуализации мы импортируем библиотеку matplotlib. Затем создайте подсюжет.

Создание точек разброса с черным (например, (0,0,0)) контуром или краями.

Использование ax.plot для получения минимального и максимального значений для обеих осей с 'k--', представляющим тип ширины линии, т. е. lw = 4.

Затем присваиваем метку осям x и y.

plt.show () наконец, чтобы показать график.

Результат

Этот график представляет k-кратную перекрестную проверку для набора данных Бостон с моделью линейной регрессии.

Я уверен, что существует множество типов перекрестной проверки, которые люди реализуют, но K-складки - хороший и легкий способ начать.

Чтобы получить полный код, перейдите по этой ссылке на github: Github



Подписывайтесь на меня на Medium, чтобы получать похожие сообщения.

Я буду публиковать 2 сообщения в неделю, так что не пропустите руководство Код.

Свяжитесь со мной в Facebook, Twitter, Linkedin, Google+.

Любые комментарии или если у вас есть вопросы, напишите их в комментариях.

Хлопайте! Поделиться этим! Следуй за мной!

Рад быть полезным. Престижность… ..

Предыдущие истории, которые вам понравятся:

  1. Объяснение функции активации: нейронные сети

2. Линейная регрессия: более легкий путь

3. Беспроводная клавиатура Arduino своими руками

4. Что такое, черт возьми, Персептрон?

5. Что, черт возьми, такое« тензор в TensorFlow?»