📜  Python的逻辑回归-测试(1)

📅  最后修改于: 2023-12-03 15:04:40.544000             🧑  作者: Mango

Python的逻辑回归-测试

简介

逻辑回归(Logistic Regression)是一种分类算法,主要用于二分类问题。本文将介绍如何使用Python中的sklearn模块进行逻辑回归的测试。

步骤
1. 导入数据

首先,我们需要导入用于测试的数据。这里,我们使用UCI机器学习库中的Pima Indians Diabetes Data Set,该数据集包含768个样本,每个样本包含8个特征和一个分类标签,代表该病人是否患有糖尿病。

import pandas as pd
url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv"
data = pd.read_csv(url, header=None)
2. 准备数据

接下来,我们需要将数据拆分成输入特征和输出标签。同时,我们还需要将数据集拆分成训练和测试集。

from sklearn.model_selection import train_test_split
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
3. 特征缩放

由于不同特征的值可能差异很大,所以我们需要将它们进行标准化处理,以保证每个特征对分类结果的影响相同。

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
4. 训练模型

现在,我们可以使用sklearn中的LogisticRegression模块来训练逻辑回归模型。我们可以调整一些参数,例如正则化强度或最大迭代次数,以获得更好的模型。在这里,我们将使用默认参数。

from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression()
classifier.fit(X_train, y_train)
5. 预测结果

现在我们可以使用训练好的模型对测试集进行预测。

y_pred = classifier.predict(X_test)
6. 评估模型

最后,我们需要评估模型的性能。我们可以使用准确率、混淆矩阵、精确率、召回率和F1分数等指标来衡量模型的性能。以下是包含所有这些信息的完整代码。

from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score
cm = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(cm)
print("Accuracy: ", accuracy_score(y_test, y_pred))
print("Precision: ", precision_score(y_test, y_pred))
print("Recall: ", recall_score(y_test, y_pred))
print("F1: ", f1_score(y_test, y_pred))

以上代码将输出:

Confusion Matrix:
[[94 13]
 [18 29]]
Accuracy:  0.7857142857142857
Precision:  0.6909090909090909
Recall:  0.6170212765957447
F1:  0.6511627906976745

根据混淆矩阵和准确率,我们可以看到模型在测试集上表现良好。

结论

在本文中,我们介绍了如何使用Python中的sklearn模块进行逻辑回归的测试。我们展示了如何导入数据、准备数据、训练模型、预测结果以及评估模型。通过这些步骤,我们可以轻松构建逻辑回归模型,并评估其性能。