柳州网站开发公司,女装网站建设文献综述,快团团小程序官网,html编辑器的使用方法目录
方法一
方法二 需求目的#xff1a;针对模型训练输入#xff0c;按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集#xff0c;可按照98:1:1的比例进行切分。
方法一#xff1a;切分训练集和测试集针对模型训练输入按照6:2:2的比例进行训练集、测试集和验证集的划分。当前数据量约10万条。如果针对的是记录条数达上百万的数据集可按照98:1:1的比例进行切分。
方法一切分训练集和测试集采用机器学习包sklearn中的train_test_split()函数 方法二切分训练集、测试集以及验证集针对dataframe手动切分
方法一
采用Sklearn包中的sklearn.model_selection.train_test_split()函数该函数功能是将原始数据按照比例切分为训练集和测试集。
函数形式
sklearn.model_selection.train_test_split(*arrays, test_sizeNone,
train_sizeNone, random_stateNone, shuffleTrue, stratifyNone)参数解读
*arrays等长的列表、数组或者dataframe等
test_size: 0和1之间默认0.25
train_size: 0和1之间默认1
random_state: 传递一个int值以便在多个函数调用之间产生可复制的输出
shuffle: 拆分前是否进行洗牌
strafity: 是否对数据进行分层返回结果
输入序列的train test分割序列
例子 import numpy as npfrom sklearn.model_selection import train_test_splitX, y np.arange(10).reshape((5, 2)), range(5)X
array([[0, 1],[2, 3],[4, 5],[6, 7],[8, 9]])list(y)
[0, 1, 2, 3, 4] X_train, X_test, y_train, y_test train_test_split(
... X, y, test_size0.33, random_state42)
...X_train
array([[4, 5],[0, 1],[6, 7]])y_train
[2, 0, 3]X_test
array([[2, 3],[8, 9]])y_test
[1, 4]
方法二
手动切分代码如下。输入采用Python的DataFrame同样输出三个文件。如果需要每次都输入同样的切分数据可采用random.seed()定义随机数种子。
def split_train_test_valid():# read fileinput_path E:\\Data\\file flow.csvdf_flow pd.read_csv(input_path file, headerNone, encodinggbk)# define the ratios 6:2:2train_len int(len(df_flow) * 0.6)test_len int(len(df_flow) * 0.2)# split the dataframeidx list(df_flow.index)random.shuffle(idx) # 将index列表打乱df_train df_flow.loc[idx[:train_len]]df_test df_flow.loc[idx[train_len:train_lentest_len]]df_valid df_flow.loc[idx[train_lentest_len:]] # 剩下的就是valid# outputdf_train.to_csv(input_pathtrain.txt, headerFalse, indexFalse, sep\t)df_test.to_csv(input_pathtest.txt, headerFalse, indexFalse, sep\t)df_valid.to_csv(input_pathvalid.txt, headerFalse, indexFalse, sep\t)
参考资料https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html