python中x y 1_Python的X[y==1, 0]

本文探讨了在逻辑回归中使用Iris数据集的经典案例,详细解析了代码片段,特别是如何通过条件索引选取特征。X[y==0,0]表示选取y值为0的数据行的第一列,而y==0产生一个布尔数组用于过滤行。同时,介绍了Python中处理行列的方式,即通过布尔数组处理行,直接指定列号选择列。这有助于理解数据预处理在机器学习中的重要性。
摘要由CSDN通过智能技术生成

最近研究逻辑回归,Iris花的经典示例,代码就不全粘贴了,具体代码参看“Iris花逻辑回归与实现”

1 plt.plot(X[y==0, 0], X[y==0,1], "bs")2 plt.plot(X[y==1, 0], X[y==1, 1], "g^")

X[y==0, 0]中的y==0是个什么东东,为什么可以占据X的第一个位置?

首先我们看一下X是个什么?

1 from sklearn importdatasets2 iris =datasets.load_iris()3

4 X = iris["data"][:, (2, 3)] #petal length, petal width

5 y = (iris["target"] == 2).astype(np.int)6 print(X)

Output:

[[1.4 0.2]

[1.4 0.2]

...

[5.1 1.8]]

X是一个数组,数组的元素是一个二元组。在解释X[y==0, 0]之前,首先要明白X[:,:]左面:代表的是行范围,右边“:”代表的是列范围,如果是冒号则代表全部,否则就像代码中第四行那样,指定一个范围;那么无论是“:”,还是指定一个范围(类似于(2,3)),其实本质都是会被翻译成一个true/false的一维一元数组,每个元素都是代表数组对应位置的元素是否要出现。

比如,y==0,print之后其实是[True True False …],那么X[y==0, 0],就X的前三个元素而言,分别代表返回(包含),返回(包含),不返回(不包含);与之类似对于“iris[“data”][:, (2, 3)]”这个写法,左边的那个”:”代表的行是[True,True, … ,True],全是true;

那么X[y==0, 0]中,第二个0代表什么意思呢?y==1解决了行中那些返回(那些为true的返回),右边的那个数字代表就是返回那一列,0,代表返回的是第一列,就是上面那个1,4,1.4…5.1;与之类似对于“iris[“data”][:, (2, 3)]”这个写法,代表列是要返回第三列和第四列。

这里看到在python里面行列的处理模式是不一样的,行的取舍是通过一个True/ False数组来实现的,列的取舍确实通过指定了那一列;这个其实从矩阵的角度能够更好的理解。

Python的X[y==1, 0]

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值