pos,neg= (y==1).reshape(m,1), (y==0).reshape(m,1)
时间: 2023-10-10 16:07:07 浏览: 42
这行代码是将给定的目标变量 y 中的正例和负例分别转化为一个列向量 pos 和 neg。其中,y==1 表示找出所有 y 中等于 1 的元素,返回一个布尔型数组,然后 reshape(m,1) 将该数组转换为 m 行 1 列的二维数组,即列向量。同理,y==0 表示找出所有 y 中等于 0 的元素,reshape(m,1) 将该数组转换为 m 行 1 列的列向量。最终,pos 和 neg 分别表示 y 中的正例和负例样本。
相关问题
pos , neg = (y==1).reshape(100,1) , (y==0).reshape(100,1)
这行代码是将标签 y 中值为 1 的位置,转换成一个 100 行 1 列的布尔数组 pos,值为 True 的位置即为 y 等于 1 的位置;同时将标签 y 中值为 0 的位置,转换成一个 100 行 1 列的布尔数组 neg,值为 True 的位置即为 y 等于 0 的位置。这里使用了 reshape 函数将原本的一维数组转换成了二维数组,方便后面进行矩阵运算。
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函数用于设置图例。
阅读全文