Esempio n. 1
0
def sklearn_predict_for_handler(handler):
    try:
        if handler.request.body:
            data = json.loads(handler.request.body)
            object_id = data.get('objectID', None)
            if object_id == None:
                raise Exception("please input handlerID")
            X_data_id = data.get('XDataID', None)
            if X_data_id == None:
                raise Exception("please input X_data_id")
            x_data_obj = DataStorage.get_data_obj_by_data_id(X_data_id)

            ml_obj, clf = MlObject.get_MlObject_by_obj(object_id)
            predict_y = clf.predict(x_data_obj.pandas_data.values)
            predict_y = pd.DataFrame(predict_y, columns=['predict'])
            MlObject.save_MlObject_by_obj_id(clf, object_id)
            data_obj_predict_y = DataStorage.create_data_obj_by_pandas_data(
                predict_y)
            if data_obj_predict_y:
                result = {}
                result['dataID'] = data_obj_predict_y.data_id
                result['columnNames'] = data_obj_predict_y.column_names
                handler.write(json.dumps(result))
        else:
            raise Exception("please input arguments")
        return
    except Exception as e:
        handler.write(str(e))
Esempio n. 2
0
def sklearn_fit_for_handler(handler, fit_arg_array):
    try:
        if handler.request.body:
            data = json.loads(handler.request.body)
            object_id = data.get('objectID', None)
            if object_id == None:
                raise Exception("please input handlerID")
            X_data_id = data.get('XDataID', None)
            if X_data_id == None:
                raise Exception("please input XDataID")
            y_data_id = data.get('yDataID', None)
            if y_data_id == None:
                raise Exception("please input yDataID")
            x_data_obj = DataStorage.get_data_obj_by_data_id(X_data_id)
            y_data_obj = DataStorage.get_data_obj_by_data_id(y_data_id)

            ml_obj, clf = MlObject.get_MlObject_by_obj(object_id)
            sklearn = data.get('sklearn', None)
            print(y_data_obj.pandas_data)
            if sklearn:
                sklearn_arg = regqeust_arg_to_sklearn_arg(
                    sklearn, fit_arg_array)
                clf.fit(x_data_obj.pandas_data.values,
                        y_data_obj.pandas_data.values, **sklearn_arg)
            else:
                clf.fit(x_data_obj.pandas_data.values,
                        y_data_obj.pandas_data.values)
            MlObject.save_MlObject_by_obj_id(clf, object_id)
        else:
            raise Exception("please input arguments")
        return
    except Exception as e:
        handler.write(str(e))
Esempio n. 3
0
    def get(self):
        try:
            object_id = self.get_argument('objectID', None)
            if object_id == None:
                raise Exception("please input objectID")
            ml_obj, clf = MlObject.get_MlObject_by_obj(object_id)

            sklearn_arg = self.get_argument('sklearn', None)
            print(sklearn_arg)
            if not sklearn_arg:
                raise Exception("please input sklearn arg")
            sklearn_arg = sklearn_arg.split(",")
            result = {}
            if 'coef_' in sklearn_arg:
                result['coef_'] = clf.coef_.tolist()
            if 'intercept_' in sklearn_arg:
                result['intercept_'] = clf.intercept_.tolist()
            if 'sparse_coef_' in sklearn_arg:
                result['sparse_coef_'] = clf.intercept_.tolist()
            if 'n_iter_' in sklearn_arg:
                result['n_iter_'] = clf.n_iter_.tolist()
            if not result:
                raise Exception("please input valid sklearn arg")
            self.write(json.dumps(result))
            return
        except Exception as e:
            self.write(str(e))
Esempio n. 4
0
 def put(self):
     try:
         if self.request.body:
             data = json.loads(self.request.body)
             object_id = data.get('objectID', None)  
             if object_id == None:
                 raise Exception("please input handlerID")  
             sklearn_arg = data.get('sklearn', None)  
             if not sklearn_arg:
                 raise Exception("please input sklearn arg")
             ml_obj, clf = MlObject.get_MlObject_by_obj(object_id)
             set_parameter_from_sklearn_object(clf, ['alpha', 'fit_intercept', 'normalize', 'copy_X', 'max_iter', 'tol', 'solver', 'random_state'], sklearn_arg) 
             MlObject.save_MlObject_by_obj_id(clf, object_id)
         else:
             raise Exception("please input arguments")
         return
     except Exception as e:
         self.write(str(e))
Esempio n. 5
0
 def post(self):
     try:
         if self.request.body:
             json_data = json.loads(self.request.body)
             Ridge_argstr = ['alpha','fit_intercept', 'normalize', 'copy_X', 'max_iter', 'tol', 'solver', 'random_state']
             sklearn_arg = regqeust_arg_to_sklearn_arg(json_data['sklearn'], Ridge_argstr)
             ridgeHander = Ridge(**sklearn_arg)
         else:
             ridgeHander = Ridge()
         mlobj = MlObject.create_MlObject_by_obj(ridgeHander)
         result = {}
         result['objectID'] = mlobj.object_id
         self.write(json.dumps(result))
     except Exception as e:
         self.write(str(e))
Esempio n. 6
0
    def get(self):
        try:
            object_id = self.get_argument('objectID', None)
            if object_id == None:
                raise Exception("please input objectID")
            ml_obj, clf = MlObject.get_MlObject_by_obj(object_id)

            sklearn_arg = self.get_argument('sklearn', None)  
            if not sklearn_arg:
                raise Exception("please input sklearn arg")
            sklearn_arg = sklearn_arg.split(",")
            result = get_parameter_from_sklearn_object(clf, ['alpha', 'fit_intercept', 'normalize', 'copy_X', 'max_iter', 'tol', 'solver', 'random_state'], sklearn_arg) 
            self.write(json.dumps(result))
            return
        except Exception as e:
            self.write(str(e))