简单二项逻辑回归
二项逻辑回归是一种常用的分类算法,适用于二分类问题。与线性回归不同的是,逻辑回归的输出是经过sigmoid函数处理的概率值,而不是直接输出实数值。本文将介绍如何使用Python中的scikit-learn库实现简单的二项逻辑回归模型。
首先,我们需要准备一个数据集。在本文中,我们使用UCI机器学习库中的鸢尾花数据集。该数据集包含150个样本,每个样本有四个特征和一个目标变量,目标变量有两个取值,分别代表两种不同的鸢尾花。
```python
from sklearn.datasets import load_iris
import pandas as pd
import numpy as np
iris = load_iris()
X = iris.data
y = iris.target
# Convert target variable to binary
y = np.where(y == 0, 0, 1)
# Create dataframe
df = pd.DataFrame(X, columns=iris.feature_names)
df['target'] = y
```
接下来,我们将数据集分成训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能。在本文中,我们使用80%的数据作为训练集,剩余20%的数据作为测试集。
```python
del_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
```
然后,我们使用scikit-learn库中的LogisticRegression类创建一个二项逻辑回归模型。在创建模型时,我们可以指定不同的超参数,例如正则化参数C、最大迭代次数max_iter等。
```python
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(C=1.0, max_iter=100, random_state=0)
```
接下来,我们使用训练集对模型进行拟合。拟合过程中,模型会根据训练数据进行参数估计,得到一个可以对新数据进行预测的模型。
```python
model.fit(X_train, y_train)
```
训练完成后,我们可以使用模型对测试集进行预测,并评估模型的性能。在本文中,我们使用准确率作为模型性能的评估指标。
```python
ics import accuracy_score
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
正则化逻辑回归模型 print('Accuracy:', accuracy)
```
最后,我们可以使用模型对新数据进行预测。在本文中,我们使用一个新的样本进行预测,并输出预测结果。
```python
new_sample = [[5.1, 3.5, 1.4, 0.2]]
prediction = model.predict(new_sample)
print('Prediction:', prediction)
```
这就是使用scikit-learn库实现简单二项逻辑回归的整个过程。通过以上步骤,我们可以得到一个可以对新数据进行预测的二项逻辑回归模型,并且可以对模型的性能进行评估。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论