Python 基于索引的列车测试分割数据帧分割
我正在尝试使用train_test_split将我的train数据作为索引31和39之间的数据帧。 我想写一些东西,比如Python 基于索引的列车测试分割数据帧分割,python,pandas,scikit-learn,Python,Pandas,Scikit Learn,我正在尝试使用train_test_split将我的train数据作为索引31和39之间的数据帧。 我想写一些东西,比如X\u-train,X\u-test,y\u-train,y\u-test=train\u-test\u-split(faces.data,faces.target,test\u-size=0.3)其中faces是faces=sk.dataset.fetch\u-olivetti\u-faces() 我如何选择要进入列车数据的索引?您可以轻松地使用fancy index给出:
X\u-train,X\u-test,y\u-train,y\u-test=train\u-test\u-split(faces.data,faces.target,test\u-size=0.3)
其中faces
是faces=sk.dataset.fetch\u-olivetti\u-faces()
我如何选择要进入列车数据的索引?您可以轻松地使用fancy index给出:
X_train=faces.data[:number what you want]
X_test=faces.target[:number what you want]
y_train=aces.data[number what you want]
y_test= faces.target[number what you want:]
您可以轻松地使用花式索引:
X_train=faces.data[:number what you want]
X_test=faces.target[:number what you want]
y_train=aces.data[number what you want]
y_test= faces.target[number what you want:]
正如@berkayln所建议的,我不确定您的列车测试拆分策略是否可取,但要按照您的建议拆分数据,我相信您可以使用:
from sklearn import datasets
faces = datasets.fetch_olivetti_faces()
X_train = faces.data[31:40]
X_test = faces.data[np.r_[0:31, 40:400]]
y_train = faces.target[31:40]
y_test = faces.target[np.r_[0:31, 40:400]]
正如@berkayln所建议的,我不确定您的列车测试拆分策略是否可取,但要按照您的建议拆分数据,我相信您可以使用:
from sklearn import datasets
faces = datasets.fetch_olivetti_faces()
X_train = faces.data[31:40]
X_test = faces.data[np.r_[0:31, 40:400]]
y_train = faces.target[31:40]
y_test = faces.target[np.r_[0:31, 40:400]]
```X_-train=faces.data[30:39]X_-test=faces.target[0:30]y_-train=faces.data[30:39]y_-test=faces.target[0:30]clf=SVC(kernel='linear')clf.fit(X_-train,y_-train)y_-pred=clf.predict(X_-test)print(准确度分数:{.2f}.format(度量.准确度分数(y_-test,y_-pred))`````这样尝试过,但不起作用,您确定不需要为测试/列车设置额外的数据吗?为什么要使测试数据小于列车数据?这不合逻辑@因为那部分数据有我想训练的东西。顺便说一句,我得到的错误是y应该是一个一维数组,取而代之的是一个形状数组(94096)。``X_train=faces.data[30:39]X_test=faces.target[30:30]y_train=faces.data[30:39]y_test=faces.target[0:30]clf=SVC(kernel='linear')')clf.fit(X_train,y_train)y_pred=clf.predict(X_test)print)print(X_test)print)(精度分数:{.2f}(y_test,y_pred))“`像那样尝试了一下,但它不起作用,你确定不需要为测试/训练设置额外的内容吗?为什么你要使测试数据比训练数据小?这是不符合逻辑的。@karinakbe因为这部分数据有我想要训练的东西。顺便说一句,我得到的错误是y应该是一个1d数组,有一个形状的数组(94096)相反