AI人工智能 逻辑回归
2020-09-23 15:28 更新
基本上,逻辑回归模型是监督分类算法族的成员之一。 Logistic 回归通过使用逻辑函数估计概率来测量因变量和自变量之间的关系。
在这里,如果我们讨论依赖变量和独立变量,那么因变量就是要预测的目标类变量,另一方面,自变量是用来预测目标类的特征。
在逻辑回归中,估计概率意味着预测事件的可能性发生。例如,店主想要预测进入商店的顾客将购买游戏站(例如)或不购买。顾客将会观察到许多顾客的特征 - 性别,年龄等,以便预测可能性的发生,即购买游戏站或不购物。逻辑函数是用来构建具有各种参数的函数的 S 形曲线。
前提条件
在使用逻辑回归构建分类器之前,我们需要在系统上安装 Tkinter 软件包。 它可以从 此处 进行安装。
现在,在下面给出的代码的帮助下,可以使用逻辑回归来创建分类器 -
首先,导入一些软件包 -
import numpy as np
from sklearn import linear_model
import matplotlib.pyplot as plt
现在,需要定义可以完成的样本数据,如下所示 -
X = np.array([[2, 4.8], [2.9, 4.7], [2.5, 5], [3.2, 5.5], [6, 5], [7.6, 4],
[3.2, 0.9], [2.9, 1.9],[2.4, 3.5], [0.5, 3.4], [1, 4], [0.9, 5.9]])
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3])
接下来,我们需要创建逻辑回归分类器,可以按如下方式完成 -
Classifier_LR = linear_model.LogisticRegression(solver = 'liblinear', C = 75)
最后但重要的是,我们需要训练这个分类器 -
Classifier_LR.fit(X, y)
现在,我们如何可视化输出? 可以通过创建一个名为Logistic_visualize()
的函数来完成 -
Def Logistic_visualize(Classifier_LR, X, y):
min_x, max_x = X[:, 0].min() - 1.0, X[:, 0].max() + 1.0
min_y, max_y = X[:, 1].min() - 1.0, X[:, 1].max() + 1.0
在上面的行中,我们定义了在网格中使用的最小值和最大值 X
和 Y
。另外,还将定义绘制网格的步长。
mesh_step_size = 0.02
下面定义 X
和 Y
值的网格,如下所示 -
x_vals, y_vals = np.meshgrid(np.arange(min_x, max_x, mesh_step_size),
np.arange(min_y, max_y, mesh_step_size))
使用以下代码,可以在网格网格上运行分类器 -
output = classifier.predict(np.c_[x_vals.ravel(), y_vals.ravel()])
output = output.reshape(x_vals.shape)
plt.figure()
plt.pcolormesh(x_vals, y_vals, output, cmap = plt.cm.gray)
plt.scatter(X[:, 0], X[:, 1], c = y, s = 75, edgecolors = 'black',
linewidth=1, cmap = plt.cm.Paired)
以下代码行将指定图的边界 -
plt.xlim(x_vals.min(), x_vals.max())
plt.ylim(y_vals.min(), y_vals.max())
plt.xticks((np.arange(int(X[:, 0].min() - 1), int(X[:, 0].max() + 1), 1.0)))
plt.yticks((np.arange(int(X[:, 1].min() - 1), int(X[:, 1].max() + 1), 1.0)))
plt.show()
现在,在运行代码之后,我们将得到以下输出,逻辑回归分类器 -