如何将数据集 (CSV) 拆分为训练数据和测试数据
How to split a dataset (CSV) into training and test data
如果数据集 (CSV) 中没有因变量,如何使用 Python 编程语言将数据集 (CSV) 拆分为训练数据和测试数据?
我目前从事的项目是基于机器学习的,数据集不包含任何依赖数据。以下代码仅在数据集包含依赖数据时才有效-
from sklearn.model_selection import train_test_split
xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)
我希望拆分在没有任何 y
变量的情况下发生。
可能吗?
有两种"random"分布。
1) 100% 随机
2) 'random' 但 'equal' 数据分布(即相同的方法/规范)
为了回答您的问题,我首先建议您使用一个包来管理您的数据框(即 Pandas)
有关信息,请参阅 link:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html
因此,如果您想通过替换获得 DataFrame 的随机 50% 样本:
df.sample(frac=0.5, replace=True, random_state=1)
要将数据集拆分为训练集和测试集,我们可以先对整个数据集进行洗牌,然后根据需要的大小将其切分。
import pandas as pd
shuffle = df.sample(frac=1)
train_size = int(0.8 * len(df))
train = shuffle[:train_size]
test = shuffle[train_size:]
如果数据集 (CSV) 中没有因变量,如何使用 Python 编程语言将数据集 (CSV) 拆分为训练数据和测试数据?
我目前从事的项目是基于机器学习的,数据集不包含任何依赖数据。以下代码仅在数据集包含依赖数据时才有效-
from sklearn.model_selection import train_test_split
xTrain, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)
我希望拆分在没有任何 y
变量的情况下发生。
可能吗?
有两种"random"分布。 1) 100% 随机 2) 'random' 但 'equal' 数据分布(即相同的方法/规范)
为了回答您的问题,我首先建议您使用一个包来管理您的数据框(即 Pandas)
有关信息,请参阅 link: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html
因此,如果您想通过替换获得 DataFrame 的随机 50% 样本:
df.sample(frac=0.5, replace=True, random_state=1)
要将数据集拆分为训练集和测试集,我们可以先对整个数据集进行洗牌,然后根据需要的大小将其切分。
import pandas as pd
shuffle = df.sample(frac=1)
train_size = int(0.8 * len(df))
train = shuffle[:train_size]
test = shuffle[train_size:]