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
- 자연어처리
- 데이콘 소설
- 캐치카페
- Real or Not? NLP with Disaster Tweets
- 우분투
- 데이콘
- selenium
- leetcode
- ubuntu
- 캐글
- Kaggle
- hackerrank
- 백준
- PYTHON
- dacon
- windows
- 인공지능 공모전
- Git
- 파이썬
- 캐치
- catch
- Keras
- programmers
- Compas
- SW Expert Academy
- 금융문자분석경진대회
- Baekjoon
- 프로그래머스
- NLP 대회
- AI 경진대회
- Today
- 1,010
- Total
- 441,434
솜씨좋은장씨
DACON 금융문자분석 공모전 - 도전 6일차 본문
첫번째 제출 (Google Colab -TPU)
오늘은 형태소 분석기에서 morphs 메소드가아닌 nouns 메소드를 사용해보기로 했습니다.
형태소 분석기는 Mecab 메소드는 nouns를 사용하여 전처리한 데이터를 학습시켜 보았습니다.
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 |


첫번째 제출 결과

두번째 제출 (Google Colab -TPU)
이번에는 순환 컨볼루션 모델을 적용해 보았습니다.
형태소 분석기는 Mecab에서 Okt로 메소드도 nouns에서 morphs로 다시 바꾸어 시도해보았습니다.
단어의 길이가 2이상인 단어만 남기고 만든 학습데이터를 학습시켜 보았습니다.
model14 = Sequential()
model14.add(Embedding(max_words, 128, input_length=max_len))
model14.add(Dropout(0.2))
model14.add(Conv1D(256,
3,
padding='valid',
activation='relu',
strides=1))
model14.add(GlobalMaxPooling1D())
model14.add(Dense(128, activation='relu'))
model14.add(Dropout(0.2))
model14.add(Dense(2, activation='sigmoid'))
model14.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history14 = model14.fit(X_train3, y_train3, epochs=2, batch_size=32, validation_split=0.1)
epoch | 2 | batch_size | 32 |
optimizer | adam | validation_split | 0.1 |


두번째 제출 결과

세번째 제출 (Google Colab -TPU)
이번에는 두번째 제출할때 데이터를 정제하고 학습시켰던 방법에서 형태소 분석기만 Okt에서 Mecab으로 바꾸어 도전해보았습니다.
model15 = Sequential()
model15.add(Embedding(max_words, 128, input_length=max_len))
model15.add(Dropout(0.2))
model15.add(Conv1D(256,
3,
padding='valid',
activation='relu',
strides=1))
model15.add(MaxPooling1D(pool_size=4))
model15.add(LSTM(128))
model15.add(Dense(2, activation='sigmoid'))
model15.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history15 = model15.fit(X_train3, y_train3, epochs=2, batch_size=32, validation_split=0.1)
epoch | 2 | batch_size | 32 |
optimizer | adam | validation_split | 0.1 |


세번째 제출 결과

순위 | 점수 | 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 | |||||||||
11 | 0.96549088 | 5 / 32 | rmsprop | X | model_kb_dacon01_trainset.csv | X | TPU | Okt | 2 |
12 | 0.9608906 | 5 / 32 | adam | X | model_kb_dacon01_trainset.csv | X | TPU | Okt | 3 |
13 | |||||||||
14 | 0.95197054 | 5 / 32 | adam | 0.1 | model_kb_dacon01_trainset.csv | X | TPU | Mecab | 5 |
15 | |||||||||
16 | |||||||||
17 | 0.886882889 | 2 / 32 | adam | 0.1 | model_kb_dacon02_trainset.csv | O | TPU | Mecab | 18 |
18 | 0.701388499 | 3 / 32 | adam | X | model_kb_dacon01_trainset.cs | X | GPU | ELMo | 7 |

