pos , neg = (y==1).reshape(100,1) , (y==0).reshape(100,1)
时间: 2023-06-24 18:07:44 浏览: 98
这行代码是将标签 y 中值为 1 的位置,转换成一个 100 行 1 列的布尔数组 pos,值为 True 的位置即为 y 等于 1 的位置;同时将标签 y 中值为 0 的位置,转换成一个 100 行 1 列的布尔数组 neg,值为 True 的位置即为 y 等于 0 的位置。这里使用了 reshape 函数将原本的一维数组转换成了二维数组,方便后面进行矩阵运算。
相关问题
pos,neg= (y==1).reshape(m,1), (y==0).reshape(m,1)
这是一个将标签y分为正例和反例的操作,其中y是一个形状为(m,)的一维数组,m是样本数量。将y==1的位置设为True,其余位置设为False,然后reshape成一个(m,1)的二维数组,表示每个样本是正例还是反例。同理,y==0的位置设为True,其余位置设为False,然后reshape成一个(m,1)的二维数组,表示每个样本是反例还是正例。这个操作通常用于二分类问题中,将标签转换为可以输入模型的形式。
pos , neg = (y==1).reshape(100,1) , (y==0).reshape(100,1) #把y=1的样本点reshape成(100,1)的矩阵,y=0的样本点也reshape成(100,1)的矩阵 plt.scatter(X[pos[:,0],0],X[pos[:,0],1],c="r",marker="+") plt.scatter(X[neg[:,0],0],X[neg[:,0],1],marker="o",s=10) plt.xlabel("Exam 1 score") plt.ylabel("Exam 2 score") plt.legend(["Admitted","Not admitted"],loc=0)
这段代码是用来进行数据可视化的,主要是将数据集中的两种类别(y=1和y=0)分别用不同的符号和颜色标注在散点图上。其中,红色加号代表y=1,表示考生被录取,黑色圆圈代表y=0,表示考生未被录取。plt.scatter函数用于绘制散点图,X[pos[:,0],0]表示选择X中第一列中所有y=1的样本点,X[pos[:,0],1]表示选择X中第二列中所有y=1的样本点。同理,X[neg[:,0],0]和X[neg[:,0],1]分别表示选择X中第一列和第二列中所有y=0的样本点。plt.xlabel和plt.ylabel函数分别用于设置x轴和y轴的标签,plt.legend函数用于设置图例。
阅读全文