본문 바로가기

728x90
반응형

배우기

(265)
[복습] Python | 분석 | 감성분석(LSTM) - 쇼핑몰 후기 감성분석 - 하루끝(20240404) 데이터 로딩 및 전처리, 데이터 분리는 아래 게시글과 동일하므로 모델링부터 진행하도록 하겠다. https://metime.tistory.com/397 1. 데이터 로딩 https://metime.tistory.com/397 2. 전처리(형태소 분석) 1) 불용어 사전 2) 토큰화, 일반화 3) 벡터화 4) 패딩 https://metime.tistory.com/397 3. 데이터 분리 https://metime.tistory.com/397 4. 모델링 임베딩 차원 및 hidden unit 수 결정(경험적 결정) 모델 생성 모델 compile 정지 규칙 생성 학습 학습 결과 확인 6. 평가 7. 적용
[복습] Python | 분석 | 감성분석(전처리 및 RNN) - 쇼핑몰 후기 감성분석 1. 데이터 불러오기 Y 가공(긍정: 1, 부정: 0) 학습 데이터 선택 2. 전처리 1) 불용어 및 조사 사전 생성 2) 추가 불용어 처리 - 빈도수가 1인 단어 목록 불용어 사전 추가 3) 토큰화 + 일반화 3. RNN 전처리(RNN에 필요한 형태로 전처리) STEP 1) 정수 인코딩(벡터화) - 지난 나이브 베이즈 게시글에서는 countvectorizer 사용 1) 단어별 매핑 정보 생성 2) 정수 변환 3) 패딩(padding) - 길이가 다른 학습 데이터의 길이를 맞추어 주는 작업(zero - padding: 부족한 자리를 0으로 채움) DTM을 만들어야 하는데, 지난 게시물에서의 countvectorizer는 DTM을 단어별로, 가나다 순으로 나열하여 가방이 0, 신발이 1, 학교가 13 등 ..
[복습] Python | 분석 | 감성분석(전처리 및 나이브 베이즈) - 영화 후기 감성분석 - 하루끝(20240403) 영화 후기 감성 분석(전처리) 1. 데이터 로딩 및 품질 관리 결측치 제거 최종 학습 데이터 선택 2. 전처리 1) 불용어 사전 생성 2) 추가 불용어 처리 - 빈도수가 1인 단어 목록 불용어 사전 추가 - 기존 불용어 사전에 추가(이전 게시물 쇼핑몰 후기 감성분석 때 사용한 불용어와 결합) 수업시간에는 stops = stops + movie_stops 로 끝냈는데, 오류가 갑자기 발생해서 위와같이 고쳤다. 3) 토큰화 및 불용어 제거 4) 문장 결합 3. 데이터 분리 4. CountVectorizer 적용 CountVectorizer DTM 5. TF-IDF 변환 여기까지 전처리 끝 영화 후기 감성 분석(모델링 - 나이브 베이즈 모델) 1. 모델링 및 평가 2. 예측 실패 데이터 확인 3. 적용
[복습] Python | 분석 | 감성분석(나이브 베이즈) - 쇼핑몰 후기 감성분석 쇼핑몰 후기 감성 분석(나이브 베이즈) 1. 데이터 로딩 Y 가공(긍정: 1, 부정:0) 평점에서 이미 3이 제거된 상태로, 전처리가 되어있다. 부정은 0, 긍정은 1로 변환하였다. 2. 학습 데이터 선택 3. 전처리 1) 불용어 및 조사 사전 생성 2) 추가 불용어 처리 - 빈도수가 1인 단어 목록 불용어 사전 추가 3) 토큰화 + 일반화 4) 문장 결합 CounterVectorizer의 input data는 문장이어야 한다. 그러나 토큰화를 하기 위해서는 위 과정에서처럼 문장을 쪼갤 수 밖에 없었다. 그러므로 아래 CountVectorizer 적용을 하기 위하여 문장으로 변경한다. 즉, CountVectorizer가 요구하는 fitting을 위한 문장으로 변경하는 작업이다. 4. 데이터 분리 5. C..
[복습] Python | 분석 | 감성분석(워드 클라우드) 쇼핑몰 후기 감성분석 전처리 및 워드 클라우드 시각화 1. 데이터 불러오기 2. 학습 데이터 선택 3. 전처리 regex = True는 Series 이므로 설정한 것 4. 기타 불용어 제거 고려 1) 한 글자 단어 목록 2) 빈도수가 1인 단어 목록 3) 추가 불용어 제거 고려 5. 워드 클라우드 생성 pip install wordcloud 1) 전체 워드 클라우드(긍정/부정 구분 없이, 명사, 형용사, 동사 모두 포함) 2) 명사에 대한 긍정 / 부정 워드 클라우드 작성 긍정 워드 클라우드 부정 워드 클라우드 워드 클라우드 시각화 끝
[복습] Python | 분석 | 감성분석 Intro 이미지와 영상은 픽셀 사이즈만 맞추면(영상은 프레임 단위로 쪼개는 것이 중요) 된다. 그리고 딥러닝 학습 시 입력값이 수치로 변환되어야 한다(output 또한 수치). 또한 딥러닝, 머신러닝에서 중요한 것은 데이터 품질관리이다. 모델링도 중요하지만 데이터 품질관리가 더 중요하다. 문장의 감성분석의 경우, 긍정/부정을 나누는 것은 분류모델로 모의한다. 인간이 직접 리뷰를 전부 읽고(평점이 있는 경우 긍/부정을 쉽게 구분할 수 있음), 긍정인지 부정인지의 라벨링 작업을 직접 진행하여야 한다. 즉 사람의 눈을 거치는 작업이 필요한 것이다. 평점이 1~5점이 있는 경우, 다섯 개의 라벨링을 거쳐야 한다. 1, 2 점을 부정, 3을 삭제, 4, 5는 긍정 등으로 Y 라벨링의 분석 목적에 맞게 구분할 수도 있다. ..
[복습] Python | 분석 | 딥러닝(CNN) 이미지 분석(2) + 하루끝(20240402) CNN: 이미지 분석의 꽃 층을 추가할 수록 좋다. 레이어가 추가될수록 더 많은 신호를 받을수 있는 좋은 점이 있으나, 기울기 소실 문제는 해결되지 않는다. activation은 relu 가 좋은 편이다. 기울기 소실 문제를 해결하기 위한 다른 activation은 찾기 어려우므로, 다른 방법을 찾다 보니 CNN의 파생인 vgg 또는 resnet이 탄생했다. densenet, googlenet도 있다. 전부 CNN 기반 모델로, keras 문법으로 구현하는데에는 한계가 있어서 tensorflow로 구현해야 하는데, 복잡도가 증가하게 된다. 딥러닝 모형을 구현하는 데에 있어 두 가지 방법이 있다. 1. 제로 베이스에서 출발: 쌓은 탑이 없는 상태로, 처음부터 모델링한다. 가중치를 랜덤하게 초기에 선택해서 ..
[복습] Python | 분석 | 딥러닝(CNN) 이미지 분석 + 하루끝(20240401) input이 이미지가 될 수는 있으나 output이 이미지가 될 수는 없다(정형 데이터화되어 수치로 들어감). 딥러닝 구현으로 얻게 된 데이터 특성을 가지고 이미지를 찾아부는 검색 엔진까지 들어가야지 이미지가 출력된다. 1. KNN : 이미지를 비교할 때 픽셀 별 단순 차이만 가지고 거리를 계산한다. 어떤 픽셀이 보다 강조되어야 하는지 측정하기가 어려운 것이 단점이다. (이미지 유사도가 높은 = 거리가 짧은) 2. KNN + PCA: 변동성이 가장 많은 픽셀에 초점을 맞춰(PCA), 높은 가중치를 부여한 픽셀을 조합하여 인공변수를 만들어 거리를 계산하는 것이 효과적이어서 이렇게 보완되어 발전하였다. 인근 픽셀 유사도를 찾아야 하는데 머신러닝이므로 flatten 할 수밖에 없다. 위-아래 구성된 픽셀이 f..
[복습] Python | 분석 | 딥러닝(ANN) - stopping rule 적용 https://metime.tistory.com/386 위 게시글에 이어서 cancer data 분석에 대하여 stopping rule을 적용해보겠다. epoch 설정 시 stopping rule 적용은 오차, 정확도가 일정 이상 변화나 개선이 없을 때 자동으로 stop 되도록 설계하는 것이다. epoch가 많아질수록 과대적합되며, epoch 수를 관측하여 많아지기 전에 중단 시키는 것이 좋다. 1. 데이터 로딩 2. 스케일링 3. Y 더미 변수 변경 4. train/test split 5. 모델링 1) seed값 고정 2) 모델 정의 3) 오차함수, 최적화 함수 정의 4) 정지 규칙 생성 monitor 설정이 중요하다. 정지 규칙을 만드는 측정 대상이다. patience 는 모니터링 횟수이다(5로 지정..
[복습] Python | 분석 | 딥러닝(ANN) ANN에 들어가기에 앞서 딥러닝 정리를 한번 더 해보겠다. 딥러닝 - 머신러닝의 일종(신경망 기반 모델) - 비정형 데이터 분석 수요 증가에 따른 딥러닝 모델 발전 - 지도학습(Y가 존재하는 모형) - 종류: ANN(회귀, 분류(2진 class 등에 따라 출력층 변경 가능), CNN(이미지(output이 이미지는 될 수 없음, 라벨링 결과에 맞게 이미지의 특성을 텍스트로 반환함), RNN, LSTM,... (RNN, LSTM은 시계열로도 사용하고 텍스트 마이닝에서도 주로 사용함) - 구현 프레임 워크 1) tensorflow(tf): 구글사 개발, 확장성은 좋으나 어려움(또 다른 언어를 배우는 느낌, 그래서 사용자가 사용하기에 버겁다는 느낌을 받음). 즉 문법이 다소 복잡하나 확장성이 강함 2) kera..

728x90
반응형