Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Приклади реальних проблем | Що таке аналіз головних компонент
Метод Головних Компонент

bookПриклади реальних проблем

Розглянемо реальний приклад застосування методу PCA. Імпортуємо бібліотеки, з якими будемо працювати:

# Лінійна алгебра та обробка даних
import numpy as np
import pandas as pd
з sklearn.preprocessing import StandardScaler

# Модель PCA
from sklearn.decomposition import PCA

# Візуалізація даних
import seaborn as sns
import matplotlib.pyplot as plt

Далі зчитується файл train.csv (з інтернету), який містить дані про продаж будинків з характеристиками будинків та їхніми цінами:

data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/7b22c447-77ad-48ae-a2d2-4e6714f7a4a6/train_S1.csv')

Обробимо наші дані. Цей процес включає в себе видалення багатьох характеристик з набору даних (ми залишимо лише 10 змінних - так нам буде легше працювати з отриманими результатами, щоб не було занадто багато характеристик), а також масштабування даних:

# Стовпці, які залишаться
columns_ndrop = ['YearBuilt', 'LotArea', 'MSSubClass', 'OverallQual', 'SalePrice', 'PoolArea', 'GarageArea', 'BedroomAbvGr', 'KitchenAbvGr', 'Каміни'].
data = data.drop(data.columns.difference(columns_ndrop), 1)

data_sc = StandardScaler().fit_transform(data)

Створимо модель PCA:

pca = PCA(n_components = 3, whiten = True)
pca = pca.fit(data_sc)

Тепер, щоб пояснити отримані результати, ми створимо теплову карту факторного навантаження. У наступному розділі ми дізнаємось, навіщо вона нам потрібна.

factor_analysis = pca.components_.T * np.sqrt(pca.explained_variance_)
fig, ax = plt.subplots(figsize=(3, 20))

sns.heatmap(factor_analysis, xticklabels = ["C1", "C2", "C3"],
      yticklabels = data_sc.columns, annot = True,
      cmap = "YlGnBu")
plt.show()

Всього за кілька кроків ми зменшили розмірність набору даних з 10 характеристик до 3! У наступному розділі ми спробуємо інтерпретувати результати PCA.

Завдання

Swipe to start coding

Прочитати набір даних train.csv (з Інтернету) і створити для нього PCA модель. Вона повинна містити 4 основні компоненти.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 4
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Сумаризуйте цей розділ

Пояснити код у file

Пояснити, чому file не вирішує завдання

close

Awesome!

Completion rate improved to 5.26

bookПриклади реальних проблем

Свайпніть щоб показати меню

Розглянемо реальний приклад застосування методу PCA. Імпортуємо бібліотеки, з якими будемо працювати:

# Лінійна алгебра та обробка даних
import numpy as np
import pandas as pd
з sklearn.preprocessing import StandardScaler

# Модель PCA
from sklearn.decomposition import PCA

# Візуалізація даних
import seaborn as sns
import matplotlib.pyplot as plt

Далі зчитується файл train.csv (з інтернету), який містить дані про продаж будинків з характеристиками будинків та їхніми цінами:

data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/7b22c447-77ad-48ae-a2d2-4e6714f7a4a6/train_S1.csv')

Обробимо наші дані. Цей процес включає в себе видалення багатьох характеристик з набору даних (ми залишимо лише 10 змінних - так нам буде легше працювати з отриманими результатами, щоб не було занадто багато характеристик), а також масштабування даних:

# Стовпці, які залишаться
columns_ndrop = ['YearBuilt', 'LotArea', 'MSSubClass', 'OverallQual', 'SalePrice', 'PoolArea', 'GarageArea', 'BedroomAbvGr', 'KitchenAbvGr', 'Каміни'].
data = data.drop(data.columns.difference(columns_ndrop), 1)

data_sc = StandardScaler().fit_transform(data)

Створимо модель PCA:

pca = PCA(n_components = 3, whiten = True)
pca = pca.fit(data_sc)

Тепер, щоб пояснити отримані результати, ми створимо теплову карту факторного навантаження. У наступному розділі ми дізнаємось, навіщо вона нам потрібна.

factor_analysis = pca.components_.T * np.sqrt(pca.explained_variance_)
fig, ax = plt.subplots(figsize=(3, 20))

sns.heatmap(factor_analysis, xticklabels = ["C1", "C2", "C3"],
      yticklabels = data_sc.columns, annot = True,
      cmap = "YlGnBu")
plt.show()

Всього за кілька кроків ми зменшили розмірність набору даних з 10 характеристик до 3! У наступному розділі ми спробуємо інтерпретувати результати PCA.

Завдання

Swipe to start coding

Прочитати набір даних train.csv (з Інтернету) і створити для нього PCA модель. Вона повинна містити 4 основні компоненти.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

close

Awesome!

Completion rate improved to 5.26
Секція 1. Розділ 4
single

single

some-alt