From d8382576424c9eb71137b3da58d865cce89076ed Mon Sep 17 00:00:00 2001 From: guanjihuan Date: Mon, 1 Apr 2024 16:23:05 +0800 Subject: [PATCH] update --- .../PCA_and_StandardScaler_example.py | 58 +++++++++++++++++++ 2024.04.01_PCA_example/PCA_example.py | 50 ++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 2024.04.01_PCA_example/PCA_and_StandardScaler_example.py create mode 100644 2024.04.01_PCA_example/PCA_example.py diff --git a/2024.04.01_PCA_example/PCA_and_StandardScaler_example.py b/2024.04.01_PCA_example/PCA_and_StandardScaler_example.py new file mode 100644 index 0000000..aaaf093 --- /dev/null +++ b/2024.04.01_PCA_example/PCA_and_StandardScaler_example.py @@ -0,0 +1,58 @@ +import numpy as np +from sklearn.decomposition import PCA + +# 创建一个人造数据集,包含10个样本,每个样本有4个特征 +X = np.array([[2, 1, 3, 4], + [3, 5, 2, 8], + [4, 3, 6, 5], + [6, 7, 3, 9], + [5, 4, 7, 6], + [7, 8, 5, 10], + [8, 6, 9, 7], + [9, 10, 6, 11], + [10, 8, 11, 8], + [11, 12, 8, 12]]) + +# 测试一 + +from sklearn.preprocessing import StandardScaler +scaler = StandardScaler() # 创建StandardScaler对象 +X_scaled = scaler.fit_transform(X) # 对原始数据X进行标准化 + +pca = PCA() # 创建PCA对象,保留所有主成分 +X_transformed = pca.fit_transform(X_scaled) # 对数据进行PCA变换 + +# 输出原始数据和变换后的数据 +print("Original Data:") +print(X) +print(X.shape) +print("\nTransformed Data:") +print(X_transformed) +print(X_transformed.shape) + +# 输出各个主成分所解释的方差比例 +print("\nExplained Variance Ratio:") +print(pca.explained_variance_ratio_) + +print('\n---\n') + +# 测试二 + +from sklearn.preprocessing import StandardScaler +scaler = StandardScaler() # 创建StandardScaler对象 +X_scaled = scaler.fit_transform(X) # 对原始数据X进行标准化 + +pca = PCA(n_components=2) # 创建PCA对象,保留前2个主成分 +X_transformed = pca.fit_transform(X_scaled) # 对数据进行PCA变换 + +# 输出原始数据和变换后的数据 +print("Original Data:") +print(X) +print(X.shape) +print("\nTransformed Data:") +print(X_transformed) +print(X_transformed.shape) + +# 输出各个主成分所解释的方差比例 +print("\nExplained Variance Ratio:") +print(pca.explained_variance_ratio_) \ No newline at end of file diff --git a/2024.04.01_PCA_example/PCA_example.py b/2024.04.01_PCA_example/PCA_example.py new file mode 100644 index 0000000..bcc1c58 --- /dev/null +++ b/2024.04.01_PCA_example/PCA_example.py @@ -0,0 +1,50 @@ +import numpy as np +from sklearn.decomposition import PCA + +# 创建一个人造数据集,包含10个样本,每个样本有4个特征 +X = np.array([[2, 1, 3, 4], + [3, 5, 2, 8], + [4, 3, 6, 5], + [6, 7, 3, 9], + [5, 4, 7, 6], + [7, 8, 5, 10], + [8, 6, 9, 7], + [9, 10, 6, 11], + [10, 8, 11, 8], + [11, 12, 8, 12]]) + +# 测试一 + +pca = PCA() # 创建PCA对象,保留所有主成分 +X_transformed = pca.fit_transform(X) # 对数据进行PCA变换 + +# 输出原始数据和变换后的数据 +print("Original Data:") +print(X) +print(X.shape) +print("\nTransformed Data:") +print(X_transformed) +print(X_transformed.shape) + +# 输出各个主成分所解释的方差比例 +print("\nExplained Variance Ratio:") +print(pca.explained_variance_ratio_) + +print('\n---\n') + +# 测试二 + +pca = PCA(n_components=2) # 创建PCA对象,保留前2个主成分 +X_transformed = pca.fit_transform(X) # 对数据进行PCA变换 + +# 输出原始数据和变换后的数据 +print("Original Data:") +print(X) +print(X.shape) +print("\nTransformed Data:") +print(X_transformed) +print(X_transformed.shape) + +# 输出各个主成分所解释的方差比例 +print("\nExplained Variance Ratio:") +print(pca.explained_variance_ratio_) \ No newline at end of file