순위는 전날보다 하나 떨어진 19위가 되었습니다.
앞으로 아직 도전해보지 않은 bi-LSTM 모델이나 한글만 추려서 도전해보려고합니다.
읽어주셔서 감사합니다.
'DACON > KB 금융문자 분석 경진대회' 카테고리의 다른 글
DACON KB 금융문자분석 경진대회 밋업! 참여 후기! (4) | 2020.02.21 |
---|---|
DACON 금융문자분석 공모전 - 도전 6일차 (8) | 2019.12.19 |
DACON 금융문자분석 공모전 - 도전 5일차 (0) | 2019.12.18 |
DACON 금융문자분석 공모전 - 도전 4일차 (0) | 2019.12.17 |
DACON 금융문자분석 공모전 - 도전 3일차 (0) | 2019.12.16 |
DACON 금융문자분석 공모전 - 도전 2일차 (0) | 2019.12.15 |
- Tag
- dacon, DACON 금융문자분석경진대회, 금융문자분석경진대회, 데이콘
8 Comments
-
데이콘 2020.02.02 09:34 안녕하세요 솜장님. 데이콘은 코드 공유와 토론에도 올려주시면 감사하겠습니다. 멋진 도전을 응원합니다. 데이코니오 드림.
-
사용자 솜씨좋은장씨 2020.02.02 09:43 신고 읽어주셔서 감사합니다! 내용들이 정리가 되는대로 공유해보도록 하겠습니다!
-
사용자 솜씨좋은장씨 2020.02.11 22:14 신고 공유해보았습니다! 읽어주셔서 감사합니다!
-
Bill's 2020.05.28 23:08 신고 글 잘봤습니다! 도움이 많이 되었습니다. 질문 하나 남겨도 될까요?
max_words를 35,000으로 정하신 기준이나 이유가 궁금합니다
또 한가지는, colab에서 TPU를 사용하셨다 했는데 런타임 유형을 TPU로 변경하는것말고 다른 설정하지 않아도 TPU가 적용되나요??
좋은글 공유해주셔서 너무 감사합니다~ -
사용자 솜씨좋은장씨 2020.05.29 08:36 신고 안녕하세요! 글 잘 읽어주셔서 감사합니다.
먼저 max_words를 35,000으로 준 이유는 학습데이터를 구성하는 단어의 총 개수 내에서 여러가지 수를 max_words로 설정하여 사용해보았는데 약 90회 정도의 제출 결과를 보니 35,000이 그래도 가장 좋은 성능을 내었어서 그렇게 사용했었습니다.
그리고 TPU를 활용했다고 적었었는데 수정을 못하여서 잘못적혀있습니다.
저 당시에는 TPU로만 변경하면 바로 적용이 되는 것으로 알고 있었는데 최근에 들어서 별도로 코드를 통해 연결을 해주여야 하는 것을 알게되었습니다.
https://colab.research.google.com/notebooks/tpu.ipynb
TPU를 제대로 사용하는 방법은 Colab에서 제공하는 내용을 참고하시면 좋을 것 같습니다. 감사합니다! -
Bill's 2020.05.30 23:21 신고 답변 감사합니다! 저는 텍스트 다중분류 문제를 풀고있는데 생각보다 쉽지 않네요ㅠㅠ
블로그에서 여러가지 팁 얻어갑니다! -
lavi 2020.08.05 16:41 안녕하세요 저는 데이콘에서 진행한 대회 중 금융 문자 데이터로 스미싱 탐지를 하는 대회가 있어서 흥미가 생겨 검색하다가 문의드립니다.
저도 한번 해보고 싶어서요 대회는 끝나도 참여는 할 수 있더라구요 근데 현재 대회 종료로 데이터 다운로드가 안되서
혹시 대회때 사용한 데이터를 받을 수 있을 까 하고 문의드립니다. -
사용자 솜씨좋은장씨 2020.08.06 17:00 신고 안녕하세요! 데이터에 대해서는 대회에서 데이터를 다운받을 당시 본인인증과 함께 추후 데이터에 대해서 유출을 하지 않겠다고 서약을 하여 따로 데이터를 보내드릴수는 없는 점 양해 부탁드립니다. 저보다는 대회 스폰서였던 KB금융지주 쪽에 문의를 해보시는 것이 좋을 것 같습니다!