python实现将数据集分成训练集与测试集

 

 #导入相应的库(对数据库进行切分需要用到的库是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))
np.savetxt('test_usual.csv', test, delimiter = ',')

其中的 random_state

         源码解释 :

        int, RandomState instance or None, optional (default=None)

        int, RandomState instance or None, optional (default=None)If int, random_state is the seed used by the random number generator;
        If RandomState instance, random_state is the random number generator;
        If None, the random number generator is the RandomState instance used by `np.random`


        大意就是:

如果设置一个具体值的话,比如random_state=10,则每次划分后的数据都一样,运行多次也一样。

如果设为None, 即random_state=None,则每次划分后的数据都不同,每一次运行划分的数据都不同。

你可能感兴趣的:(机器学习)