合併list問題
import numpy as np
import pandas as pd
X = np.arange(1000).reshape(200, 5)
y = np.zeros(200)
y[:40] = 1
y
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
from sklearn.model_selection import train_test_split
X_train, X_test, y_1, y_0 = train_test_split(X, y, train_size=40, shuffle = False)
#因為題目要求0和1個半,前面40個值都是1,所以設train_size=40抓出y_1
y_test = y_1[:10] + y_0[:10]
print(y_0[:10])
print(y_1[:10])
print(y_test)
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
y_0, y_1都抓到,但是合併後的y_test怎麼是直接相加? 哪邊寫錯了嗎?
回答列表
-
2020/04/05 下午 11:46江柏勳贊同數:1不贊同數:0留言數:2
呃 我的理解(個人淺見)是,你的y_1,y_0並非是你要的取10個0跟取10個1,看起來只是你寫的變數。你可以去看這個函式裡的參數,應該用得上(我沒看答案但我想我應該是對的),而且這邊shuffle應該不用設False(畢竟是隨機取樣),有任何不對麻煩糾正一下,感恩。
-
2020/04/06 上午 02:58張維元 (WeiYuan)贊同數:1不贊同數:0留言數:2
嗨,Shih Cheng Chen
從你的「train_test_split」別沒有看到你特別針對類別去設定,那對於程式來是不知道你想要怎麼挑的。這裡我只是先點出原因,如果後續還是不知道怎麼解的話再繼續追問囉!
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