Usuwanie korelacji z pomiarów ziaren za pomocą PCA
W poprzednim ćwiczeniu zaobserwowałeś, że pomiary szerokości i długości ziaren są ze sobą skorelowane. Teraz użyjesz PCA, aby usunąć tę korelację, a następnie zwizualizujesz nowe punkty i obliczysz ich korelację Pearsona.
To ćwiczenie jest częścią kursu
Uczenie nienadzorowane w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
PCAzsklearn.decomposition. - Utwórz instancję klasy
PCAo nazwiemodel. - Użyj metody
.fit_transform()obiektumodel, aby zastosować transformację PCA do zbiorugrains. Wynik przypisz do zmiennejpca_features. - Kolejny fragment kodu – służący do wyodrębnienia, zwizualizowania i obliczenia korelacji Pearsona dla dwóch pierwszych kolumn
pca_features– został już za ciebie przygotowany. Kliknij Prześlij odpowiedź, aby zobaczyć wynik!
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import PCA
____
# Create PCA instance: model
model = ____
# Apply the fit_transform method of model to grains: pca_features
pca_features = ____
# Assign 0th column of pca_features: xs
xs = pca_features[:,0]
# Assign 1st column of pca_features: ys
ys = pca_features[:,1]
# Scatter plot xs vs ys
plt.scatter(xs, ys)
plt.axis('equal')
plt.show()
# Calculate the Pearson correlation of xs and ys
correlation, pvalue = pearsonr(xs, ys)
# Display the correlation
print(correlation)