下面是“python实现逻辑回归的方法示例”的完整攻略。
1. 什么是逻辑回归
逻辑回归是一种用来预测二分类问题的机器学习算法,它的输出是一个0到1之间的概率值,表示结果为正类的概率大小。
2. 逻辑回归的 Python 实现
2.1 准备数据
逻辑回归算法首先需要准备数据。我们可以使用已有的数据集,或者自己创建数据。
以下是创建数据集的示例代码:
import numpy as np
# 创建真实数据集
x1 = np.random.normal(loc=2, scale=1, size=(200, 1))
y1 = np.zeros((200, 1))
x2 = np.random.normal(loc=-2, scale=1, size=(200, 1))
y2 = np.ones((200, 1))
# 合并数据集
x = np.concatenate([x1, x2])
y = np.concatenate([y1, y2])
以上代码中,我们创建了两个高斯分布的数据集,类别分别为0和1。然后将它们合并成一个数据集。
2.2 模型训练
数据准备好之后,我们需要将数据划分为训练集和测试集,然后使用训练集来训练逻辑回归模型。
以下是示例代码:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# 划分数据
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
# 创建模型
model = LogisticRegression()
# 训练模型
model.fit(x_train, y_train)
以上代码中,我们使用了 train_test_split
函数来将数据集分成训练集和测试集,比例为8:2。然后使用 LogisticRegression
类来创建逻辑回归模型,并使用训练集对模型进行训练。
2.3 模型评估
训练完成后,我们需要对模型进行评估,看看它在测试集上的表现如何。以下是示例代码:
from sklearn.metrics import accuracy_score
# 预测
y_pred = model.predict(x_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('准确率为:', accuracy)
以上代码中,我们使用了 accuracy_score
函数来计算模型在测试集上的准确率。
3. 示例说明
3.1 鸢尾花数据集
第一个示例是使用鸢尾花数据集来训练逻辑回归模型。鸢尾花数据集是一个非常经典的数据集,它包含了三个类别的鸢尾花,每个类别有50个样本。
以下是示例代码:
from sklearn.datasets import load_iris
# 加载数据
iris = load_iris()
x = iris.data[:, :2]
y = iris.target
# 划分数据
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
# 创建模型
model = LogisticRegression()
# 训练模型
model.fit(x_train, y_train)
# 预测
y_pred = model.predict(x_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('准确率为:', accuracy)
以上代码中,我们首先使用 load_iris
函数加载鸢尾花数据集。然后将数据拆分为训练集和测试集,比例为8:2。接着创建逻辑回归模型,并使用训练集对模型进行训练。最后使用模型对测试集进行预测,并计算模型在测试集上的准确率。
3.2 个人健康数据集
第二个示例是使用个人健康数据集来训练逻辑回归模型。这个数据集包含了个人的健康数据,包括年龄、BMI、吸烟、膳食等信息,以及是否患有心脏病的标签信息。
以下是示例代码:
import pandas as pd
# 加载数据
data = pd.read_csv('health.csv')
x = data.drop(['HeartDisease'], axis=1)
y = data['HeartDisease']
# 划分数据
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
# 创建模型
model = LogisticRegression()
# 训练模型
model.fit(x_train, y_train)
# 预测
y_pred = model.predict(x_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('准确率为:', accuracy)
以上代码中,我们首先使用 pandas
库加载个人健康数据集。然后将数据拆分为训练集和测试集,比例为8:2。接着创建逻辑回归模型,并使用训练集对模型进行训练。最后使用模型对测试集进行预测,并计算模型在测试集上的准确率。
总结
通过本文的学习,我们了解了逻辑回归算法的基本原理和 Python 实现方法,并通过两个示例说明了如何将逻辑回归应用到实际问题中。希望本文能够帮助读者更好地理解逻辑回归算法,并在实际工作中应用自如。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现逻辑回归的方法示例 - Python技术站