class_docstr: Base class for associative learning.
  
  Parameters
  ----------
  n_inputs : int
      Number of features (columns) in the input data.
  
  n_outputs : int
      Number of outputs in the  network.
  
  weight : array-like, Initializer
      Neural network weights.
      Value defined manually should have shape ``(n_inputs, n_outputs)``.
      Defaults to :class:`Normal() <neupy.init.Normal>`.
  
  {BaseNetwork.Parameters}
  
  Methods
  -------
  {BaseSkeleton.predict}
  
  train(X_train, epochs=100)
      Train neural network.
  
  {BaseSkeleton.fit}
class_docstr_tok: ["Base","class","for","associative","learning",".","Parameters","--","--","--","--","--","n_inputs",":","int","Number","of","features","(","columns",")","in","the","input","data",".","n_outputs",":","int","Number","of","outputs","in","the","network",".","weight",":","array-like",",","Initializer","Neural","network","weights",".","Value","defined","manually","should","have","shape","``","(","n_inputs",",","n_outputs",")","``",".","Defaults","to",":","class",":","`","Normal","(",")","<","neupy.init.Normal",">","`",".","{","BaseNetwork.Parameters","}","Methods","--","--","--","-","{","BaseSkeleton.predict","}","train","(","X_train",",","epochs=100",")","Train","neural","network",".","{","BaseSkeleton.fit","}"]
code: def format_input_data(self, X):
      X = format_data(X, is_feature1d=(self.n_inputs == 1))
  
      if X.ndim != 2:
          raise ValueError(
              "Cannot make prediction, because input "
              "data has more than 2 dimensions"
          )
  
      if X.shape[1] != self.n_inputs:
          raise ValueError(
              "Input data expected to have {} features, "
              "but got {}".format(self.n_inputs, X.shape[1])
          )
  
      return X
  
file_path: neupy/neupy/algorithms/associative/base.py
imports: import numpy
  from neupy import init
  from neupy.utils import format_data
  from neupy.core.properties import IntProperty, ParameterProperty, ArrayProperty
  from neupy.algorithms.base import BaseNetwork
label_desc: Use image node_id 3 for calling the BaseAssociative obj's underlying member method code with example usage: obj.format_input_data(X) and returns: X