Пристосувати дані в модель
Тепер, коли наші дані готові, давайте вставимо їх у модель PCA.
from sklearn.decomposition import PCA
pca_model = PCA(n_components = 2)
X_reduced = pca_model.fit_transform(X)
Ми зменшили розмірність набору даних з 13 характеристик до 2! Тепер ми можемо візуалізувати отримані компоненти за допомогою бібліотеки seaborn
та matplotlib
:
import matplotlib.pyplot as plt
import seaborn as sns
sns.scatterplot(X_reduced[:,0], X_reduced[:,1])
plt.xlabel("PC1")
plt.ylabel("PC2")
Логічно, що у вас виникає питання, як перевірити ефективність тієї чи іншої моделі PCA. Ефективність PCA можна "порахувати" двома способами. Перший - це те, скільки інформації містять отримані компоненти. Кількість компонент, які ми вирішили залишити, визначатиме, скільки інформації зрештою залишиться від набору даних. Для прикладу, покажемо кількість поясненої дисперсії:
print("cumulative Variances (Percentage):")
print(pca_model.explained_variance_ratio_.cumsum() * 100)
Вище наведено результат моделі PCA, яка містить 13 основних компонент з набору даних про вино (тобто стільки ж змінних, скільки було спочатку). Отже, ми можемо бачити, що перший компонент охоплює 36%
інформації, два компоненти - 55%
, три компоненти - 66%
і так далі.
Графік дозволяє легко візуалізувати кількість компонентів, необхідних для охоплення різного ступеня мінливість даних:
Другий спосіб оцінити продуктивність моделі PCA - перевірити продуктивність інших моделей машинного навчання, в які ми збираємось (якщо нам дійсно потрібно) вписати набір даних. Ми можете шукати оптимальний набір з 3 змінних - наприклад, час роботи моделі машинного навчання, відсоток точності моделі та кількість головних компонент.
Тест
Як ви думаєте, чому лише 3 компоненти в представленому наборі даних можуть пояснити цілих 92% даних?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Запитайте мені питання про цей предмет
Сумаризуйте цей розділ
Покажіть реальні приклади
Awesome!
Completion rate improved to 5.26
Пристосувати дані в модель
Свайпніть щоб показати меню
Тепер, коли наші дані готові, давайте вставимо їх у модель PCA.
from sklearn.decomposition import PCA
pca_model = PCA(n_components = 2)
X_reduced = pca_model.fit_transform(X)
Ми зменшили розмірність набору даних з 13 характеристик до 2! Тепер ми можемо візуалізувати отримані компоненти за допомогою бібліотеки seaborn
та matplotlib
:
import matplotlib.pyplot as plt
import seaborn as sns
sns.scatterplot(X_reduced[:,0], X_reduced[:,1])
plt.xlabel("PC1")
plt.ylabel("PC2")
Логічно, що у вас виникає питання, як перевірити ефективність тієї чи іншої моделі PCA. Ефективність PCA можна "порахувати" двома способами. Перший - це те, скільки інформації містять отримані компоненти. Кількість компонент, які ми вирішили залишити, визначатиме, скільки інформації зрештою залишиться від набору даних. Для прикладу, покажемо кількість поясненої дисперсії:
print("cumulative Variances (Percentage):")
print(pca_model.explained_variance_ratio_.cumsum() * 100)
Вище наведено результат моделі PCA, яка містить 13 основних компонент з набору даних про вино (тобто стільки ж змінних, скільки було спочатку). Отже, ми можемо бачити, що перший компонент охоплює 36%
інформації, два компоненти - 55%
, три компоненти - 66%
і так далі.
Графік дозволяє легко візуалізувати кількість компонентів, необхідних для охоплення різного ступеня мінливість даних:
Другий спосіб оцінити продуктивність моделі PCA - перевірити продуктивність інших моделей машинного навчання, в які ми збираємось (якщо нам дійсно потрібно) вписати набір даних. Ми можете шукати оптимальний набір з 3 змінних - наприклад, час роботи моделі машинного навчання, відсоток точності моделі та кількість головних компонент.
Тест
Як ви думаєте, чому лише 3 компоненти в представленому наборі даних можуть пояснити цілих 92% даних?
Дякуємо за ваш відгук!