Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코로나19
- Baekjoon
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- 우분투
- AI 경진대회
- ubuntu
- 캐치카페
- 맥북
- leetcode
- github
- 프로그래머스 파이썬
- 백준
- Kaggle
- 파이썬
- dacon
- PYTHON
- 자연어처리
- Git
- programmers
- gs25
- ChatGPT
- 편스토랑 우승상품
- Docker
- 금융문자분석경진대회
- 데이콘
- 프로그래머스
- SW Expert Academy
- 편스토랑
- hackerrank
Archives
- Today
- Total
솜씨좋은장씨
DACON 금융문자분석 공모전 - 도전 5일차 본문
728x90
반응형
가장 먼저 Okt 형태소 분석기를 활용하여 토큰화 시
stem항목을 True에서 False로 바꾸어 만든 학습데이터셋으로 학습을 시켜 보았습니다.
from tqdm import tqdm
X_train = []
for i in range(len(train_data['clear_text2'])):
temp_X = []
temp_X = okt.morphs(train_data['clear_text2'].iloc[i], stem=False) # 토큰화
temp_X = [word for word in temp_X if not word in stopwords] # 불용어 제거
X_train.append(temp_X)
첫번째 제출 모델 (Google Colab -TPU)
model4 = Sequential()
model4.add(Embedding(max_words, 100))
model4.add(LSTM(128))
model4.add(Dense(2, activation='sigmoid'))
model4.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history4 = model4.fit(X_train, y_train, epochs=3, batch_size=32, validation_split=0.1)
epoch | 3 | batch_size | 32 |
optimizer | adam | validation_split | 0.1 |
첫번째 제출 결과
생각보다 좋지 못한 결과에 조금 아쉬웠습니다.
이번에는 토큰화를 할 때 불용어제거 이후에
단어의 길이가 2이상인 단어만 남겨둔 학습데이터를 가지고 학습시켜 보았습니다.
Okt에서 stem은 다시 True로 바꾸었습니다.
from tqdm import tqdm
X_train = []
for i in range(len(train_data['clear_text2'])):
temp_X = []
temp_X = okt.morphs(train_data['clear_text2'].iloc[i], stem=True) # 토큰화
temp_X = [word for word in temp_X if not word in stopwords] # 불용어 제거
temp_X = [word for word in temp_X if len(word) > 1]
X_train.append(temp_X)
두번째 제출 모델 (Google Colab -TPU)
model3 = Sequential()
model3.add(Embedding(max_words, 100))
model3.add(LSTM(128))
model3.add(Dense(2, activation='sigmoid'))
model3.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history3 = model3.fit(X_train, y_train, epochs=2, batch_size=32, validation_split=0.1)
epoch | 2 | batch_size | 32 |
optimizer | adam | validation_split | 0.1 |
두번째 제출 결과
결과는!!!!!!!!!!
드디어! 이전의 최고 기록을 경신했습니다!!!
그리고 드디어! Private Ranking에 도전할 수 있는 20위권으로 들어왔습니다!!!
하지만 아직 만족하기에는 이른것 같습니다.
최소 5위 안에는 들어야 안정적으로 Private Ranking도전을 갈 것으로 생각되어 1월 12일이되는 그날까지
매일 매일 계속 도전할 생각입니다.
이번에는 형태소 분석기만 Okt에서 Mecab으로 변경하여 학습데이터를 만들고 학습시켜 보았습니다.
from tqdm import tqdm
mecab = Mecab()
X_train2 = []
for i in tqdm(range(len(train_data['clear_text2']))):
temp_X = []
temp_X = mecab.morphs(train_data2['clear_text2'].iloc[i]) # 토큰화
temp_X = [word for word in temp_X if not word in stopwords] # 불용어 제거
temp_X = [word for word in temp_X if len(word) > 1]
X_train2.append(temp_X)
세번째 제출 모델 (Google Colab -TPU)
model11 = Sequential()
model11.add(Embedding(max_words, 100))
model11.add(LSTM(128))
model11.add(Dense(2, activation='sigmoid'))
model11.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history11 = model11.fit(X_train2, y_train2, epochs=1, batch_size=32, validation_split=0.1)
epoch | 2 | batch_size | 32 |
optimizer | adam | validation_split | 0.1 |
세번째 모델 제출 결과
아직까지는 Mecab이 속도면에서는 우월하게 빠르지만 Score는 계속 낮게 나오고 있습니다.
Private Ranking은 시간도 본다던데 슬슬 걱정이 되고 있습니다.
순위 | 점수 | epoch / batch | optimizer | val_split | train_data | 특수문자제거 | colab | ||
1 | 0.982279102 | 2 / 32 | adam | 0.1 | model_kb_dacon02_trainset.csv | O | TPU | Okt | 14 |
2 | 0.974579243 | 2 / 32 | adam | 0.1 | model_kb_dacon02_trainset.csv | O | TPU | Okt | 8 |
3 | 0.972980365 | 2 / 32 | adam | 0.1 | model_kb_dacon02_trainset.csv | O | TPU | Mecab | 9 |
4 | 0.972850631 | 3 / 32 | adam | 0.1 | model_kb_dacon02_trainset.csv | O | TPU | Okt | 13 |
5 | 0.97262973 | 5 / 32 | adam | 0.1 | |||||
6 | |||||||||
7 | 0.972030154 | 2 / 32 | adam | 0.1 | model_kb_dacon02_trainset.csv | O | TPU | Okt | 10 |
8 | 0.96873422 | 5 / 32 | adam | 0.1 | model_kb_dacon01_trainset.csv | X | GPU | Okt | 6 |
9 | |||||||||
10 | 0.96549088 | 5 / 32 | rmsprop | X | model_kb_dacon01_trainset.csv | X | TPU | Okt | 2 |
11 | 0.9608906 | 5 / 32 | adam | X | model_kb_dacon01_trainset.csv | X | TPU | Okt | 3 |
12 | |||||||||
13 | 0.95197054 | 5 / 32 | adam | 0.1 | model_kb_dacon01_trainset.csv | X | TPU | Mecab | 5 |
14 | |||||||||
15 | 0.701388499 | 3 / 32 | adam | X | model_kb_dacon01_trainset.cs | X | GPU | ELMo | 7 |
'DACON > KB 금융문자 분석 경진대회' 카테고리의 다른 글
DACON KB 금융문자분석 경진대회 밋업! 참여 후기! (6) | 2020.02.21 |
---|---|
DACON 금융문자분석 공모전 - 도전 6일차 (8) | 2019.12.19 |
DACON 금융문자분석 공모전 - 도전 4일차 (0) | 2019.12.17 |
DACON 금융문자분석 공모전 - 도전 3일차 (0) | 2019.12.16 |
DACON 금융문자분석 공모전 - 도전 2일차 (0) | 2019.12.15 |
Comments