读取txt,分类训练集和测试集

来源:互联网 发布:手机日历软件 编辑:程序博客网 时间:2024/05/21 21:50

1.采用sklearn.model_selection模块中的train_test_split对数据集进行分类,其中test_size是小数表示样品比例,设置整数则是代表测试集个数,
可设置random_state,它是随机数的种子,不同的种子会造成不同的随机采样结果,相同的种子采样结果相同。

2.使用np中loadtxt读取txt文件,文件保存格式为ASCI编码,UTF编码需备注encoding=’ ‘,其中r使python正常读入“\”,否则文件名中用“/”代替

3.np中可采用tolist()函数直接将ndarray转换成list

4.将数据集中属性和标签分开,采用zip()函数整合,合成list

import numpy as npfrom sklearn.model_selection import train_test_splitdef load_data():     data = np.loadtxt(r'F:\net\spambase\spambase.txt',delimiter = ',')    training_data, test_data = train_test_split(data,test_size=0.2)    # training_data = training.tolist()    # test_data = test.tolist()    return (training_data,test_data)def load_data_wrapper():      tr_d, te_d = load_data()    training_inputs = [np.reshape(x, (57, 1)) for x in tr_d[:,0:57]]    training_results = [vectorized_result(y) for y in tr_d[:,-1]]    training_data = list(zip(training_inputs, training_results))    test_inputs = [np.reshape(x, (57, 1)) for x in te_d[:,0:57]]    test_results = [y for y in te_d[:,-1]]    test_data = list(zip(test_inputs, test_results))    return (training_data, test_data)def vectorized_result(j):      e = np.zeros((2, 1))    i = int(j)      e[i] = 1.0      return e 
阅读全文
0 0
原创粉丝点击