Python机器学习——如何shuffle一个数据集(ndarray类型)
来源:互联网 发布:人工智能龙头企业 港股 编辑:程序博客网 时间:2024/06/05 07:58
取 shuffle 的过程其实可看做从全排列中随机选择一个的过程。
稍微比较麻烦的是实现特征向量与类别标签的同步shuffle。
如果这里数据集既包含特征向量又包括标签值,可直接调用np.random.shuffle()
方法:
>>> np.random.shuffle(training_data)>>> X = training_data[:, :-1]>>> y = trianing_data[:, -1]
如果已对数据集的特征向量与类别标签列进行分离,这里提供两种方式进行同步shuffle:
法 I:使用 np.random.shuffle()
>>> training_data = np.hstack(X, y)>>> np.random.shuffle(training_data)>>> X = training_data[:, :-1]>>> y = training_data[:, -1]
法 II:np.random.permutation() 对行索引进行一次全排列
>>> r = np.random.permutation(len(y)) # 随机地从全排列中选取一个,实现 shuffle>>> X = X[r, :] >>> y = [r]
按列 shuffle
上文所述皆是对矩阵的行(样本矩阵的每一个样本)进行 shuffle,那么该如何 shuffle 矩阵的列呢(也即样本矩阵的每一个属性)。
仍然存在两种方案,
法 I:np.random.shuffle()
因为 np.random.shuffle() 直接对原始矩阵进行修改(返回值为NoneType),且不接受另外的参数,我们可对原始矩阵的转置 shuffle 之后,再转置
>>> training_data = np.hstack(X, y)>>> training_data = training_data.T>>> np.random.shuffle(training_data)>>> training_data = training_data.T>>> X = training_data[:, :-1]>>> y = training_data[:, -1]
法 II:np.random.permutation() 对列索引进行一次全排列
# 此时 y 参与 shuffle>>> r = np.random.permutation(X.shape[1])>>> X[:, r]
0 0
- Python机器学习——如何shuffle一个数据集(ndarray类型)
- Python机器学习——如何shuffle一个数据集(ndarray类型)
- Python-Pandas 如何shuffle(打乱)数据?
- Python-Pandas 如何shuffle(打乱)数据?
- Python数据分析之NumPy(Mooc学习笔记1,ndarray)
- 机器学习之shuffle
- 推荐一个机器学习框架——python实现
- Python机器学习探索(一)——计算机学习数据的能力
- python,numpy库学习ndarray,narray
- Python机器学习——Sklearn——划分数据集——交叉检验
- Python开发进阶——数据集处理与机器学习初步
- python机器学习——数据的分类(knn,决策树,贝叶斯)代码笔记
- 根据数据的类型选择机器学习算法(面试)
- ndarray中数据的类型以及数据类型的变换
- Matlab Tricks(五)—— shuffle 一个矩阵
- Python 机器学习基础(一)——Python
- ndarray 数据类型 —— dtype
- Python数据挖掘与机器学习_通信信用风险评估实战(2)——数据预处理
- openssl windows 本地配置问题
- 图文讲解如何搭建Apache服务器
- android卸载或者程序更新,SharedPrefefences文件会删除吗
- 31.c/c++程序员面试宝典-函数参数的传递
- 用栈走迷宫
- Python机器学习——如何shuffle一个数据集(ndarray类型)
- 爬梯子转非递归
- iOS 打包上线_报错All object files and libraries for bitcode...
- 无分隔符字典问题
- 53 Which statement about using RMAN stored scripts is true? A. To create and execute an RMA
- e00格式分析
- JAVA构造类的过程
- 为Snappy Ubuntu 产品build设置ssh
- 第一个Web页面,呵呵