본문 바로가기

🥾 프로젝트

(28)
3) 식당 정보 EDA(3) 1. 선별된 각 컬럼의 전처리 실시. 1) 35개의 컬럼 중 23개만 선별 실시. 2) index으로 사용할 컬럼 전처리. (1) 식당ID : 식당 고유의 ID (2) 식당명 : 식당 명 (3) 도로명주소 : 도로명 주소 3) N/Y 컬럼 0과 1로 처리하기. (1) 테이크아웃여부 (2) 예약가능여부 (3)선결제(pre-pay)여부 (4) 와이파이여부 (5) 장애인편의시설여부 (6) 주차가능유무 4) 정규휴업일 (1) 통일된 양식으로 작성되어 있지 않음 (2) 통합 전처리 실시 - 아래 경우를 나눠서, 통일성일 갖춤 - 연중무휴에 해당하는 모든 경우의 수 - 명절에 해당하는 모든 경우의 수 - 기타에 해당하는 모든 경우의 수 - 토요일 오타에 해당하는 모든 경우의 수 - 모든 요일에 해당하는 모든 경우의..
3) 식당 정보 EDA(2) 1. 전체 컬럼 살펴보기 & 선별하기 1) 3,110 개의 행과 35개의 컬럼으로 구성 (1) 35개 컬럼 파악 - 식당ID : 식당 고유의 ID > index으로 사용 - 식당명 : 식당 명 > index으로 사용 - 업종(메뉴)정보 : 총 75종 업종 > null, 한식을 세부 분류하기 전 - 테이크아웃여부 : N/Y 구분 - 예약가능여부 : N/Y 구분 - 선결제(pre-pay)여부 : N/Y 구분 - 식당대표전화번호 : 전화번호 / 분석에 필요 없는 컬럼 - 도로명주소 : 도로명 주소 > index으로 사용. 지번주소 : 지번 주소 > index으로 사용. > 도로명주소를 사용 예정. - 정규휴업일 : > 식당별 주간, 요일 모두 다름. > 요일별 전처리를 통합할 예정. - 식당면적 : > 면적이..
3) 식당 정보 EDA(1) 1. 전체 데이터 확인 1) 3,110 개의 행과 35개의 컬럼으로 구성 2) 데이터프레임 내의 각 컬럼별 null 값 개수 확인 (1) null 값이 존재하는 컬럼 - 업종(메뉴)정보 : 636 - 식당대표전화번호 : 80 - 도로명주소 : 3 - 정규휴업일 : 623 - 대표메뉴 : 3 - 식당홈페이지 : 2994 3) null 값 처리 판단하기 (1) null값이 전체 데이터의 약 20%에 해당. - 삭제하기에는 많은 손실되어서, 모델 성능에 큰 영향이 있을꺼로 판단 함. (2) null 값을 최대한 채우기로 결정. 2. null값이 큰 3개 컬럼 파악(업종(메뉴)정보, 정규휴업일, 식당홈페이지) (1) 정규휴업일, 식당홈페이지 컬럼은 본 연구에 성능과 관련 없는 변수로 판단하여, 제거 예정 (2)..
2) 2개 데이터 병합 방법 1. 2개 데이터 병합 방법 1) 인기있는 식당의 기준을 네이버 평점 4.5 이상 식당으로 정의 함. (1) 추후 회귀 모델로 네이버 평점 4.5이상 식당들의 특징을 살펴 볼 예정. 2) 2개의 (전라남도_식당정보, 전라남도_식당품질정보) 파일에는 target변수인 '네이버 평점'과 merge 할 수 있는 고유 '식당 ID'가 존재 3) '식당 ID'로 merge결과 공통된 식당 데이터는 20개만 존재 4) '전라남도_식당품질정보' 파일은 이미 평점이 좋은 식당만 존재 & null 값 다수 (1) 네이버 평점 분포가 고루 있어야 인기있는 식당의 특징 파악이 좋으나, 이 파일은 평점이 좋은 식당만 다수 (2) 근거 - 컬럼 '어워드 정보설명' : 모범식당, 안심식당 // 이미 좋은 식당으로 선정된 식당들의..
1) 주제 선정 & 자료 찾기 1. 주제 선정 : 인기가 많은 식당들은 그 이유가 뭘까? 1) 주제 선정 동기 (1) 내가 선택한 이 주제는 개인적인 경험과 궁금증에서 시작. (2) 부모님이 32년 넘게 식당을 운영. - 그중 30년 넘게 현재까지 고기집을 운영 중이시다. (3) 어릴 적 기억에는 항상 손님들로 북적이던 식당 (4) 현재는 부모님의 건강을 위해 소수의 손님만 받으시는 상태. (4) 오랜만에 단체 손님을 받으면서 오랜만에 일손을 도우면서 문득 이런 생각. - 만약 지금 내가 식당을 운영한다면, 어린 시절 부모님의 식당처럼 인기 있는 장소를 만들 수 있을까? (5) 이러한 호기심이 이번 프로젝트를 시작하게 된 계기. 2. 자료 찾기 1) 자료 찾기 (1) 공공데이터포털에서 찾은 2가지 데이터(전라남도_식당정보 & 전라남도..
1회차) RNN 기반 자연어 처리 소개 1. RNN 기술소개 2) 순환 신경망(Recurrent Neural Network) (1) RNN 특징 - DNN, CNN 은 시간 개념이 없음. - RNN 시간 개념이 중요 함. 2) RNN 풀어 헤침(Unfolding) (1) RNN 마스터 구조 사용 - RNN은 모든 가중치와 bias 모두 동일하다. - 3) RNN 종류 (1) 다루는 문제에 따라 다른 형태를 사용함 - 단어 길이가 달라도 된다. 3) 자연어 처리 소개 1) 자연어 처리의 목적 (2) 스마트 번역기 만들기 - pyhton 내부에 사전(Dictionary) 번역 있음. - 하지만, 이번 스마트 번역기 경우에는 스펠링이 틀려고 번역을 정확하게 해줌 - 입력은 인코더, 디코더(2곳) / 출력은 위에 1곳 구조
8-2회차) BERT 모델을 활용한 Text Classification 모델 구현 2. BERT Multi Classification 모델구현 1) 학습 및 평가 데이터 세트 (1) 데이터 세트 준비 (2) 데이터 세트 클래스 정의 2) Pre-trained 모델 다운로드 및 Fine-tunning 설정 (1) Pre-trained 모델 다운로드 - num_labels은 멀티 classification에 반드시 입력해야 함. (2) Training을 위한 하이퍼 파라미터 설정
8-1회차) BERT 모델을 활용한 Text Classification 모델 구현 1. BERT Binary Classification 모델구현 1) 학습 및 평가 데이터 세트 (1) 데이터 세트 준비 - id컬럼은 사용하지 않음. - 8:2로 분리 - train data를 또 분리 7:3 (2) 데이터 세트 클래스 정의 (3) Pre-trained Tokenizer 다운로드 - 한국어 관련 다운 하고 싶으면? ko or kor 검색 (4) 데이터 세트 클래스 객체 생성 2) Pre-trained 모델 다운로드 및 Fine-tunning 설정 (1) Pre-trained 모델 다운로드 (2) Fine-tunning 설정 - 3번 전략 할 예정. 3) 모델 학습 및 평가 (1) Training을 위한 하이퍼 파라미터 설정 (2) Evaluation을 위한 Test 데이터 세트 준비 및 ..
7-2회차) 자연어 처리를 위한 BERT 모델 2. BERT 모델감성분석 1) 학습 및 평가 데이터 세트 (1) 데이터 세트 준비 - strafify : target에는 0,1이 있는데, 한쪽으로 치우치지 않게 해주는 것(0에서 80% 1에서 80%) - train data에서 train과 val 또 나눔. (2) 데이터 세트 클래스 정의 - overriding을 통해 재정의. 2) Pre-trained 모델 다운로드 및 Fine-tunning 설정 (1) Pre-trained Tokenizer 다운로드 - 데이터 보기 전에, 토크나이저를 지정 함. - 우리가 다운 받은 모델과 호환되는 것을 해야 함. - 보통은 모델 다운 받은 곳에 토크나이저를 제공함. - 우리는 bert-base-uncased 사용 (작은 모델을 사용, 대소문자 구분 x) - b..
7-1회차) 자연어 처리를 위한 BERT 모델 1. BERT 모델 Fine-tunning 1) Huggingface (1) Huggingface란? - 목적에 따라서 적절한 다운을 받아야 함. 2) Huggingface Transformer (1) Huggingface Transformer란 3) Huggingface와 Transformer (1) Huggingface Transformer 설치 (2) Huggingface Transformer 모델 다운로드 - Huggingface사이트에 접속에서 어떤 모델을 다운 받겠다 결정 함. - 그 모델의 이름을 기억해서, 다운 받기 - Down Stream TASK : 내가 어떤 것을 할 것이냐? - 여기서는 BertSequenceClassification을 다운 받을 예정. (2) Huggingface ..