数据集预处理,划分为测试数据集合验证数据集
2016-12-25 13:50
465 查看
在一个数据集中随机选出80%的记录作为训练数据集,训练得到相应的数学模型之后,将剩余的20%的记录作为验证,测试模型的准确性。
原有数据集形式:
1::1193::5::978300760
1::661::3::978302109
1::914::3::978301968
1::3408::4::978300275
1::2355::5::978824291
1::1197::3::978302268
1::1287::5::978302039
1::2804::5::978300719
1::594::4::978302268
1::919::4::978301368
…
…
…
其中[0]-[3]分别代表不同的特征
处理后得到的数据集
3418 869 4 967398834
1545 1073 3 974744490
2851 2572 5 972506781
2068 1198 3 974658346
1031 3633 4 974999133
5555 1073 3 959550355
587 3566 1 975946900
1125 3301 2 988697984
4091 1772 1 965425356
2096 3114 5 974653564
5888 1220 5 957480240
710 93 2 975570015
…
…
…
python代码如下:
原有数据集形式:
1::1193::5::978300760
1::661::3::978302109
1::914::3::978301968
1::3408::4::978300275
1::2355::5::978824291
1::1197::3::978302268
1::1287::5::978302039
1::2804::5::978300719
1::594::4::978302268
1::919::4::978301368
…
…
…
其中[0]-[3]分别代表不同的特征
处理后得到的数据集
3418 869 4 967398834
1545 1073 3 974744490
2851 2572 5 972506781
2068 1198 3 974658346
1031 3633 4 974999133
5555 1073 3 959550355
587 3566 1 975946900
1125 3301 2 988697984
4091 1772 1 965425356
2096 3114 5 974653564
5888 1220 5 957480240
710 93 2 975570015
…
…
…
python代码如下:
import random def replaced(filename): new_content=[]; readfile=open(filename) lines=readfile.readlines() for line in lines: new_line=line.strip().replace("::","\t") ''' contents=line.split("::") new_line=contents[0].strip()+"\t"+contents[1].strip()+"\t"+contents[2].strip()+"\t"+contents[3].strip() ''' new_content.append(new_line) #print contents #print new_content readfile.close() writefile=open(filename.strip(".csv")+"_replaced.csv",'wb') for i in range(len(new_content)): writefile.write(new_content[i]+'\n') writefile.close() def choose (filename): content_test=[] content_result=[] readfile=open(filename) lines=readfile.readlines() sum_length=len(lines) count=sum_length print("The numbers of items in "+filename+" is "+str(sum_length)) while count > 0: if len(content_test)<0.8*sum_length: i=random.randint(0,count-1) content_test.append(lines[i]) del lines[i] count=count-1 for j in range(len(lines)): content_result.append(lines[j]) readfile.close() writefile=open("content_test.csv",'wb') for i in range(len(content_test)): writefile.write(content_test[i]) writefile.close() writefile=open("content_result.csv",'wb') for i in range(len(content_result)): writefile.write(content_result[i]) writefile.close() filename="ratings.csv" choose(filename) filename_01="content_test.csv" filename_02="content_result.csv" replaced(filename_01) replaced(filename_02)
相关文章推荐
- 机器学习 数据挖掘 数据集划分 训练集 验证集 测试集
- 十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集
- 将数据集切分成“训练-测试数据集”和交叉验证
- 十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集
- 请用LinkedList模拟栈数据的集合,并测试
- 神经网络中训练数据集、验证数据集和测试数据集的区别
- 交叉检验---训练数据,验证数据和测试数据
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- scikit-learn:4. 数据集预处理(clean数据、reduce降维、expand增维、generate特征提取)
- WCF使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据 (转)
- R语言|数据预处理--2因子类型:训练测试集数据
- Labeled Faces in the Wild 人脸识别数据集 部分测试数据
- 将数据划分为训练数据及测试数据(div_train_val.py 解析)
- MySQL数据库数据类型之集合类型SET测试总结
- 测试数据整数搜索——Ny 90 整数划分
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- Android sqlite 数据库查询,插入,删除,更新demo<第3章>---测试验证插入数据
- GIS+=地理信息+大数据——Windows部署Pandas环境及代码测试验证