gpt4 book ai didi

用pandas划分数据集实现训练集和测试集

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 29 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章用pandas划分数据集实现训练集和测试集由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1、使用model_select子模块中的train_test_split函数进行划分 。

数据:使用kaggle上Titanic数据集 。

划分方法:随机划分 。

?
1
2
3
4
5
6
7
8
9
# 导入pandas模块,sklearn中model_select模块
import pandas as pd
from sklearn.model_select import train_test_split
# 读取数据
data = pd.read_csv( '.../titanic_dataset/train.csv' )
# 将特征划分到 X 中,标签划分到 Y 中
x = data.iloc[:, 2 :]
y = data.loc[ 'Survived' ]
# 使用train_test_split函数划分数据集(训练集占75%,测试集占25%)

x_train, x_test, y_train,y_test = train_test_split(x, y, test_size=0.25, ramdon_state=0) 。

缺点:1、数据浪费严重,只对部分数据进行了验证 。

            2、容易过拟合 。

2、k折交叉验证(kfold) 。

原理:将数据集划分成n个不相交的子集,每次选择其中一个作为测试集,剩余n-1个子集作为            训练集,共生成 n 组数据 。

使用方法:sklearn.model_select.KFold(n_splits=5,shuffle=False,random_state=0) 。

参数说明:n_splits:数据集划分的份数, 。

                  shuffle:每次划分前是否重新洗牌 ,False表示划分前不洗牌,每次划分结果一样,True表示划分前洗牌,每次划分结果不同 。

                 random_state:随机种子数 。

(1)shuffle=False 情况下数据划分情况 。

?
1
2
3
4
5
6
7
8
9
10
11
12
# 不洗牌模式下数据划分情况
import numpy as np
from sklearn.model_selection import KFold
x = np.arange( 46 ).reshape( 23 , 2 )
kf = KFold(n_splits = 5 ,shuffle = False )
for train_index, test_index in kf.split(x):
   print (train_index,test_index)
[ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ] [ 0 1 2 3 4 ]
[ 0 1 2 3 4 10 11 12 13 14 15 16 17 18 19 20 21 22 ] [ 5 6 7 8 9 ]
[ 0 1 2 3 4 5 6 7 8 9 15 16 17 18 19 20 21 22 ] [ 10 11 12 13 14 ]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 19 20 21 22 ] [ 15 16 17 18 ]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ] [ 19 20 21 22 ]

(2)shuffle=True 情况下数据划分情况  。

?
1
2
3
4
5
6
7
8
9
10
11
import numpy as np
from sklearn.model_selection import KFold
x = np.arange( 46 ).reshape( 23 , 2 )
kf = KFold(n_splits = 5 ,shuffle = True )
for train_index, test_index in kf.split(x):
   print (train_index,test_index)
[ 0 3 4 5 6 7 8 9 10 11 12 14 15 16 17 19 20 21 ] [ 1 2 13 18 22 ]
[ 0 1 2 3 5 6 7 10 11 13 15 16 17 18 19 20 21 22 ] [ 4 8 9 12 14 ]
[ 0 1 2 3 4 7 8 9 10 12 13 14 15 16 17 18 19 22 ] [ 5 6 11 20 21 ]
[ 1 2 3 4 5 6 8 9 10 11 12 13 14 15 18 19 20 21 22 ] [ 0 7 16 17 ]
[ 0 1 2 4 5 6 7 8 9 11 12 13 14 16 17 18 20 21 22 ] [ 3 10 15 19 ]

总结:从数据中可以看出shuffle=True情况下数据的划分是打乱的,而shuffle=False情况下数据的划分是有序的 。

到此这篇关于用pandas划分数据集实现训练集和测试集的文章就介绍到这了,更多相关pandas划分数据集 内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/MDbabyface/article/details/83271612 。

最后此篇关于用pandas划分数据集实现训练集和测试集的文章就讲到这里了,如果你想了解更多关于用pandas划分数据集实现训练集和测试集的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com