-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUnsupervisedL.py
More file actions
27 lines (21 loc) · 1000 Bytes
/
UnsupervisedL.py
File metadata and controls
27 lines (21 loc) · 1000 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pandas as pd
import numpy as np
import json
from pickle5 import pickle
from flask import request, Flask,jsonify
from stringmatchmodel import cosinesim, fitmdl
app =Flask(__name__)
@app.route('/train/format/learn', methods=['POST'])
def unsupervisedLearning():
importData = request.get_json()
trainData = pd.DataFrame(importData['mappings'])
trainData['confidence'] = [cosinesim(x, y) for x, y in
zip(trainData['sourceField'], trainData['targetField'])]
clf = fitmdl(trainData['sourceField'], trainData['targetField'])
pickle.dump(clf, open('text_learning.pickle', 'wb'))
return json.dumps({"sourceformatName": importData['source'].get('formatName'),
"targetformatName": importData['target'].get('formatName'),
"overallConfidence": np.mean(trainData['confidence']),
"Message": "Learned the mappings"})
if __name__ == '__main__':
app.run(debug=True, port=5001)