machine Learning을 웹에 적용시키기
2018. 4. 22. 16:29ㆍPython-이론/python-인공지능
machine Learning 한 것을 웹에서 사용하기
from sklearn import svm from sklearn.exeternal import joblib import json with open('파일 결과','r',encoding = 'utf-8') as fp: data = json.load(fp)[0] clf = svm.SVC() clf.fit(data['freqs'],data['labels']) joblib.dump(clf,'./lang/freq.pkl')
웹에서 사용할 파일을 만들어 줬습니다.
웹에서 이용할 코드
from sklearn.externals import joblib import cgi, os.path #위코드로 만든 파일 loc = './cgi-bin/freq.pkl' clf = joblib.load(loc) def showhtml(text,msg=""): print('Content-Type:text/html; charset=euc_kr') print("") print("""""".format(cgi.escape(text),msg)) def distinct(text): text = text.lower() orda,ordz = (ord('a'),ord('z')) lang = [0 for n in range(26)] for ch in text: ordch = ord(ch) if orda <= ordch <= ordz: lang[ordch-orda] += 1 total = sum(lang) if total == 0: return "no value" freq = list(map(lambda a :a/total,lang)) pre = clf.predict([freq]) #항상 2차원 배열이어야 한다. lang = {'en':'english','fr':'french','id':'india','tl':'tagalog'} #프랑스어는 코덱???문제 return lang[pre[0]] msg = "" form = cgi.FieldStorage() text = form.getvalue("text",default = "") if text != "": resultData = distinct(text) msg = 'result '+resultData showhtml(text,msg)language distiction
저는 우선 실행시키기 위해서 cmd 창에가서 이러한 구조로 폴더를 만듭니다. 후에 root 창으로 이동 후 명령어 python -m http.server --cgi 3000 실행 시킨 후 http://localhost:3000/cgi-bin/lang-webapp2.py 접속하면 성공한 것을 알 수 있다.
결과물
'Python-이론 > python-인공지능' 카테고리의 다른 글
randomForest 사용해보기 (0) | 2018.04.25 |
---|---|
machineLearning의 svm이 무엇이고 직접 그래프로 구분짓기 (0) | 2018.04.22 |
machine Learning결과로 그래프 만들기 (0) | 2018.04.22 |
machineLearning을 통해 무슨나라 언어인지 맞추기 (0) | 2018.04.22 |
machineLearning을 통해 이미지에 있는 글씨 확인하기 (0) | 2018.04.18 |