📅  最后修改于: 2023-12-03 15:04:40.544000             🧑  作者: Mango
逻辑回归(Logistic Regression)是一种分类算法,主要用于二分类问题。本文将介绍如何使用Python中的sklearn
模块进行逻辑回归的测试。
首先,我们需要导入用于测试的数据。这里,我们使用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)
接下来,我们需要将数据拆分成输入特征和输出标签。同时,我们还需要将数据集拆分成训练和测试集。
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)
由于不同特征的值可能差异很大,所以我们需要将它们进行标准化处理,以保证每个特征对分类结果的影响相同。
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
现在,我们可以使用sklearn
中的LogisticRegression
模块来训练逻辑回归模型。我们可以调整一些参数,例如正则化强度或最大迭代次数,以获得更好的模型。在这里,我们将使用默认参数。
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression()
classifier.fit(X_train, y_train)
现在我们可以使用训练好的模型对测试集进行预测。
y_pred = classifier.predict(X_test)
最后,我们需要评估模型的性能。我们可以使用准确率、混淆矩阵、精确率、召回率和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
模块进行逻辑回归的测试。我们展示了如何导入数据、准备数据、训练模型、预测结果以及评估模型。通过这些步骤,我们可以轻松构建逻辑回归模型,并评估其性能。