Python使用sklearn将数据划分为训练集与测试集
本文介绍如何使用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 = ',')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













