class_docstr: Implementation of a database reconstruction attack. In this case, the adversary is assumed to have in his/her
  possession a model trained on a dataset, and all but one row of that training dataset. This attack attempts to
  reconstruct the missing row.
class_docstr_tok: ["Implementation","of","a","database","reconstruction","attack",".","In","this","case",",","the","adversary","is","assumed","to","have","in","his\/her","possession","a","model","trained","on","a","dataset",",","and","all","but","one","row","of","that","training","dataset",".","This","attack","attempts","to","reconstruct","the","missing","row","."]
docstr: Objective function which we seek to minimise
docstr_tok: ["Objective","function","which","we","seek","to","minimise"]
code: def objective(
      x, y, x_train, y_train, private_estimator, parent_model, params
  ):
      """Objective function which we seek to minimise"""
  
      model = sklearn.base.clone(parent_model.model, safe=True)
      model.fit(np.vstack((x_train, x)), np.hstack((y_train, y)))
  
      residual = 0.0
  
      for param in params:
          residual += np.sum(
              (
                  model.__getattribute__(param)
                  - private_estimator.model.__getattribute__(param)
              )
              ** 2
          )
  
      return residual
  
file_path: adversarial-robustness-toolbox/art/attacks/inference/reconstruction/white_box.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple
  import numpy
  import sklearn
  from scipy.optimize import fmin_l_bfgs_b
  from art.attacks.attack import ReconstructionAttack
  from art.estimators.estimator import BaseEstimator
  from art.estimators.classification.classifier import ClassifierMixin
  from art.estimators.classification.scikitlearn import ScikitlearnEstimator
label_desc: Use image node_id 2 for calling the DatabaseReconstruction obj's underlying member method code with example usage: obj.objective(x, y, x_train, y_train, private_estimator, parent_model, params) and returns: residual