Масштабирование данных
В алгоритмах машинного обучения, основанных на метриках расстояния, масштабирование данных обязательно: признаки с разными диапазонами значений искажают результаты. K-means использует евклидово расстояние для вычисления близости к центроидам кластеров, поэтому перед применением алгоритма необходимо сначала масштабировать данные. Давайте сделаем это.
Доступен датафрейм df из предыдущего упражнения, прошедший базовую подготовку и готовый к использованию с sklearn. Метки мошенничества хранятся отдельно в переменной labels — они понадобятся вам позже для проверки результатов. Библиотека numpy уже импортирована как np.
Это упражнение является частью курса
Обнаружение мошенничества на Python
Инструкции к упражнению
- Импортируйте
MinMaxScaler. - Преобразуйте датафрейм
dfв массив numpyX, взяв только значенияdfи убедившись, что все они имеют типfloat. - Примените заданный скейлер к
X, чтобы получить масштабированные значенияX_scaledи привести все признаки к диапазону от 0 до 1.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import the scaler
from sklearn.preprocessing import ____
# Take the float values of df for X
X = df.values.astype(np.____)
# Define the scaler and apply to the data
scaler = ____()
X_scaled = scaler.____(X)