Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在没有目标值作为单独数据帧的情况下进行训练和测试拆分?_Python_Python 3.x_Dataframe_Scikit Learn_Train Test Split - Fatal编程技术网

Python 如何在没有目标值作为单独数据帧的情况下进行训练和测试拆分?

Python 如何在没有目标值作为单独数据帧的情况下进行训练和测试拆分?,python,python-3.x,dataframe,scikit-learn,train-test-split,Python,Python 3.x,Dataframe,Scikit Learn,Train Test Split,我只能对两个包含训练数据和目标数据的数据帧应用scikit学习功能train\u test\u split。但如何将包括目标值的数据帧按0.75的比例拆分为训练数据帧和测试数据帧?我不想只选择前n行,这是所有行的75%,我希望有随机选择,就像在train\u test\u split中一样,但是在train和test数据中不应该有相同的行。train\u test\u split的第一个参数是一个数组序列,这个序列可以只有一个长 from sklearn.model_selection impo

我只能对两个包含训练数据和目标数据的数据帧应用scikit学习功能
train\u test\u split
。但如何将包括目标值的数据帧按0.75的比例拆分为训练数据帧和测试数据帧?我不想只选择前n行,这是所有行的75%,我希望有随机选择,就像在
train\u test\u split
中一样,但是在train和test数据中不应该有相同的行。

train\u test\u split的第一个参数是一个数组序列,这个序列可以只有一个长

from sklearn.model_selection import train_test_split
from sklearn import datasets

iris = datasets.load_iris()
cols = [f.replace(' (cm)', '').replace(' ','_') for f in iris.feature_names] + ['target']
df = pd.DataFrame(np.c_[iris['data'], iris['target']], columns=cols)

df_train, df_test = train_test_split(df, train_size=0.75)

print(len(df_train) / len(iris.data))

如果传递了多个数据帧/数组,则它们必须具有相同的长度,并且每个数据帧/数组都以相同的方式拆分,因此可以灵活地通过数据帧或每个列/功能的多个数组/列表来实现这一点。这通常用于将标签保存在一个单独的容器中。

这应该将数据帧分割为一个序列,并按照指定的比例进行测试

import pandas as pd
from sklearn.model_selection import train_test_split
        
df = pd.DataFrame({'numbers': [1, 2, 3, 4, 5], 'colors': ['red', 'white', 
                           'blue', 'green', 'black']}, 
                          columns=['numbers', 'colors'])
        
training_dataset, test_dataset = train_test_split(df, train_size=0.75)

请举例说明您尝试过的代码。