machineLearning을 통해 무슨나라 언어인지 맞추기
2018. 4. 22. 01:05ㆍPython-이론/python-인공지능
머신러닝을 이용해서 언어 판별하기
각 나라의 언어 마다 알파벳이 쓰이는 특징들이 있습니다. 이특징들을 머신러닝을 통해 구분해서 훈련시켜보겠습니다.
from sklearn import svm, metrics import json, os.path, glob, re #파일 읽어와서 확인하는 def checkLang(filename): base = os.path.basename(filename) label = re.match('^[a-z]{2,}',base).group() with open(filename ,'r',encoding= 'utf-8') as fp: text = fp.read() text = text.lower() lang_dict = [0 for n in range(0,26)] ord_a = ord('a') ord_z = ord('z') for f in text: ch = ord(f) if ord_a <= ch <= ord_z: lang_dict[ch-ord_a] += 1 total = sum(lang_dict) return (list(map(lambda n : n/total,lang_dict)),label) def load_file(filename): label = [] data = [] #전체 파일 리스트 fileList = glob.glob(filename) for f in fileList: fileData = checkLang(f) label.append(fileData[1]) data .append(fileData[0]) return (data,label) study_data = load_file('./lang/train/*.txt') test_data = load_file('./lang/test/*.txt') clf = svm.SVC() clf.fit(study_data[0],study_data[1]) pre = clf.predict(test_data[0]) score = metrics.accuracy_score(pre,test_data[1]) report = metrics.classification_report(pre,test_data[1]) print(score) print(report)
'Python-이론 > python-인공지능' 카테고리의 다른 글
randomForest 사용해보기 (0) | 2018.04.25 |
---|---|
machineLearning의 svm이 무엇이고 직접 그래프로 구분짓기 (0) | 2018.04.22 |
machine Learning을 웹에 적용시키기 (0) | 2018.04.22 |
machine Learning결과로 그래프 만들기 (0) | 2018.04.22 |
machineLearning을 통해 이미지에 있는 글씨 확인하기 (0) | 2018.04.18 |