Застосування PCA до Реального Набору Даних
Свайпніть щоб показати меню
Виконання PCA на реальному наборі даних за допомогою scikit-learn. Використовуйте набір даних Iris — класичний приклад у машинному навчанні, і дотримуйтесь таких кроків:
- Завантаження даних;
- Підготовка даних до аналізу;
- Стандартизація ознак;
- Застосування
PCAдля зменшення розмірності.
Цей процес демонструє, як реалізувати зменшення розмірності у практичних сценаріях.
12345678910111213141516171819202122import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA # Load the Iris dataset data = load_iris() X = data.data feature_names = data.feature_names # Standardize features (important for PCA) scaler = StandardScaler() X_scaled = scaler.fit_transform(X) # Apply PCA to reduce to 2 components pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) print("Original shape:", X.shape) print("Transformed shape:", X_pca.shape) # Each row in X_pca is a sample projected onto the first two principal components
Наведений вище код виконує PCA на наборі даних Iris, дотримуючись кількох ключових етапів:
1. Завантаження даних
Набір даних Iris завантажується за допомогою load_iris() з scikit-learn. Цей набір містить 150 зразків ірисів, кожен з яких описується чотирма ознаками: довжина чашолистка, ширина чашолистка, довжина пелюстки, ширина пелюстки.
2. Стандартизація ознак
Стандартизація забезпечує, що кожна ознака має середнє значення 0 та дисперсію 1:
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
Цей крок є важливим, оскільки PCA чутлива до дисперсії кожної ознаки. Без стандартизації ознаки з більшими масштабами домінували б у головних компонентах, що призвело б до некоректних результатів.
3. Застосування PCA
PCA(n_components=2) зменшує розмірність набору даних з чотирьох до двох:
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
Головні компоненти — це нові осі, які відображають напрямки максимальної дисперсії у даних. Кожен зразок проектується на ці осі, що дозволяє отримати компактне представлення з максимально можливою кількістю інформації.
4. Інтерпретація результатів PCA
Можна перевірити, яку частку дисперсії пояснює кожна головна компонента:
print(pca.explained_variance_ratio_)
Цей рядок виведе масив, наприклад [0.7277, 0.2303], що означає: перша компонента пояснює близько 73% дисперсії, а друга — близько 23%. Разом вони охоплюють більшість інформації з початкових даних.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат