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

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

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