class_docstr: Base class for random projections.
  
  Warning: This class should not be used directly.
  Use derived classes instead.
class_docstr_tok: ["Base","class","for","random","projections",".","Warning",":","This","class","should","not","be","used","directly",".","Use","derived","classes","instead","."]
code: def __init__(
      self,
      n_components="auto",
      eps=0.1,
      dense_output=False,
      random_state=None,
  ):
      self.n_components = n_components
      self.eps = eps
      self.dense_output = dense_output
      self.random_state = random_state
  
      self.components_ = None
      self.n_components_ = None
  
imports: from __future__ import division
  import warnings
  from abc import ABCMeta, abstractmethod
  import numpy
  from numpy.testing import assert_equal
  import scipy.sparse
  from .base import BaseEstimator, TransformerMixin
  from .externals import six
  from .externals.six.moves import xrange
  from .utils import check_random_state
  from .utils.extmath import safe_sparse_dot
  from .utils.random import sample_without_replacement
  from .utils.validation import check_array
  from .exceptions import DataDimensionalityWarning
  from .exceptions import NotFittedError
label_desc: Use image node_id 1 to create a new BaseRandomProjection object from inherited base classes:  with example: obj = BaseRandomProjection(n_components, eps, dense_output, random_state)