目录
一.决策边界
用一条直线将逻辑平面分为两部分
1.两个特征决策边界
举例两个特征的决策边界实现。可以利用边界线将两个类别区分开。
先利用逻辑回归计算出θ,再计算对应的决策边界x2的值
2.不规则决策边界绘制方法
def plot_decision_boundary(model, axis):
x0, x1 = np.meshgrid(
np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),
np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),
)
X_new = np.c_[x0.ravel(), x1.ravel()]
y_predict = model.predict(X_new)
zz = y_predict.reshape(x0.shape)
from matplotlib.colors import ListedColormap
custom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])
plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)
绘制效果如图:
二.逻辑回归中使用多项式回归
使用多项式边界,更好区分
添加方法同多项式回归中的添加管道
三.逻辑回归使用正则化
scikit-learn中常使用下面方法对逻辑回归正则化
使用scikit-learn中的逻辑回归
使用scikit-learn中的PolynomialLogisticRegression函数的C参数,正则项有l1、l2两种,来确定正则化
四.OVR和OVO
应用逻辑回归解决多分类问题
- OVR:n个类别就进行n次分类,选择分类得分最高的
- OVO:n个类别C(n,2)次分类,选择赢数最高的类别
利用鸢尾花数据做示例,加载数据,特征只取了前两列
逻辑回归中,默认参数是ovr
参数改为ovo的