Дисперсия признаков PCA
Набор данных о рыбах является 6-мерным. Но какова его внутренняя размерность? Постройте график дисперсий признаков PCA, чтобы это выяснить. Как и прежде, samples — это двумерный массив, где каждая строка представляет одну рыбу. Предварительно вам потребуется стандартизировать признаки.
Это упражнение является частью курса
Обучение без учителя на Python
Инструкции к упражнению
- Создайте экземпляр класса
StandardScalerс именемscaler. - Создайте экземпляр класса
PCAс именемpca. - С помощью функции
make_pipeline()создайте конвейер, объединивscalerиpca. - Используйте метод
.fit()объектаpipeline, чтобы обучить его на выборке рыбsamples. - Извлеките количество использованных компонент с помощью атрибута
.n_components_объектаpca. Передайте это значение в функциюrange()и сохраните результат в переменнуюfeatures. - Используйте функцию
plt.bar(), чтобы построить график объяснённой дисперсии:features— по оси X,pca.explained_variance_— по оси Y.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Perform the necessary imports
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
import matplotlib.pyplot as plt
# Create scaler: scaler
scaler = ____
# Create a PCA instance: pca
pca = ____
# Create pipeline: pipeline
pipeline = ____
# Fit the pipeline to 'samples'
____
# Plot the explained variances
features = ____
plt.bar(____, ____)
plt.xlabel('PCA feature')
plt.ylabel('variance')
plt.xticks(features)
plt.show()