sklearn中数据拆分

导入包
在这里插入图片描述
生成数据
在这里插入图片描述
train_test_split拆分
在这里插入图片描述
kFold拆分
在这里插入图片描述
sKFold拆分
在这里插入图片描述
小结:
在这里插入图片描述
全部代码:

import numpy as np

import pandas as pd

from sklearn.neighbors import KNeighborsClassifier

from sklearn.model_selection import train_test_split

# cv int 6 数据分成6份
from sklearn.model_selection import cross_val_score,GridSearchCV

#KFold,StratifiedKFold将数据分成多少份
from sklearn.model_selection import KFold,StratifiedKFold

data = np.random.randint(0,10,size = (8,2))

target = np.array([0,0,1,0,1,1,1,0])
display(data,target)

train_test_split(data,target)

#随机拆分

kFold = KFold(n_splits=4)

#如果不写默认的话是分成三份,这里写的是分成四份

#train,test是索引,只要有索引便可以获取数据
#kFold.split(data,target)生成的是一个生成器,无法直接显示数据
for train,test in kFold.split(data,target):
    print(train,test)
    
#成功将数据分成了四份但是并没有按比例来划分

sKFold  = StratifiedKFold(n_splits=4)
#如果不写也默认分成三份
for train,test in sKFold.split(data,target):
    print(target[train],target[test])
    
#将数据划分为四份.每一份数据样本比例和原来一样

# train_test_split,KFold,StratifiedKFold作用都是将数据进行一个拆分
#只不过第一个是随机拆分,第二个是指定份数拆分但不保持原比例
#最后一个是指定拆分份数且保持原比例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拆分数据集是为了评估机器学习模型的性能。在使用 BP 神经网络进行分类或回归任务时,我们通常会将数据集分为训练集和测试集。 在 sklearn ,可以使用 train_test_split() 方法来拆分数据集。这个方法可以接受多个参数,其最重要的是 test_size 参数。该参数指定了测试集的大小,通常是数据集大小的一定比例。例如,test_size=0.2 表示将数据集的 20% 用作测试集,而剩余的 80% 用作训练集。 下面是一个使用 BP 神经网络进行分类任务并拆分数据集的示例代码: ``` python from sklearn.model_selection import train_test_split from sklearn.neural_network import MLPClassifier from sklearn.datasets import make_classification # 生成分类数据集 X, y = make_classification(n_samples=1000, n_features=10, n_classes=2, random_state=1) # 将数据拆分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1) # 创建 BP 神经网络分类器 clf = MLPClassifier(hidden_layer_sizes=(10,), max_iter=1000, random_state=1) # 在训练集上拟合分类器 clf.fit(X_train, y_train) # 在测试集上评估分类器性能 score = clf.score(X_test, y_test) print("Test set score: {:.2f}".format(score)) ``` 在这个示例,我们使用 make_classification() 方法生成一个包含 1000 个样本和 10 个特征的分类数据集。然后,我们使用 train_test_split() 方法将数据拆分为训练集和测试集,其测试集大小为 20%。接着,我们创建一个 MLPClassifier 对象,然后在训练集上拟合它。最后,我们使用 score() 方法在测试集上评估分类器的性能。 注意,这只是一个示例代码,并不代表最佳实践。在实际项目,你需要根据具体情况选择合适的数据拆分方法,并针对性地调整神经网络参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值