逻辑回归python实例
时间: 2023-06-29 12:15:08 浏览: 103
好的,下面是一个简单的逻辑回归 Python 实例:
假设我们有一个数据集,其中包含两个特征 X1 和 X2,和一个二元分类标签 Y(0 或 1)。我们需要用逻辑回归模型预测新数据的分类标签。
首先,我们需要导入必要的库:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
```
然后,我们可以加载数据集,假设数据集保存在名为 "data.csv" 的文件中:
```python
data = pd.read_csv("data.csv")
```
接下来,我们可以将数据集分为训练集和测试集:
```python
X_train, X_test, Y_train, Y_test = train_test_split(data[['X1', 'X2']], data['Y'], test_size=0.3, random_state=42)
```
然后,我们可以创建一个逻辑回归模型并拟合训练数据:
```python
model = LogisticRegression()
model.fit(X_train, Y_train)
```
接着,我们可以使用测试数据进行预测,并计算模型的准确性:
```python
Y_pred = model.predict(X_test)
accuracy = accuracy_score(Y_test, Y_pred)
print("Accuracy:", accuracy)
```
最后,我们可以可视化模型的决策边界:
```python
x_min, x_max = X_train['X1'].min() - 1, X_train['X1'].max() + 1
y_min, y_max = X_train['X2'].min() - 1, X_train['X2'].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1),
np.arange(y_min, y_max, 0.1))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, alpha=0.4)
plt.scatter(X_train['X1'], X_train['X2'], c=Y_train, s=20, edgecolor='k')
plt.title("Decision Boundary")
plt.xlabel("X1")
plt.ylabel("X2")
plt.show()
```
这就是一个简单的逻辑回归 Python 实例,希望对你有所帮助!
阅读全文