Давайте визуализируем, чтобы улучшить прогноз…
Допустим, вы пишете красивый и чистый код машинного обучения (например, линейную регрессию). У вас все в порядке, сначала вы разделили свой набор данных на две части «обучающий набор и тестовый набор», как обычно, с помощью функции типа train_test_split и с некоторым случайным фактором. Ваш прогноз может быть немного ниже или выше, чем на рисунках ниже.
и результаты не меняются. Так что мы можем сделать?
Как следует из названия, перекрестная проверка - это следующая интересная вещь после изучения линейной регрессии, потому что она помогает улучшить ваши прогнозы с помощью K-Fold стратегия. Вы спросили, что такое K-Fold? Все поясняется ниже с помощью кода.
Полный код :)
Анализ кода:
Приведенный выше код разделен на 4 этапа…
- Загрузить и Разделить целевой набор данных.
Мы копируем цель из набора данных в переменную 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+.
Любые комментарии или если у вас есть вопросы, напишите их в комментариях.
Хлопайте! Поделиться этим! Следуй за мной!
Рад быть полезным. Престижность… ..
Предыдущие истории, которые вам понравятся:
2. Линейная регрессия: более легкий путь
3. Беспроводная клавиатура Arduino своими руками
4. Что такое, черт возьми, Персептрон?
5. Что, черт возьми, такое« тензор в TensorFlow?»