python按比例随机切分数据的实现
在机器学习或者深度学习中,我们常常碰到一个问题是数据集的切分。比如在一个比赛中,举办方给我们的只是一个带标注的训练集和不带标注的测试集。其中训练集是用于训练,而测试集用于已训练模型上跑出一个结果,然后提交,然后举办方验证结果给出一个分数。但是我们在训练过程中,可能会出现过拟合等问题,会面临着算法和模型的选择,此时,验证集就显得很重要。通常,如果数据量充足,我们会从训练集中划分出一定比例的数据来作为验证集。
每次划分数据集都手动写一个脚本,重复性太高,因此将此简单的脚本放到自己的博客。代码如下:
import random def split(full_list,shuffle=False,ratio=0.2): n_total = len(full_list) offset = int(n_total * ratio) if n_total==0 or offset<1: return [],full_list if shuffle: random.shuffle(full_list) sublist_1 = full_list[:offset] sublist_2 = full_list[offset:] return sublist_1,sublist_2 if __name__ == "__main__": li = range(5) sublist_1,sublist_2 = split(li,shuffle=True,ratio=0.2) print sublist_1,len(sublist_1) print sublist_2,len(sublist_2)
其中,main为测试代码。假如训练集给出的是一个文件,我们先将文件读到列表中,然后再调用split。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
实例分析python3实现并发访问水平切分表
场景说明 假设有一个mysql表被水平切分,分散到多个host中,每个host拥有n个切分表. 如果需要并发去访问这些表,快速得到查询结果, 应该怎么做呢? 这里提供一种方案,利用python3的asyncio异步io库及aiomysql异步库去实现这个需求. 代码演示 import logging import random import asynciofrom aiomysql import create_pool # 假设mysql表分散在8个host, 每个host有16张子表 TBLE
-
python 将大文件切分为多个小文件的实例
切分文件 最近遇到需要切分文件的需求,当然首选用python来解决,网上搜了下感觉都太复杂了,其实用python自带函数即可解决. f = open('path&filename','r') #打开文件 i = 0 #设置计数器 while i<12345 : #这里12345表示文件行数,如果不知道行数可用每行长度等其他条件来判断 with open('newfile'+str(i),'w') as f1: for j in range(0,100) : #这里设置每个子文件的大小 if
-
Python数据集切分实例
在处理数据过程中经常要把数据集切分为训练集和测试集,因此记录一下切分代码. ''' data:数据集 test_ratio:测试机占比 如果data为numpy.numpy.ndarray直接使用此代码 如果data为pandas.DatFrame类型则 return data[train_indices],data[test_indices] 修改为 return data.iloc[train_indices],data.iloc[test_indices] ''' def split_tr
-
Python 最大概率法进行汉语切分的方法
要求: 1 采用基于语言模型的最大概率法进行汉语切分. 2 切分算法中的语言模型可以采用n-gram语言模型,要求n >1,并至少采用一种平滑方法: 代码: 废话不说,代码是最好的语言 import re import math MAX_SPLITLEN = 4#最大切分长度 corpus_lib = ''#corpus:语料 def init_corpus_lib(path): # 初始化语料库 global corpus_lib with open(path, 'r', encoding='
-
python实现按行切分文本文件的方法
本文实例讲述了python实现按行切分文本文件的方法.分享给大家供大家参考,具体如下: python脚本利用shell命令来实现文本的操作, 这些命令大大减少了我们的代码量. 比如按行切分文件并返回切分后得到的文件列表,可以利用内建的split命令进行切分.为了返回得到的文件列表名,可以先将文件切分到自建的子目录中,然后通过os.listdir获取所有文件,再将这些文件移到上一级目录(即函数参数指定的新目录),删除自建子目录,最后返回该文件名列表. 代码如下,如发现问题欢迎指正: # 创建新路径
-
python实现根据文件关键字进行切分为多个文件的示例
来源:在工作过程中,需要统计一些trace信息,也就是一些打点信息,而打点是通过关键字进行的,因此对一个很大的文件进行分析时,想把两个打点之间的内容单独拷贝出来进行分析. #!/usr/bin/env python #__*__ coding: utf-8 __*__ import re import linecache def fileParse(): inputfile = input('Input SourcFile:') ##输入源文件,如A.txt fp = open(inputfil
-
分享Python切分字符串的一个不错方法
一同事问:有一字符串"abcdefghijklmn"如何用Python来切分,每四个一段,剩下的算一段.字符段切分,首先会想到split()和 re.split()函数,但仔细想了一下,这两个函数又不合适,因为,字符之间并没有空格,逗号,点号,TAB等分隔符,要切割的话很难实现. 只好退而求其次,使用常规方法: >>> s = 'abcdefghijklmn' >>> for i in range(0,len(s),4): print s[i:i+4
-
Ubuntu下使用Python实现游戏制作中的切分图片功能
本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能.分享给大家供大家参考,具体如下: why 拿到一个人物行走的素材,要用TexturePacker打包.TexturePacker打包后,助于游戏加载图片效率,且比较好管理. 目前得到一张整图,无法直接导入到TexturePacker. what 切片:使用切片将源图像分成许多的功能区域. how 1 ubuntu下图片处理软件 GIMP: 画好参考线后, 点击 滤镜->WEB ->切片 2 python + PIL (
-
python按比例随机切分数据的实现
在机器学习或者深度学习中,我们常常碰到一个问题是数据集的切分.比如在一个比赛中,举办方给我们的只是一个带标注的训练集和不带标注的测试集.其中训练集是用于训练,而测试集用于已训练模型上跑出一个结果,然后提交,然后举办方验证结果给出一个分数.但是我们在训练过程中,可能会出现过拟合等问题,会面临着算法和模型的选择,此时,验证集就显得很重要.通常,如果数据量充足,我们会从训练集中划分出一定比例的数据来作为验证集. 每次划分数据集都手动写一个脚本,重复性太高,因此将此简单的脚本放到自己的博客.代码如下:
-
Python随机生成数据后插入到PostgreSQL
用Python随机生成学生姓名,三科成绩和班级数据,再插入到PostgreSQL中. 模块用psycopg2 random import random import psycopg2 fname=['金','赵','李','陈','许','龙','王','高','张','侯','艾','钱','孙','周','郑'] mname=['玉','明','玲','淑','偑','艳','大','小','风','雨','雪','天','水','奇','鲸','米','晓','泽','恩','葛','玄'
-
Python实现生成随机数据插入mysql数据库的方法
本文实例讲述了Python实现生成随机数据插入mysql数据库的方法.分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严','华','吕','徐','何') middle=('芳','军','建','明','辉','芬','红','丽','功') last=('明','芳','','民','敏
-
Python 等分切分数据及规则命名的实例代码
将一份一亿多条数据的csv文件等分为10份,代码如下所示: import pandas as pd data = pd.read_csv('C:\\Users\\PycharmProjects\\SplitData\\data\\UserBehavior.csv') # 路径则根据个人存放项目文件的习惯 num = 0 for i in range(1, 11): start = num num = num + int(data.shape[0] / 10) file = data.iloc[s
-
Python使用指定字符长度切分数据示例
处理思路 笔者在学习时被要求在Python中使用指定字符长度切分数据. 如,string类型的字符串film_type = '都市浪漫爱情喜剧',已知电影类型都是两个中文字符组成,要求切分出字符串中的电影类型. 这种情况下,我们可以使用xrange()函数,通过步长来切分. 涉及知识 xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器. xrange 语法: xrange(stop) xrange(start, stop[, step]) 参数说明:
-
详解Python中生成随机数据的示例详解
目录 随机性有多随机 加密安全性 PRNG random 模块 数组 numpy.random 相关数据的生成 random模块与NumPy对照表 CSPRNG 尽可能随机 os.urandom() secrets 最佳保存方式 UUID 工程随机性的比较 在日常工作编程中存在着各种随机事件,同样在编程中生成随机数字的时候也是一样,随机有多随机呢?在涉及信息安全的情况下,它是最重要的问题之一.每当在 Python 中生成随机数据.字符串或数字时,最好至少大致了解这些数据是如何生成的. 用于在 P
-
Python实现孤立随机森林算法的示例代码
目录 1 简介 2 孤立随机森林算法 2.1 算法概述 2.2 原理介绍 2.3 算法步骤 3 参数讲解 4 Python代码实现 5 结果 1 简介 孤立森林(isolation Forest)是一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划分点(值)时都是随机的,而不是根据信息增益或基尼指数来选择. 2 孤立随机森林算法 2.1 算法概述 Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好
-
Python实现图像随机添加椒盐噪声和高斯噪声
目录 1.常见的图像噪声 (1)高斯噪声 (2) 椒盐噪声 2.生成图像噪声 (1)高斯噪声 (2) 椒盐噪声(速度慢) (3) 椒盐噪声(快速版) 3. Demo性能测试 图像噪声是指存在于图像数据中的不必要的或多余的干扰信息.在噪声的概念中,通常采用信噪比(Signal-Noise Rate, SNR)衡量图像噪声.通俗的讲就是信号占多少,噪声占多少,SNR越小,噪声占比越大. 1.常见的图像噪声 (1)高斯噪声 高斯噪声Gaussian noise,是指它的概率密度函数服从高斯分布(即正态
-
Python决策树和随机森林算法实例详解
本文实例讲述了Python决策树和随机森林算法.分享给大家供大家参考,具体如下: 决策树和随机森林都是常用的分类算法,它们的判断逻辑和人的思维方式非常类似,人们常常在遇到多个条件组合问题的时候,也通常可以画出一颗决策树来帮助决策判断.本文简要介绍了决策树和随机森林的算法以及实现,并使用随机森林算法和决策树算法来检测FTP暴力破解和POP3暴力破解,详细代码可以参考: https://github.com/traviszeng/MLWithWebSecurity 决策树算法 决策树表现了对象属性和
-
Python语言描述随机梯度下降法
1.梯度下降 1)什么是梯度下降? 因为梯度下降是一种思想,没有严格的定义,所以用一个比喻来解释什么是梯度下降. 简单来说,梯度下降就是从山顶找一条最短的路走到山脚最低的地方.但是因为选择方向的原因,我们找到的的最低点可能不是真正的最低点.如图所示,黑线标注的路线所指的方向并不是真正的地方. 既然是选择一个方向下山,那么这个方向怎么选?每次该怎么走? 先说选方向,在算法中是以随机方式给出的,这也是造成有时候走不到真正最低点的原因. 如果选定了方向,以后每走一步,都是选择最陡的方向,直到最低点.
随机推荐
- AngularJS语法详解(续)
- 如何设计高效合理的MySQL查询语句
- 如何用Java实现啥夫曼编码
- iOS中键盘 KeyBoard 上添加工具栏的方法
- Java数组,去掉重复值、增加、删除数组元素的方法
- 深入理解Python变量与常量
- 虚拟机网络配置(NAT、桥接、Hostonly)详解
- centos下最简安装openstack——使用packstack详解
- .NET中利用js让子窗体向父页面传值的实现方法
- PHP+mysql+ajax轻量级聊天室实现方法详解
- Android 中ThreadLocal的深入理解
- php中jQuery插件autocomplate的简单使用笔记
- python检查字符串是否是正确ISBN的方法
- 人生哲理-人致命的8个问题
- shell脚本转发80端口数据包给Node.js服务器
- SqlServer 英文单词全字匹配详解及实现代码
- ubuntu临时或永久修改hostname的方法
- jQuery基本选择器之标签名选择器
- 仿JQuery输写高效JSLite代码的一些技巧
- Bootstrap菜单按钮及导航实例解析