逻辑回归模型的优劣势:
优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低;
缺点:容易欠拟合,分类精度可能不高
Demo 实践
## 基础函数库
import numpy as np
## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns
## 导入逻辑回归模型函数
from sklearn.linear_model import LogisticRegression
##Demo演示LogisticRegression分类
## 构造数据集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 0, 0, 1, 1, 1])
## 调用逻辑回归模型
lr_clf = LogisticRegression()
## 用逻辑回归模型拟合构造的数据集
lr_clf = lr_clf.fit(x_fearures, y_label) #其拟合方程为 y=w0+w1*x1+w2*x2
print(lr_clf)
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
intercept_scaling=1, l1_ratio=None, max_iter=100,
multi_class='auto', n_jobs=None, penalty='l2',
random_state=None, solver='lbfgs', tol=0.0001, verbose=0,
warm_start=False)
print(x_fearures)
[[-1 -2]
[-2 -1]
[-3 -2]
[ 1 3]
[ 2 1]
[ 3 2]]
x2=np.array([[-2,-5],[-1,3],[2,1],[6,7]])
c2=lr_clf.predict(x2)
x3=np.array([[1,2]])
c3=lr_clf.predict(x3)
print(c2)
print(c3)
[0 1 1 1]
[1]
## 查看其对应模型的w
print('the weight of Logistic Regression:',lr_clf.coef_)
## 查看其对应模型的w0
print('the intercept(w0) of Logistic Regression:',lr_clf.intercept_)
the weight of Logistic Regression: [[0.73455784 0.69539712]]
the intercept(w0) of Logistic Regression: [-0.13139986]
help(LogisticRegression)
## 可视化构造的数据样本点
#plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
#num:图像编号或名称,数字为编号 ,字符串为名称
#figsize:指定figure的宽和高,单位为英寸;
#dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张
#facecolor:背景颜色
#edgecolor:边框颜色
#frameon:是否显示边框
plt.figure()
#散点图
#plt.scatter(x, y, s, c ,marker, alpha):x,y: x轴与y轴的数据
#s: 点的面积
#c: 点的颜色
#marker: 点的形状
#alpha: 透明度
plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis')
plt.title('Dataset')
# 展示图标
plt.show()