Зниження рівня шуму
Розглянемо, як працює PCA, коли алгоритм виступає не як етап обробки даних, а як основний етап. Задача зменшення шуму на зображеннях - саме такий випадок.
Пайплайн у цьому випадку виглядає так: ми завантажуємо в модель зашумлені дані, після чого можемо обробити інші дані за допомогою PCA, і модель відновить ці дані. Як це працює? За рахунок зменшення кількості головних компонент - залишаються буквально лише найбільш важливі елементи зображення, тобто зменшується шум.
Ми використовуємо набір даних USPS з числами та бібліотеку scikit-learn
:
import numpy as np
з sklearn.datasets import fetch_openml
з sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
X, y = fetch_openml(data_id = 41082, as_frame = False, return_X_y = True)
X = MinMaxScaler().fit_transform(X)
Додамо трохи шуму до наших зображень:
X_train, X_test, y_train, y_test = train_test_split(
X, y, stratify = y, random_state = 0, train_size = 1_000, test_size = 100
)
rng = np.random.RandomState(0)
noise = rng.normal(scale = 0.25, size = X_test.shape)
X_test_noisy = X_test + noise
noise = rng.normal(scale = 0.25, size = X_train.shape)
X_train_noisy = X_train + noise
Створимо модель РСА:
from sklearn.decomposition import PCA
pca_model = PCA(n_components=40)
pca_model.fit(X_train_noisy)
Давайте подивимося, що з цього вийшло! Початкові зашумлені зображення:
І ось результат роботи РСА:
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Запитайте мені питання про цей предмет
Сумаризуйте цей розділ
Покажіть реальні приклади
Awesome!
Completion rate improved to 5.26
Зниження рівня шуму
Свайпніть щоб показати меню
Розглянемо, як працює PCA, коли алгоритм виступає не як етап обробки даних, а як основний етап. Задача зменшення шуму на зображеннях - саме такий випадок.
Пайплайн у цьому випадку виглядає так: ми завантажуємо в модель зашумлені дані, після чого можемо обробити інші дані за допомогою PCA, і модель відновить ці дані. Як це працює? За рахунок зменшення кількості головних компонент - залишаються буквально лише найбільш важливі елементи зображення, тобто зменшується шум.
Ми використовуємо набір даних USPS з числами та бібліотеку scikit-learn
:
import numpy as np
з sklearn.datasets import fetch_openml
з sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
X, y = fetch_openml(data_id = 41082, as_frame = False, return_X_y = True)
X = MinMaxScaler().fit_transform(X)
Додамо трохи шуму до наших зображень:
X_train, X_test, y_train, y_test = train_test_split(
X, y, stratify = y, random_state = 0, train_size = 1_000, test_size = 100
)
rng = np.random.RandomState(0)
noise = rng.normal(scale = 0.25, size = X_test.shape)
X_test_noisy = X_test + noise
noise = rng.normal(scale = 0.25, size = X_train.shape)
X_train_noisy = X_train + noise
Створимо модель РСА:
from sklearn.decomposition import PCA
pca_model = PCA(n_components=40)
pca_model.fit(X_train_noisy)
Давайте подивимося, що з цього вийшло! Початкові зашумлені зображення:
І ось результат роботи РСА:
Дякуємо за ваш відгук!