ToB企服应用市场:ToB评测及商务社交产业平台

标题: 《呆板学习》——PCA降维 [打印本页]

作者: 魏晓东    时间: 2025-1-17 06:48
标题: 《呆板学习》——PCA降维
PCA降维简介


什么是主身分分析?


主身分的选择与维度确定


降维的数学过程


PCA降维求解步骤


降维后的效果和应用场景中的上风


PCA模型


API参数


Attributes属性


PCA对象的方法




PCA降维实例

   对鸢尾花数据进行降维处置惩罚:

共66条数据。
  导入所需库

  1. from sklearn.decomposition import PCA
  2. import pandas as pd
复制代码
导入数据集

  1. data = pd.read_excel('hua.xlsx') # 数据读取
复制代码
对数据进行处置惩罚

  1. # 取除最后一列外的所有列作为特征变量
  2. x = data.iloc[:,:-1]
  3. # 取最后一列作为目标变量
  4. y = data.iloc[:,-1]
复制代码
创建PCA模型并训练

  1. # 实例化 PCA 对象,设置主成分解释的方差比例为 0.90
  2. pca = PCA(n_components=0.90)
  3. # 对特征变量 x 进行 PCA 训练,不需要传入目标变量 y
  4. pca.fit(x)
复制代码
查看训练结果

  1. print("特征所占百分比:{}".format(sum(pca.explained_variance_ratio_)))
  2. print(pca.explained_variance_ratio_)
  3. print("PCA 降维后数据:")
  4. # 将数据 x 从原始特征空间转换到主成分空间
  5. new_x = pca.transform(x)
  6. print(new_x)
复制代码

对降维数据进行分别数据集

  1. from sklearn.model_selection import train_test_split
  2. # 将降维后的数据 new_x 和目标变量 y 划分为训练集和测试集,测试集比例为 0.2,随机种子为 0
  3. x_train,x_test,y_train,y_test = train_test_split(new_x,y,test_size=0.2,random_state=0)
复制代码
进行逻辑回归模型训练

  1. # 导入逻辑回归分类器
  2. from sklearn.linear_model import LogisticRegression
  3. # 实例化逻辑回归分类器
  4. classifier = LogisticRegression()
  5. # 使用训练集数据进行逻辑回归分类器的训练,传入特征变量 x_train 和目标变量 y_train
  6. classifier.fit(x_train,y_train)  
复制代码
自测和使用测试集测试并打印分类报告

  1. from sklearn import metrics
  2. # 使用训练好的分类器对训练集进行预测
  3. train_pred = classifier.predict(x_train)
  4. # 打印训练集的分类报告,评估分类器在训练集上的性能
  5. print(metrics.classification_report(y_train,train_pred))
  6. print(train_pred)
  7. # 使用训练好的分类器对测试集进行预测
  8. test_pred = classifier.predict(x_test)
  9. # 打印测试集的分类报告,评估分类器在测试集上的性能
  10. print(metrics.classification_report(y_test,test_pred))
  11. print(test_pred)
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4