逻辑回归python代码
以下是一个简单的逻辑回归Python代码示例:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn import datasets
# 加载数据集
iris = datasets.load_iris()
X = iris.data[:, :2] # 只选择前两个特征
y = (iris.target != 0) * 1 # 将标签转化为二分类
# 训练模型
model = LogisticRegression()
model.fit(X, y)
# 绘制决策边界
plt.figure(figsize=(10, 6))
plt.scatter(X[y == 0][:, 0], X[y == 0][:, 1], color='b', label='0')
plt.scatter(X[y == 1][:, 0], X[y == 1][:, 1], color='r', label='1')
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02))
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
plt.contour(xx, yy, Z, cmap=plt.cm.Paired)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('Logistic Regression')
plt.legend()
plt.show()
这段代码使用sklearn库中的LogisticRegression类来训练逻辑回归模型,并使用matplotlib库绘制决策边界。首先,从sklearn中导入数据集和LogisticRegression类,然后加载数据集并将标签转化为二分类(0或1)。接着使用LogisticRegression类训练模型,并利用meshgrid函数生成网格点,用predict函数预测对应的类别,最后使用contour函数绘制决策边界。最后通过调用show函数展示出结果
原文地址: http://www.cveoy.top/t/topic/e9jn 著作权归作者所有。请勿转载和采集!