728x90

ml 8

[문서 제목 자동 분류 작업 | Classification] 3. 최종 실행 | 인턴

2024.01.29 - [😒 저 저 저 개념없는 나/⛓️ DL & ML] - [문서 제목 자동 분류 작업 | Classification] 2. 모델 별 실행 결과 | 인턴 [문서 제목 자동 분류 작업 | Classification] 2. 모델 별 실행 결과 | 인턴 0. Data train : 80% test : 20% 1. K-NN neighbor == 3 import pandas as pd from konlpy.tag import Kkma import string from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split from sklearn.neighbor..

[문서 제목 자동 분류 작업 | Classification] 2. 모델 별 실행 결과 | 인턴

0. Data train : 80% test : 20% 1. K-NN neighbor == 3 import pandas as pd from konlpy.tag import Kkma import string from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score, confusion_matrix csv_file_path = '../../data/spv/spv_data.csv' try: df = pd..

[문서 제목 자동 분류 작업 | Classification] 1. 데이터 생성 및 최적 모델 탐지 | 인턴

이전에 클러스터링으로 진행했던 결과와 비교하기 위해서 이번에는 지도학습으로 동일하게 문서 분류를 진행하고자 한다. 기존 데이터셋에 CATEGORY라는 colunm을 추가하여 지도학습에 사용할 데이터를 생성한다. 팀장님께서 요구하셨던 것이 사내 문서 제목으로만 분류를 하는 것 이였기에 순전히 문서 제목에서 키워드를 탐지하여땨. 1. 데이터 생성 세 개의 Class로 분류하는데 0 == 교육 : 문서 제목에 교육등의 단어가 포함된 문서들 1 == 시험 : 문서 제목에 시험 등의 단어가 포함된 문서들 2 == 자료 : 그 외의 모든 문서들 로 CATEGORY colunm의 값을 POWER ☆NOGADA☆로 지정하였.땨 2. 최적 모델 탐지 좋은 라이브러리를 하나 소개하고자 한다. 사용하는 Dataset을 기준..

[문서 제목 자동 분류 작업 | Clustering] 5. 한국어 Text Clustering Word2Vec K-means | 인턴

주요 라이브러리 KoNLPy의 KKma 사용 gensim의 Word2Vec 사용 Sklearn의 K-Means 알고리즘 사용 pip install konlpy pip install gensim pip install scikit-learn 진행 순서 데이터 수집 형태소 분석 : 포스태깅 -> KoNLPy의 kkm 사용 -> morphs 사용 gensim의 Word2Vec을 사용하여 벡터화 진행 클러스터링 진행 Word2Vec 단어를 N차원의 벡터로 만들어준다 텍스트만 tokenizing 해서 넣어주면 알고리즘을 통해 토큰 간의 상관관계를 찾아내고, 서로 유사한 공간에 배치하도록 만들어진다. 구현 코드 데이터 호출 및 전처리 import pandas as pd from sklearn.cluster impor..

[문서 제목 자동 분류 작업 | Clustering] 3. K-Means 알고리즘 학습 적용 군집화 | 인턴

코드 tr_vector_eng = tfidf_vect_eng.fit_transform(df['CONTENT_TITLE']) # 원하는 컬럼을 가져와 fir_transform() 메소드를 통해 TF-IDF 모델을 학습하고 변환하며 # 그에 해당하는 행렬을 생성한다. kmeans_eng = KMeans(n_clusters=3,max_iter=10000,random_state=42) cluster_label_eng = kmeans_eng.fit_predict(ftr_vector_eng) df['cluster_eng'] = cluster_label_eng print(df.sort_values(by=['cluster_eng'])) 3개의 군집으로 군집화 진행 결과 Class 0 : 11906 / 15614 Cla..

[문서 제목 자동 분류 작업 | Clustering] 2. NLTK를 사용한 문서 제목 토큰화 및 어근 추출 | 인턴

# 데이터 프레임의 head 확인 CONTENT_CODE LAST_MODIFIED_DATE ... CONTENT_SECURITY_LEV DEPARTMENT_NM 0 C0000000............ 1.9......+13 ... .. OE개발기획팀 1 C0000000............ 1.9......+13 ... .. OE개발기획팀 2 C0000000............ 1.9......+13 ... .. OE개발기획팀 3 C0000000............ 2.0......+13 ... .. OE개발기획팀 4 C0000000............ 2.0......+13 ... .. R&D양산개발팀 [5 rows x 7 columns] 혹시모를 정보 유출 방지를 위해 수치적인 것 들은 일부 ..

[문서 제목 자동 분류 작업 | Clustering] 1. CSV 파일 읽어오기 | 인턴

+) 분류에 사용하는 데이터는 sql 쿼리문으로 출력되어 csv 형태로 저장되어있는 파일을 불러와 사용한다. 코드 import pandas as pd csv_file_path = '../sql_result.csv' # 'utf-8'로 읽어보기 try: df = pd.read_csv(csv_file_path, encoding='utf-8') print('성공적으로 읽었습니다.') except UnicodeDecodeError: print('utf-8으로 디코딩하는 중 오류 발생. 다른 인코딩 시도 필요.') print(df) utf-8로 읽어오지 않으면 글자가 깨지기 때문에 예외처리를 해주었다. 결과 성공적으로 읽었습니다. CONTENT_CODE ... DEPARTMENT_NM 0 C000000000000..

[Clustering | Classification] K-NN VS K-Means | 인턴

K-NN K-Means 공통점 K개의 점을 지정하여 거리를 기반으로 구현되는 거리 기반 분석 알고리즘 차이점 지도학습 비지도 학습 목적 : Classification 목적 : Clustering 이미지 출처 : https://opentutorials.org/course/4548/28942 회귀 VS 분류 - 생활코딩 지도학습은 크게 ‘회귀’와 ‘분류’로 나뉩니다. 회귀는 영어로 Regression이고, 분류는 Classification입니다. 와!! 말이 정말 어렵죠. 걱정 마세요. 알고 보면 하나도 안 어렵습니다. 그전에 아래 그 opentutorials.org

728x90