python中x y 1_Python的X[y==1, 0]
最近研究邏輯回歸,Iris花的經(jīng)典示例,代碼就不全粘貼了,具體代碼參看“Iris花邏輯回歸與實現(xiàn)”
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是個什么東東,為什么可以占據(jù)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是一個數(shù)組,數(shù)組的元素是一個二元組。在解釋X[y==0, 0]之前,首先要明白X[:,:]左面:代表的是行范圍,右邊“:”代表的是列范圍,如果是冒號則代表全部,否則就像代碼中第四行那樣,指定一個范圍;那么無論是“:”,還是指定一個范圍(類似于(2,3)),其實本質都是會被翻譯成一個true/false的一維一元數(shù)組,每個元素都是代表數(shù)組對應位置的元素是否要出現(xiàn)。
比如,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的返回),右邊的那個數(shù)字代表就是返回那一列,0,代表返回的是第一列,就是上面那個1,4,1.4…5.1;與之類似對于“iris[“data”][:, (2, 3)]”這個寫法,代表列是要返回第三列和第四列。
這里看到在python里面行列的處理模式是不一樣的,行的取舍是通過一個True/ False數(shù)組來實現(xiàn)的,列的取舍確實通過指定了那一列;這個其實從矩陣的角度能夠更好的理解。
Python的X[y==1, 0]
總結
以上是生活随笔為你收集整理的python中x y 1_Python的X[y==1, 0]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 符号说明表怎么做_能看懂这些房屋施工图,
- 下一篇: xgboost算法_工业大数据:分析算法