先说一下sklearn基本结构
使用抽象类记录算法模型
使用实例 model(args**) 创建模型
使用方法 model.fit(x,) 训练模型
使用方法 model.transform() 转化数据或 model.predict() 进行预测
主成分分析过程
导入数据
#导入数据
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris_data = load_iris()
data_train, data_test, target_train, target_test =
train_test_split(data.data, data.target, test_size = 0.2, random_state = 1)
数据预处理
#数据预处理
from sklearn import preprocessing
scaler = preprocessing.StandardScaler()
scaler.fit(data_train)#训练模型,此时会改变 scaler 内部参数,不会改变 data_train
x_train = scaler.transform(data_train)#返回标准化后的数据
主成分分析
#主成分分析
# 当 n_components > 1 时,选取前 n_components 个主成分
# 当 n_components < 1 时,选取累积贡献率达到 n_components 的主成分
from sklearn.decomposition import PCA
import pandas as pd
pca = PCA.fit(n_components=0.85)
result = pd.DataFrame({
'方差':pca.explained_variance_,
'贡献度':pca.explained_variance_ratio_,
'累计贡献度':pca.explained_variance_ratio_.cumsum()}
)#返回一些结果
components