正在打开模型库
正在打开模型库
预测“发生/不发生”的概率,并解释每个因素如何改变发生机会。
线性回归会算出没有意义的概率,于是用 Sigmoid 把输出压到 0 和 1 之间。
被解释变量是 0/1,并且题目问“哪些因素更关键”时用。
Python 代码
import numpy as np
X = np.array([[0.2], [0.4], [0.6], [1.2], [1.5], [1.8]])
y = np.array([0, 0, 0, 1, 1, 1], dtype=float)
w, b = 0.0, 0.0
for _ in range(400):
p = 1 / (1 + np.exp(-(X[:, 0] * w + b)))
w -= 0.2 * ((p - y) * X[:, 0]).mean()
b -= 0.2 * (p - y).mean()
print(w, b)