目录
完整代码
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(预测标签)之间的分类性能。