def exc(): # 5. Test tmp = store.loadTermData() termList = {'X': [i[0] for i in tmp], 'y': [int(i[1]) for i in tmp]} print('=======================================================') print('=> Term Classifying...') if (file_model): clf = store.loadClassifier(file=file_model) else: clf = store.loadClassifier() results = [] for i in range(len(termList['X'])): preprocessd_term = preprocess(termList['X'][i]) X = np.asarray([extractFeatureText(termList['X'][i], getFeatureNames())]) y_hat = clf.predict(X)[0].tolist()[0] results.append(clf.predict(X)[0].tolist() + clf.predict_proba(X)[0].tolist() + [1 if (y_hat != termList['y'][i]) else 0, preprocessd_term] + X[0].tolist()) titles = ['TestCase', 'Term', 'Label', 'Predicted Label', 'Name Score', 'Address Score', 'Phone Score', 'Error', 'Preprocessed_Term'] + \ getFeatureNames() tacc = sum([1 for (y1, y2) in zip(termList['y'], [result[0] for result in results]) if (y1 == y2)]) / len(termList['y']) if (file_model): store.saveTermTestResults(tacc, titles, termList, results, file=file_model + '_' + file_term_classify_result) else: store.saveTermTestResults(tacc, titles, termList, results, file=timeManage.getTime() + '_' + file_term_classify_result) return tacc
def exc(): # 5. Test tmp = store.loadTermData() termList = {'X': [i[0] for i in tmp], 'y': [int(i[1]) for i in tmp]} print('=======================================================') print('=> Term Classifying...') if (file_model): clf = store.loadClassifier(file=file_model) else: clf = store.loadClassifier() results = [] for i in range(len(termList['X'])): preprocessd_term = preprocess(termList['X'][i]) X = np.asarray([extractFeatureText(termList['X'][i])]) results.append(clf.predict(X)[0].tolist() + clf.predict_proba(X)[0].tolist() + ['', preprocessd_term] + X[0].tolist()) titles = ['TestCase', 'Term', 'Label', 'Predicted Label', 'Name Score', 'Address Score', 'Phone Score', '', 'Preprocessed_Term'] + \ feature_names tacc = sum([1 for (y1, y2) in zip(termList['y'], [result[0] for result in results]) if (y1 == y2)]) / len(termList['y']) if (file_model): store.saveTermTestResults(tacc, titles, termList, results, file=file_model + '_' + file_term_classify_result) else: store.saveTermTestResults(tacc, titles, termList, results, file=timeManage.getTime() + '_' + file_term_classify_result) return tacc
def test(feature_func, preprocessing_func): # 4. Test termList = store.loadTermData() print('=======================================================') print('=> Term Classifying...') # _time, templateList = sg.parseAddress(termList, feature_func, preprocessing_func) clf = store.loadClassifier() results = [] for i in range(len(termList['X'])): preprocessd_term = eval('preprocessing(termList[\'X\'][i])') X = np.asarray([ extractFeatureText(feature_func, preprocessing_func, termList['X'][i]) ]) results.append( clf.predict(X)[0].tolist() + clf.predict_proba(X)[0].tolist() + ['', preprocessd_term] + X[0].tolist()) titles = ['TestCase', 'Term', 'Label', 'Predicted Label', 'Name Score', 'Address Score', 'Phone Score', '', 'Preprocessed_Term'] + \ feature_names store.saveTermTestResults(titles, termList, results)
def parseAddress(textList, file_model=None): if (file_model): clf_model = store.loadClassifier(file=file_model) else: clf_model = store.loadClassifier() _time = [] templateList = [] print('=======================================================') print('=> Address Parsing...') for (i, text) in zip(range(len(textList)), textList): print('==> Parsing text ' + str(i) + '...') millis_S = int(round(time.time() * 1000)) ptemplates = templateSegment(text, nterm) templates = templateFiler(clf_model, ptemplates) millis_E = int(round(time.time() * 1000)) _time.append((millis_E - millis_S)/1000) templateList.append(templates) return (_time, templateList)
def parseAddress(textList, file_model=None): if (file_model): clf_model = store.loadClassifier(file=file_model) else: clf_model = store.loadClassifier() _time = [] templateList = [] print('=======================================================') print('=> Address Parsing...') for (i, text) in zip(range(len(textList)), textList): print('==> Parsing text ' + str(i) + '...') millis_S = int(round(time.time() * 1000)) ptemplates = templateSegment(text, nterm) templates = templateFiler(clf_model, ptemplates) millis_E = int(round(time.time() * 1000)) _time.append((millis_E - millis_S) / 1000) templateList.append(templates) return (_time, templateList)