Python实现PCA算法
# -*- coding: utf-8 -*-"""
Created on Tue Oct4 20:43:48 2022
@author: BIT
"""
from sklearn.decomposition import PCA
import os
import numpy as np
path = eval(input('请输入详细输入文件的路径:')) # 去掉输入路径的''
Path = os.path.dirname(path) #返回上级目录
data_select = np.loadtxt(path, dtype=np.float64, delimiter=",", skiprows=1)
X = data_select[:,1:]
y = data_select[:,0]
for i in range(1, X.shape):
Pca = PCA(n_components=i)
Pca.fit(X,y)
n = sum(Pca.explained_variance_ratio_)
if n > 0.99:
break
elif n < 0.99:
i = i+1
pca = PCA(n_components=i)
pca.fit(X,y)
X_Feature = pca.transform(X)
full_path = Path + '/PCA_select.csv' #该目录下创建新文件
PCA_data = np.column_stack((y,X_Feature))
np.savetxt(full_path, PCA_data, delimiter = ',')
页:
[1]