python中np.random.permutation函数实例详解
作者:<阿睿> 发布时间:2021-10-13 16:18:35
标签:python,np.random.permutation,函数
一:函数介绍
np.random.permutation() 总体来说他是一个随机排列函数,就是将输入的数据进行随机排列,官方文档指出,此函数只能针对一维数据随机排列,对于多维数据只能对第一维度的数据进行随机排列。
简而言之:np.random.permutation函数的作用就是按照给定列表生成一个打乱后的随机列表
在处理数据集时,通常可以使用该函数进行打乱数据集内部顺序,并按照同样的顺序进行标签序列的打乱。
二:实例
2.1 直接处理数组或列表数
import numpy as np
data = np.array([1,2,3,4,5,6,7])
a = np.random.permutation(data)
b = np.random.permutation([5,0,9,0,1,1,1])
print(a)
print( "data:", data )
print(b)
2.2 间接处理:不改变原数据(对数组下标的处理)
label = np.array([1,2,3,4,5,6,7])
a = np.random.permutation(np.arange(len(label)))
print("Label[a] :" ,label[a] )
补:一般只能用于N维数组 只能将整数标量数组转换为标量索引
why?label1[a1] label1是列表,a1是列表下标的随机排列 但是! 列表结构没有标量索引 label1[a1]报错
label1=[1,2,3,4,5,6,7]
print(len(label1))
a1 = np.random.permutation(np.arange(len(label1)))#有结果
print(a1)
print("Label1[a1] :" ,label1[a1] )#这列表结构没有标量索引 所以会报错
2.3 实例:鸢尾花数据中对鸢尾花的随机打乱(可以直接用)
from sklearn import svm
from sklearn import datasets #sklearn 的数据集
iris = datasets.load_iris()
iris_x = iris.data
iris_y = iris.target
indices = np.random.permutation(len(iris_x))
#此时 打乱的是数组的下标的排序
print(indices)
print(indices[:-10])#到倒数第10个为止
print(indices[-10:])#最后10个
# print(type(iris_x)) <class 'numpy.ndarray'>
#9:1分类
#iris_x_train = iris_x[indices[:-10]]#使用的数组打乱后的下标
#iris_y_train = iris_y[indices[:-10]]
#iris_x_test= iris_x[indices[-10:]]
#iris_y_test= iris_y[indices[-10:]]
数组下标 即标量索引的重新分布情况: 下标是0开始
来源:https://blog.csdn.net/qq_45288176/article/details/125117426


猜你喜欢
- 1 非贪婪flag>>> re.findall(r"a(\d+?)", "a23b"
- golang常用库之-pkg/errors包背景golang自带了错误信息包error只提供了简单的用法, 如errors.New(),和e
- Pygame的Event事件模块事件(Event)是 Pygame 的重要模块之一,它是构建整个游戏程序的核心,比如常用的鼠标点击、键盘敲击
- 例子:以百度文库中选择文档的类型为例问题一:遍历点击所有文档类型的单选框# coding=utf-8from selenium import
- 错误Go 语言通过内置的错误接口提供了非常简单的错误处理机制,Error 类型是一个接口类型。type error interface {
- 前言 上一篇文章,我们讲解了图像处理中的阈值函数,这一篇文章我们来做膨胀和腐蚀函数。膨胀与腐蚀 说概念可能很难解释,我们来看图,首先是原图:
- Js代码:/*** 验证码*/function yzm(){var codeChars = new Array(0, 1, 2, 3, 4,
- var date = new Date('2016-11-11 11:11:11');document.write(date
- 1. 引言在Python中我们经常使用pip来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI
- 这周心血来潮,翻看了现在比较流行的几个JS脚本框架的底层代码,虽然是走马观花,但也受益良多,感叹先人们的伟大……感叹是为了缓解严肃的气氛并引
- 方法一: $(document).on('touchmove',function(e){ e.preventDefault(
- Python是一种非常实用的高级编程语言,它的易读性和简洁性使其成为初学者的首选语言。然而,Python的功能远不止于此,它的强大库支持使其
- template 概述最近在做脚手架相关的内容, 研究了一下 Go 的 text/template 包, 接下来跟大家分享下 templat
- 今天在pycharm(我用的python3)练习的时候,发现报了个AttributeError: module 'urllib
- 组合集总计: group by with rollup/cube grouping sets 子查询按执行方式分:标准子查询、关联子查询 标
- 前言近几日迫于被辅导员三番五次的提醒每日一报打卡,就想着去写个脚本挂在服务器上定时执行。经过我不懈的努力,最终选择了seleniumsele
- editTable.js 提供编辑表格当前行、添加一行、删除当前行的操作,其中可以设置参数,如:operatePos 用于设置放置操作的列,
- mysql中replace函数替换字符串介绍下mysql的REPLACE()函数语法:REPLACE()函数的语法如下:REPLACE(st
- 本文实例讲述了python处理xml文件的方法。分享给大家供大家参考,具体如下:前一段时间因为工作的需要,学习了一点用Python处理xml
- 前言说到 vue 中的 watch 方法,大家可能首先想到,它是用来监听数据的变化,一旦数据发生变化可以执行一些其他的操作。但是 watch