算法第一步:数据集分割

摘要:对于算法工程师,拿到数据经常要做的事,就是将数据分割成训练集或测试集便于使用,今天就总结下一般分割数据集的几种方法。

①数据格式Dataframe,数据分割

import random
import numpy as np

data = pd.read_csv("./dataNN.csv",error_bad_lines=False)
data = np.array(data)
# 这里np数据一定要用np.random.shuffle,不要用random带的shuffle,它不适用与shuffle
np.random.shuffle(data)#随机打乱,

#取前90%为训练集
alldata = [d[0] for d in data]
df1=data[:int(0.9*len(alldata))]
#将np.array转为dataframe,并加上原数据集中的列名
df1=pd.DataFrame(df1,columns=['url','label', 'sent', 'title'])
#写入csv
df1.to_csv("./train.csv",index=False)

#剩余百分之10为测试集
df2=data[int(0.1*len(alldata)):]
df2=pd.DataFrame(df2,columns=['url','label','sent', 'title'])
df2.to_csv("./test.csv",index=False)

②sklearn中的train_test_split

from sklearn.model_selection import train_test_split

# X为数据,Y为标签,返回四个值
Xtrain,Xtest,Ytrain,Ytest = train_test_split(X,Y,test_size=0.3,random_state=420)

# 切分前数据标签的分布情况
train_data.SeriousDlqin2yrs.value_counts()
#切分后,训练集数据标签的分布情况
pd.Series(Ytrain).value_counts()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值