示例#1
0
import numpy as np
from pca import PCA, PcaType

data = np.array([[2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2.0, 1.0, 1.5, 1.1],
                 [2.4, 0.7, 2.9, 2.2, 3.0, 2.7, 1.6, 1.1, 1.6, 0.9]])

pca = PCA()
pca.fit(data=data, pcaType=PcaType.Two)
pca.explained_variance_ratio()
pca.get_covariance()
pca.singular_values()
pca.transform(data=data, n_components=2)
示例#2
0
#print(target[:20])
#print(orginal_data.shape)
#print(target.shape)

print("PCA FROM SCRATCH:")
pca_from_scratch = PCA(n_components=2)
pca_from_scratch.fit(orginal_data)
transformed_data = pca_from_scratch.transform(orginal_data)
#transformed_data = pca_from_scratch.fit_transform(orginal_data)

pca_from_scratch.plot_cov_matrix()
pca_from_scratch.plot_cumulative_explained_variance_ratio()

print(pca_from_scratch.components)
print(pca_from_scratch.explained_variance())
print(pca_from_scratch.explained_variance_ratio())

print()
print("PCA SCIKIT-LEARN:")
sklearn_pca = sklearn_pca_model(n_components=2)
scaler = StandardScaler()
scaler.fit(orginal_data)
normalized_data = scaler.transform(orginal_data)
transformed_data_sklearn = sklearn_pca.fit_transform(normalized_data)

print(sklearn_pca.components_)
print(sklearn_pca.explained_variance_)
print(sklearn_pca.explained_variance_ratio_)

fig, axes = plt.subplots(1, 3, figsize=(15, 7))
axes[0].scatter(orginal_data[:, 0], orginal_data[:, 1], c=target)