# 关于逻辑回归的一些理论基础,以及sigmoid函数的可视化图
# 线性回归的一点理解:
'''
h(s) = s_0 + s_1 * x_1 + s_2 * x_2 + ... + s_n * x_n
用过去的已知的数据,把X带入得到预测的Y_s,根据已知的Y,会找到合适的[s_0, s_1, _s2, ... , s_n]
把要预测的数据X_new带入到h(s),若X_new中含有w个样本,则会得到w个预测的y值
'''
# 逻辑回归与线性回归的区别:
'''
线性回归得到的是预测的具体问题预测的数值,而逻辑回归是将线性回归得到的预测值,通过sigmoid函数,
把预测的值映射到[0, 1]区间内,像概率一样,越接近于1,那么当前样本越有可能是预测的当前类别
这么看逻辑回归更适合做分类问题,线性回归适合做数值的回归分析与预测
'''
# sigmoid函数的绘制
import matplotlib.pyplot as plt
import numpy as np
def sigmoid(z):
return 1.0/(1.0 + np.exp(-z))
# 注:z中的值,步长设置的越大,得到的曲线越不平滑,start与end的取值范围越大,曲线越靠近y轴
z = np.arange(-60, 60, 0.1)
p = sigmoid(z)
plt.plot(z, p)
# 画一条竖直线,如果不设定x的值,则默认是0
plt.axvline(x=0, color='k')
plt.axhspan(0.0, 1.0, facecolor='0.7', alpha=0.4)
# 画一条水平线,如果不设定y的值,则默认是0
plt.axhline(y=1, ls='dotted', color='0.4')
plt.axhline(y=0.5, ls='dotted', color='k')
plt.ylim(-0.1, 1.1)
# 确定y轴的坐标
plt.yticks([0.0, 0.5, 1.0])
plt.ylabel('$\phi(z)$')
plt.xlabel('z')
ax = plt.gca()
ax.grid(True)
plt.show()
逻辑回归(一) - - - 理论与sigmoid函数
最新推荐文章于 2022-02-21 21:02:05 发布