in bindings/jupyter/mlvis/widget_ext/Manifold.py [0:0]
def validate_data(self, data, give_exception=False):
if not isinstance(data, dict):
return False if not give_exception else (False, Exception('Data must in dict.'))
for key in ['x', 'yPred', 'yTrue']:
if key not in data:
return False if not give_exception else (False, Exception('Missing data attribute ' + key + '.'))
for key in data:
if key not in ['x', 'yPred', 'yTrue']:
return False if not give_exception else (False, UserWarning('Unrecognized data attribute ' + key + '.'))
for key in ['x', 'yTrue']:
if not isinstance(data[key], list) and not isinstance(data[key], np.ndarray) and not isinstance(data[key], pd.DataFrame):
return False if not give_exception else (False, Exception(key + ' must be a list/ndarray/dataframe.'))
if not isinstance(data['yPred'], list) and not isinstance(data['yPred'], np.ndarray):
return False if not give_exception else (False, Exception('yPred must be a list/ndarray.'))
for key in ['x', 'yPred', 'yTrue']:
if len(data[key]) == 0:
return False if not give_exception else (False, Exception(key + ' can not be empty.'))
for l in data['yPred']:
if not (isinstance(l, list) or isinstance(l, pd.DataFrame)):
return False if not give_exception else (False, Exception('Every item in yPred must be list/DataFrame.'))
return True if not give_exception else (True, None)