본문 바로가기

전체 글239

[딥러닝 - 교육 외] LSTM 이란 LSTM (Long Short Term Memory)기존의 RNN에서 출력과 멀리 있는 정보를 기억할 수 없다는 단점을 보완따라서 직전 데이터 뿐만 아니라, 좀 더 거시적으로 과거 데이터를 고려하여 미래 데이터를 예측하기 위해 나온 모델이다. 장/단기 기억을 가능하게 설계한 신경망의 구조 (주로 시계열 처리나 자연어 처리에 사용) LSTM 구조 (cell) state 값 = lstm 담당 파트lstm 은 이 cell state 를 보호하고 컨트롤 하기 위해 input/forget/output gate 를 통해 값이 효과적으로 흐를 수 있게 함 단계별 과정- forget gate말 그대로 과거 정보를 잊기 위한 게이트 이다.이전 output 과 현재 input을 입력받아 시그모이드를 취한 후 그 값을 과거.. 2024. 8. 1.
[딥러닝 - 교육 외] RNN 이란 * 해당 내용은 교육에서 사용되는 블로그와 검색엔진 참고 하며 만들어놓았기 때문에 미흡한 점이 많을 수 있음,, 순환 신경망 RNN : Recurrent Neural Network    Recurrent이전 어떠한 정보가 다음 입력을 처리할 때 추가적으로 사용되는 것을 의미하며 일종의 메모리 역할.메모리란 현재까지 입력 데이터를 요약한 정보이며, 최종적으로 남겨진 메모리는 모든 입력 전체를 요약한 정보를 말한다.음성, 동영상, 주식시세와 같은 시간의 흐름이 있는 시퀀스(Sequence) 데이터를 다루는 신경망을 가리킴- 언어 변환, 자연어 처리(nlp), 음성 인식, 이미지 캡션과 같은 순서 문제나 시간 문제에 흔히 사용됨. 그리고 Siri, 음성 검색, Google 번역과 같이 널리 쓰이는 애플리케이션.. 2024. 8. 1.
[텍스트 마이닝] 한글 텍스트 분석 - 한글 영화 감성분석 필요한 패키지는 구글에... 다시 쳐봐야 할 것 같다..Mecab 테스트import MeCabm = MeCab.Tagger()m.parse('안녕하세요. 테스트 입니다.')'안녕\tNNG,행위,T,안녕,*,*,*,*\n하\tXSV,*,F,하,*,*,*,*\n세요\tEP+EF,*,F,세요,Inflect,EP,EF,시/EP/*+어요/EF/*\n.\tSF,*,*,*,*,*,*,*\n테스트\tNNG,행위,F,테스트,*,*,*,*\n입니다\tVCP+EF,*,F,입니다,Inflect,VCP,EF,이/VCP/*+ᄇ니다/EF/*\n.\tSF,*,*,*,*,*,*,*\nEOS\n' konlpy Mecab 테스트konlpy는 한국어 자연어 처리를 위한 파이썬 라이브러리 중 하나로, 다양한 한국어 형태소 분석기를 제공한다... 2024. 8. 1.
[텍스트 마이닝] 문서 군집화 파일의 내용을 참고하여 해당 테마 군집화 해보기import pandas as pdimport glob, osimport warningswarnings.filterwarnings('ignore')pd.set_option('display.max_colwidth', 700)path = r'.\topics'all_files = glob.glob(os.path.join(path,'*.data')) #해당경로에 있는 파일을 다 가져와 목록을 만듦filename_list = []opinion_text = []for file in all_files: df = pd.read_table(file, encoding= 'latin1') # 파일이나 url로 읽어오는 # encoding= 'latin1' 영문자.. 2024. 8. 1.
[텍스트 마이닝] 감정 분석 - [실습] IMDB 영화평 분석 * IMDB 영화평 데이터 : 정답을 가지고 있는데이터지도학습 기반 감성분석데이터 로딩 및 확인import pandas as pdreview_df = pd.read_csv('./labeledTrainData.tsv',header= 0, sep='\t')print(review_df.shape)%alias_magicreview_df.head()(25000, 3) review_df['review'][0]"With all this stuff going down at the moment with MJ i've started listening to his music, watching the odd documentary here and there, watched The Wiz and watched Moonwalker.. 2024. 8. 1.
[텍스트 마이닝] 텍스트 분석 -2 [실습] 20 뉴스 그룹 분류 텍스트 데이터 확인from sklearn.datasets import fetch_20newsgroupsimport numpy as npnews_data = fetch_20newsgroups(subset='all', random_state= 100) # subset='all' 훈련데이터와 평가데이터 모두print(np.unique(news_data.target))# 20개의 카테고리에 해당하는[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]print(type(news_data))print(np.array(news_data.data).shape)(18846,) import pandas as pdprint('target 클래스')print(dict(.. 2024. 8. 1.
[텍스트 마이닝] 텍스트 분석 -1 (전처리 작업) 토큰화패키지 다운!pip install nltk# nltk site: https://www.nltk.org NLTK :: Natural Language ToolkitNatural Language Toolkit NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing librarieswww.nltk.orgfrom nltk import sent_tokenizeimport nl.. 2024. 8. 1.
[머신러닝] 추천 시스템 알고리즘 - 잠재요인 협업 필터링 경사하강법을 이용한 행렬 분해SVD(Singular Value Decomposition)는 NaN 값이 없는 행렬에만 적용할 수 있다. R 행렬(사용자-영화 평점 행렬)은 평점되지 않은 많은 NaN 값이 있기 때문에 P(사용자-잠재요인 행렬)와 Q(잠재요인-아이템 행렬) 행렬을 일반적인 SVD 방식으로 분해할 수 없다. 행렬 분해 로직 함수R(m x n) = P(m x K) * Q.T(K x n) [ m: user 수, n: 아이템 수, K: 잠재요인 수 ] R : 사용자-영화 평점 행렬 P : 사용자-잠재요인 행렬 (초기 값은 랜덤 값으로) Q : 잠재요인-아이템 행렬 (초기 값은 랜덤 값으로)행렬 분해 함수 매개변수R: 사용자 - 아이템 평점 행렬 (실제 평점 값을 갖는 행렬) K: 잠재요인 차원 수.. 2024. 8. 1.
[머신러닝] 추천 시스템 알고리즘 - 아이템 기반 최근접 이웃 필터링 데이터 셋 다운로드사용자-영화 평점 행렬 데이터 필요 Grouplens 사이트에서 만든 MoviesLens 데이터 셋 사용 (축소 버전 사용) https://grouplens.org/datasetsmovielens/latestimport numpy as npimport pandas as pdmovies = pd.read_csv('./dataset/movies.csv')ratings = pd.read_csv('./dataset/ratings.csv')print(movies.shape)print(ratings.shape)(9742, 3)(100836, 4) movies.head() ratings.head() 영화 평점에 참여한 전체 인원수 확인ratings['userId'].unique().size # 전체.. 2024. 8. 1.