Ваши данные должны быть подготовлены, прежде чем вы сможете строить модели. подготовка данных Процесс может включать три этапа: выбор данных, предварительная обработка данных и преобразование данных.
В этом посте вы обнаружите два простых метода преобразования данных, которые вы можете применить к своим данным в Python, используя scikit учиться,
Обновить: Смотрите этот пост для более актуального набора примеров,
Ваши предварительно обработанные данные могут содержать атрибуты со смесью весов для различных количеств, таких как доллары, килограммы и объем продаж.
Многие методы машинного обучения ожидают или более эффективны, если атрибуты данных имеют одинаковый масштаб. Два популярных масштабирование данных методы нормализация и стандартизация.
Нормализация относится к изменению масштаба числовых атрибутов в диапазоне от 0 до 1.
Полезно масштабировать входные атрибуты для модели, которая опирается на величину значений, таких как меры расстояния, используемые в k-ближайших соседях, и при подготовке коэффициентов в регрессии.
Пример ниже демонстрирует нормализацию данных набора цветов Iris.
Normalize the data attributes for the Iris dataset
Python
# Normalize the data attributes for the Iris dataset.
from sklearn.datasets import load_iris
from sklearn import preprocessing
# load the iris dataset
iris = load_iris()
print(iris.data.shape)
# separate the data from the target attributes
X = iris.data
y = iris.target
# normalize the data attributes
normalized_X = preprocessing.normalize(X)
Для получения дополнительной информации см. нормализовать функцию в документации API.
Стандартизация относится к сдвигу распределения каждого атрибута, чтобы иметь среднее значение нуля и стандартное отклонение единицы (дисперсия единицы).
Полезно стандартизировать атрибуты для модели, которая опирается на распределение атрибутов, таких как гауссовские процессы.
Приведенный ниже пример демонстрирует стандартизацию данных набора цветов Iris.
Standardize the data attributes for the Iris dataset
Python
# Standardize the data attributes for the Iris dataset.
from sklearn.datasets import load_iris
from sklearn import preprocessing
# load the Iris dataset
iris = load_iris()
print(iris.data.shape)
# separate the data and target attributes
X = iris.data
y = iris.target
# standardize the data attributes
standardized_X = preprocessing.scale(X)
Для получения дополнительной информации см. функция масштабирования в документации API.
Трудно понять, улучшит ли масштаб ваших данных производительность ваших алгоритмов, прежде чем применять их. Если часто можно, но не всегда.
Хороший совет - создавать измененные копии вашего набора данных и сравнивать их друг с другом, используя ваш тестовый набор и несколько алгоритмов, которые вы хотите проверить на месте. Это может быстро подчеркнуть преимущества (или отсутствие таковых) масштабирования ваших данных с данными моделями, и какой метод масштабирования может быть достоин дальнейшего изучения.
Изменение масштаба данных является важной частью подготовки данных перед применением алгоритмов машинного обучения.
В этом посте вы обнаружили, как масштабирование данных вписывается в процесс прикладного машинного обучения, и два метода: нормализация и стандартизация, которые вы можете использовать для изменения масштаба данных в Python с помощью библиотеки scikit-learn.
Обновить: Смотрите этот пост для более актуального набора примеров,