def get_diagnoses_by_sapi(): try: headers = request.args sapi_id = headers['sapi'] responses = response() diagnoses = mongo.db.diagnoses.aggregate([{ '$match': { 'sapiId': ObjectId(sapi_id) } }, { '$group': { '_id': '$diagnose', 'total': { '$sum': 1 } } }]) output = [] for s in diagnoses: output.append({'diagnose': s['_id'], 'total': s['total']}) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_gejala_by_sapi(): try: headers = request.args sapi_id = headers['sapi'] responses = response() diagnoses = mongo.db.diagnoses.aggregate([{ '$match': { 'sapiId': ObjectId(sapi_id) } }, { '$unwind': { 'path': '$gejala' } }, { '$group': { '_id': '$gejala.namaAttributes', 'total': { '$sum': { '$multiply': ['$gejala.nilai'] } } } }]) output = [] for s in diagnoses: output.append({'gejala': s['_id'], 'total': s['total']}) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def upload_file(): try: file = request.files['file'] if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) data = pd.read_csv("././static/datacobacoba.csv", header=None) # GET HEADER colls_name = get_header(data) # GET ATTRIBUTE feature_cols = save_features(colls_name) # PRE PROCESSING data_training = pre_processing(data, colls_name) # TRAINING model = training(data_training, feature_cols) # SAVE MODEL` save_model(model) # create_tree(data_training,feature_cols,model) responses = response() responses.setStatus(True) responses.setMessage("Succesfully save model") return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_all_gejala_limit(): try: responses = response() diagnoses = mongo.db.diagnoses.aggregate([{ '$unwind': { 'path': '$gejala' } }, { '$group': { '_id': '$gejala.namaAttributes', 'total': { '$sum': { '$multiply': ['$gejala.nilai'] } } } }, { '$sort': { 'total': -1 } }, { '$limit': 5 }]) output = [] for s in diagnoses: output.append({'gejala': s['_id'], 'total': s['total']}) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_gejala_by_sapi_in_time_limit(): try: headers = request.args sapi_id = headers['sapi'] start = headers['start'] end = headers['end'] start_arr = start.split("-") end_arr = end.split("-") start_year = int(start_arr[0]) start_month = int(start_arr[1]) start_day = int(start_arr[2]) end_year = int(end_arr[0]) end_month = int(end_arr[1]) end_day = int(end_arr[2]) responses = response() diagnoses = mongo.db.diagnoses.aggregate([{ '$match': { '$and': [{ 'sapiId': ObjectId(sapi_id) }, { 'tanggal': { '$gte': datetime(start_year, start_month, start_day, 0, 0, 0), '$lte': datetime(end_year, end_month, end_day, 0, 0, 0) } }] } }, { '$unwind': { 'path': '$gejala' } }, { '$group': { '_id': '$gejala.namaAttributes', 'total': { '$sum': { '$multiply': ['$gejala.nilai'] } } } }, { '$sort': { 'total': -1 } }, { '$limit': 5 }]) output = [] for s in diagnoses: output.append({'gejala': s['_id'], 'total': s['total']}) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def add_solution(): try: d = request.get_json() mongo.db.solutions.insert_one(d) responses = response() responses.setStatus(True) responses.setData(d) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def testing_data(): try: model_testing = {} model_for_saving = {} attributes = get_features() labels = get_label() d = request.get_json() headers = request.args sapi_id = headers['sapi'] for i in range(len(attributes)): model_testing.update({attributes[i]: [d.get(attributes[i])]}) model_for_saving.update({attributes[i]: d.get(attributes[i])}) Z_test = pd.DataFrame(data=model_testing) with open("pickle_model.pkl", 'rb') as file: pickle_model = pickle.load(file) result = pickle_model.predict(Z_test) responses = response() responses.setStatus(True) # responses.setData(labels[result[0]]) # Save attributes2 = [] for i in model_for_saving: attributes2.append({ "namaAttributes": i, "nilai": model_for_saving[i] }) res = labels[result[0]] solu = get_solutions(int(result[0])) diagnose_insert = { "sapiId": ObjectId(sapi_id), "diagnose": res, "gejala": attributes2, "tanggal": datetime.now(), "treatment": solu[0]["treatment"], "prevention": solu[0]["prevention"] } mongo.db.diagnoses.insert_one(diagnose_insert) responses.setData(diagnose_insert) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_all_diseases(): try: responses = response() label = mongo.db.labels output = [] for s in label.find(): output.append({ 'namaLabel': s['namaLabel'], 'labelIdentity': s['labelIdentity'] }) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_all_attributes(): try: responses = response() attribut = mongo.db.attributes output = [] for s in attribut.find(): output.append({ 'namaAttribute': s['namaAttribute'], 'attributeIdentitiy': s['attributeIdentitiy'] }) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_all_solutions(): try: responses = response() attribut = mongo.db.solutions output = [] for s in attribut.find(): output.append({ 'labelIdentity': s['labelIdentity'], 'treatment': s['treatment'], 'prevention': s['prevention'] }) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_all_diagnoses(): try: responses = response() diagnoses = mongo.db.diagnoses.aggregate([{ '$group': { '_id': '$diagnose', 'total': { '$sum': 1 } } }]) output = [] for s in diagnoses: output.append({'diagnose': s['_id'], 'total': s['total']}) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())
def get_all_diagnoses_in_time(): try: responses = response() headers = request.args start = headers['start'] end = headers['end'] start_arr = start.split("-") end_arr = end.split("-") start_year = int(start_arr[0]) start_month = int(start_arr[1]) start_day = int(start_arr[2]) end_year = int(end_arr[0]) end_month = int(end_arr[1]) end_day = int(end_arr[2]) diagnoses = mongo.db.diagnoses.aggregate([{ '$match': { 'tanggal': { '$gte': datetime(start_year, start_month, start_day, 0, 0, 0), '$lte': datetime(end_year, end_month, end_day, 0, 0, 0) } } }, { '$group': { '_id': '$diagnose', 'total': { '$sum': 1 } } }]) output = [] for s in diagnoses: output.append({'diagnose': s['_id'], 'total': s['total']}) responses.setData(output) return jsonify(responses.getResponse()) except: responses = response() responses.setStatus(False) responses.setMessage("Something wrong :(") return jsonify(responses.getResponse())