PCA代码案例(超详细)

本文介绍了使用Python的pandas和scikit-learn库进行数据分析的过程,包括从hua.xlsx文件读取数据,通过PCA进行特征降维,然后使用Logistic回归模型进行分类,并通过classification_report评估模型性能。
摘要由CSDN通过智能技术生成

目录

完整代码

代码解读

1、导入库

2、读取文件hua.xlsx

3、创建pca并进行拟合

4、用pca对象对x转换,结果储存在new

5、使用逻辑回归并打印出分类报告

打印结果


完整代码

import pandas as pd
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
data = pd.read_excel('hua.xlsx')
x = data.iloc[:, :-1]
y = data.iloc[:, -1]
pca = PCA(n_components=0.9)
pca.fit(x)
new = pca.fit_transform(x)
model = LogisticRegression()
model.fit(new, y)
y_p = model.predict(new)
print(classification_report(y, y_p))

代码解读

1、导入库
import pandas as pd:  #导入pandas库,并用别名pd表示。pandas是一个用于数据操作和分析的Python库。
from sklearn.decomposition import PCA: #从scikit-learn库的decomposition模块导入PCA类。PCA(主成分分析)是一种常用的数据降维方法。
from sklearn.linear_model import LogisticRegression: #从scikit-learn库的linear_model模块导入LogisticRegression类。Logistic回归是一种常用于分类问题的线性模型。
from sklearn.metrics import classification_report: #从scikit-learn库的metrics模块导入classification_report函数。这个函数可以用来评估分类模型的性能。

其中PCA(主成分分析)是一种常用的数据降维方法。Logistic回归是一种常用于分类问题的线性模型。classification_report函数可以用来评估分类模型的性能

2、读取文件hua.xlsx
data = pd.read_excel('hua.xlsx'): #使用pandas的read_excel函数读取名为'hua.xlsx'的Excel文件,并将数据存储在data变量中。
x = data.iloc[:, :-1]: #使用pandas的iloc函数,选取data数据框的所有行和除了最后一列之外的所有列,将结果存储在x变量中。
y = data.iloc[:, -1]: #使用pandas的iloc函数,选取data数据框的所有行和最后一列,将结果存储在y变量中。这通常用作标签或目标变量。
3、创建pca并进行降维
pca = PCA(n_components=0.9): #创建一个PCA对象,设置n_components参数为0.9。这个参数控制了PCA降维后的特征维度数量。
pca.fit(x): #使用PCA对象对x(特征)进行拟合。这将会计算出特征的主成分。
4、用pca对象对x转换,结果储存在new
new = pca.fit_transform(x): #使用PCA对象对x进行转换,并将结果存储在new变量中。这个步骤会降低特征的维度。
5、使用逻辑回归并打印出分类报告
model = LogisticRegression(): #创建一个新的LogisticRegression对象,用于进行逻辑回归。
model.fit(new, y): #使用LogisticRegression模型对new(经过PCA降维后的特征)和y(目标变量)进行训练。
y_p = model.predict(new): #使用训练好的LogisticRegression模型对new进行预测,并将结果存储在y_p变量中。
print(classification_report(y, y_p)): #打印分类报告,评估y(实际标签)和y_p(预测标签)之间的分类性能。
打印结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值