Shuffle arrays or sparse matrices in a consistent way

This is a convenience alias to resample(*arrays, replace=False) to do random permutations of the collections.

Parameters:

*arrays : sequence of indexable data-structures

Indexable data-structures can be arrays, lists, dataframes or scipy sparse matrices with consistent first dimension.

random_state : int or RandomState instance

Control the shuffling for reproducible behavior.

n_samples : int, None by default

Number of samples to generate. If left to None this is automatically set to the first dimension of the arrays.

Returns:

shuffled_arrays : sequence of indexable data-structures

Sequence of shuffled views of the collections. The original arrays are not impacted.

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import numpy as np

X = np.array([[1., 0.], [2., 1.], [0., 0.]])
y = np.array([0, 1, 2])

from scipy.sparse import coo_matrix
X_sparse = coo_matrix(X)

print '稀疏矩阵%s\n',X_sparse

from sklearn.utils import shuffle
X, X_sparse, y = shuffle(X, X_sparse, y, random_state=0)
print 'X值\n', X

print 'X_sparse值\n', X_sparse

print 'y值\n', y

'''
稀疏矩阵%s
  (0, 0)        1.0
  (1, 0)        2.0
  (1, 1)        1.0
X值
[[ 0.  0.]
 [ 2.  1.]
 [ 1.  0.]]
X_sparse值
  (1, 1)        1.0
  (1, 0)        2.0
  (2, 0)        1.0
y值
[2 1 0]
'''

 

posted on 2016-08-11 20:27  qqhfeng16  阅读(11263)  评论(0编辑  收藏  举报