博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】保证训练集和测试集取到和数据集中相同比例的类别
阅读量:6820 次
发布时间:2019-06-26

本文共 1114 字,大约阅读时间需要 3 分钟。

def split_train_test(text_df, size=0.8):    """        分割训练集和测试集    """    # 为保证每个类中的数据能在训练集中和测试集中的比例相同,所以需要依次对每个类进行处理    train_text_df = pd.DataFrame()    test_text_df = pd.DataFrame()    labels = [0, 1, 2, 3]    for label in labels:        # 找出label的记录        text_df_w_label = text_df[text_df['label'] == label]        # 重新设置索引,保证每个类的记录是从0开始索引,方便之后的拆分        text_df_w_label = text_df_w_label.reset_index()        # 默认按80%训练集,20%测试集分割        # 这里为了简化操作,取前80%放到训练集中,后20%放到测试集中        # 当然也可以随机拆分80%,20%(尝试实现下DataFrame中的随机拆分)        # 该类数据的行数        n_lines = text_df_w_label.shape[0]        split_line_no = math.floor(n_lines * size)        text_df_w_label_train = text_df_w_label.iloc[:split_line_no, :]        text_df_w_label_test = text_df_w_label.iloc[split_line_no:, :]        # 放入整体训练集,测试集中        train_text_df = train_text_df.append(text_df_w_label_train)        test_text_df = test_text_df.append(text_df_w_label_test)    train_text_df = train_text_df.reset_index()    test_text_df = test_text_df.reset_index()    return train_text_df, test_text_df

 

转载于:https://www.cnblogs.com/zhangshilin/p/6916475.html

你可能感兴趣的文章
跨交换机实现VLAN
查看>>
27个提升效率的iOS开源库推荐
查看>>
Python的"print"函数在“Hello World”之外的延伸
查看>>
计划任务
查看>>
获取无序数组中第n大的数及快速排序算法使用
查看>>
我的友情链接
查看>>
MongoDB复制集原理
查看>>
Java开发(2) - Tomcat配置JNDI数据源
查看>>
Highcharts error #12 问题解决办法
查看>>
数字图像处理的常用概念和方法
查看>>
Dubbo协议介绍
查看>>
HA配置方案
查看>>
sed处理变量替换
查看>>
Netsh Diag
查看>>
win8
查看>>
AIX 安装 SVN 客户端 完整过程 subversion-1.8
查看>>
8-17 页面分页
查看>>
数据库--sqlite的操作
查看>>
手机号码 正则
查看>>
如何解酷派CPB包
查看>>