#read CSV read_csv读取的数据类型为Dataframe
# obj_2=pd.read_csv('f:/ceshi.csv',header=0,names=range(2,5))
#表示文件第0行(即第一行,索引从0开始)为列索引,这样加names会替换原来的列索引。
# header=None 原始文件数据没有列索引
sample = pd.read_csv(file_dir + file_name + '.csv', low_memory=False, encoding='gbk')
sample.set_index(id_name, inplace=True) # 把索引换成ID
sample.rename(columns={label_name: 'y'}, inplace=True) #把csv中label_name更改为'y'
target = sample.pop('y').to_frame()#删除第一列
df.drop(df.columns[[0]], axis=1, inplace=True)
#删除删除y列
val_X = val.drop(['y'], axis=1)
=====================================================
from sklearn.model_selection import StratifiedShuffleSplit import numpy as np X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [1, 2],[3, 4], [1, 2], [3, 4]])#训练数据集8*2 y = np.array([0, 0, 1, 1,0,0,1,1])#类别数据集8*1 ss=StratifiedShuffleSplit(n_splits=5,test_size=0.25,train_size=0.75,random_state=0)#分成5组,测试比例为0.25,训练比例是0.75 参数 random_state控制是将样本随机打乱
for train_index, test_index in ss.split(X, y): print("TRAIN:", train_index, "TEST:", test_index)#获得索引值 X_train, X_test = X[train_index], X[test_index]#训练集对应的值 y_train, y_test = y[train_index], y[test_index]#类别集对应的值
1.其产生指定数量的独立的train/test数据集划分数据集划分成n组。
2.首先将样本随机打乱,然后根据设置参数划分出train/test对。
3.其创建的每一组划分将保证每组类比比例相同。即第一组训练数据类别比例为2:1,则后面每组类别都满足这个比例
[结果]"D:\Program Files\Anaconda3\python.exe" D:/dnnLearn/allProject/trading1.0/test.py
TRAIN: [5 2 6 4 1 3] TEST: [7 0] TRAIN: [4 3 5 2 7 1] TEST: [6 0] TRAIN: [7 1 6 2 0 4] TEST: [5 3] TRAIN: [3 6 4 7 0 5] TEST: [1 2] TRAIN: [3 4 1 7 2 0] TEST: [6 5]
本文介绍了如何使用pandas库读取CSV文件,并通过更改列名及索引来整理数据。同时,详细解释了如何利用sklearn中的StratifiedShuffleSplit进行分层抽样,确保训练集和测试集中的类别比例一致。
3066

被折叠的 条评论
为什么被折叠?



