Python使用sklearn将数据划分为训练集与测试集

认真发呆
认真发呆
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍如何使用Python的numpy和sklearn库将CSV数据矩阵划分为训练集和测试集。通过train_test_split函数,按7:3比例随机分割输入特征X和标签y,并支持指定random_state。最后将分割后的数据保存为CSV文件,便于后续模型训练。

下面直接提供相关代码实现,并对关键步骤进行简要说明,希望能帮助读者快速掌握该方法。

导入所需库与数据读取

实现此功能主要依赖两个库:numpy用于矩阵运算,sklearn用于数据分割。


#导入相应的库(对数据库进行切分需要用到的库是sklearn.model_selection 中的 train_test_split)
import numpy as np
from sklearn.model_selection import train_test_split
 #首先,读取.CSV文件成矩阵的形式。
my_matrix = np.loadtxt(open("xxxxxx.csv"),delimiter=",",skiprows=0)
 #对于矩阵而言,将矩阵倒数第一列之前的数值给了X(输入数据),将矩阵大最后一列的数值给了y(标签)
X, y = my_matrix[:,:-1],my_matrix[:,-1]
 #利用train_test_split方法,将X,y随机划分问,训练集(X_train),训练集标签(X_test),测试卷(y_train),
 测试集标签(y_test),安训练集:测试集=7:3的
 概率划分,到此步骤,可以直接对数据进行处理
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
 #此步骤,是为了将训练集与数据集的数据分别保存为CSV文件
 #np.column_stack将两个矩阵进行组合连接
train= np.column_stack((X_train,y_train))
 #numpy.savetxt 将txt文件保存为。csv结尾的文件
numpy.savetxt('train_usual.csv',train, delimiter = ',')
test = np.column_stack((X_test, y_test))
numpy.savetxt('test_usual.csv', test, delimiter = ',')

数据分割与保存实现

以下为完整且未添加详细注释的代码片段,供参考使用。


import numpy as np
from sklearn.model_selection import train_test_split
my_matrix = np.loadtxt(open("xxxxx.csv"),delimiter=",",skiprows=0)
X, y = my_matrix[:,:-1],my_matrix[:,-1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
train= np.column_stack((X_train,y_train))
numpy.savetxt('train_usual.csv',train, delimiter = ',')
test = np.column_stack((X_test, y_test))
numpy.savetxt('test_usual.csv', test, delimiter = ',')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表