吴恩达机器学习-C1W3L1-逻辑回归分类

avatar
作者
筋斗云
阅读量:0

在本实验中,您将对比回归和分类。

import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_common import dlc, plot_data from plt_one_addpt_onclick import plt_one_addpt_onclick plt.style.use('./deeplearning.mplstyle') 

分类问题

分类问题的例子有:确定电子邮件是垃圾邮件还是非垃圾邮件,或者确定肿瘤是恶性的还是良性的。特别地,这些是有两种可能结果的二元分类的例子。结果可以用成对的“积极”/“消极”来描述,比如“是”/“否”、“真”/“假”或“1”/“0”。
分类数据集的图通常使用符号来表示示例的结果。在下面的图表中,“X”表示正数值,而“O”表示负结果。
在这里插入图片描述

x_train = np.array([0., 1, 2, 3, 4, 5]) y_train = np.array([0,  0, 0, 1, 1, 1]) X_train2 = np.array([[0.5, 1.5], [1,1], [1.5, 0.5], [3, 0.5], [2, 2], [1, 2.5]]) y_train2 = np.array([0, 0, 0, 1, 1, 1]) 
pos = y_train == 1 neg = y_train == 0  fig,ax = plt.subplots(1,2,figsize=(8,3)) #plot 1, single variable ax[0].scatter(x_train[pos], y_train[pos], marker='x', s=80, c = 'red', label="y=1") ax[0].scatter(x_train[neg], y_train[neg], marker='o', s=100, label="y=0", facecolors='none',                edgecolors=dlc["dlblue"],lw=3)  ax[0].set_ylim(-0.08,1.1) ax[0].set_ylabel('y', fontsize=12) ax[0].set_xlabel('x', fontsize=12) ax[0].set_title('one variable plot') ax[0].legend()  #plot 2, two variables plot_data(X_train2, y_train2, ax[1]) ax[1].axis([0, 4, 0, 4]) ax[1].set_ylabel('$x_1$', fontsize=12) ax[1].set_xlabel('$x_0$', fontsize=12) ax[1].set_title('two variable plot') ax[1].legend() plt.tight_layout() plt.show()  

在上面的图表中:

  • 在单变量图中,阳性结果显示为红色的“X”和y=1。阴性结果为蓝色“O”,位于y=0处。
    • 回想一下,在线性回归的情况下,y不会被限制为两个值,而是可以是任何值。
  • 在双变量图中,y轴不可用。阳性结果用红色的“X”表示,阴性结果用蓝色的“O”表示。
    • 回想一下,在多变量线性回归的情况下,y不会局限于两个值,类似的图将是三维的。

线性回归方法

在前一周,我们应用了线性回归来构建预测模型。让我们用课上讲过的简单例子来试试这个方法。该模型将根据肿瘤大小预测肿瘤是良性还是恶性。试试下面的方法:

  • 点击“运行线性回归”以找到给定数据的最佳线性回归模型。

    • 注意所得线性模型与数据不匹配。
      改善结果的一个选项是应用一个“阈值”。
  • 勾选“切换0.5阈值”上的框,以显示如果应用阈值的预测。

    • 这些预测看起来不错,预测与数据相符
  • 重要:现在,在最右边添加更多的“恶性”数据点,在大肿瘤大小范围内(接近10),并重新运行线性回归。

    • 现在,模型预测了更大的肿瘤,但是x=3的数据点被错误地预测了!
  • 要清除/更新plot,请重新运行包含plot命令的单元格。

w_in = np.zeros((1)) b_in = 0 plt.close('all')  addpt = plt_one_addpt_onclick( x_train,y_train, w_in, b_in, logistic=False) 

上面的例子表明,线性模型不足以对分类数据进行建模。该模型可以按照以下实验的描述进行扩展。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!