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)
#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)