일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gs25
- Docker
- 더현대서울 맛집
- 파이썬
- Real or Not? NLP with Disaster Tweets
- ChatGPT
- 프로그래머스
- dacon
- 백준
- 캐치카페
- 코로나19
- SW Expert Academy
- leetcode
- 편스토랑 우승상품
- 데이콘
- 우분투
- 편스토랑
- PYTHON
- Baekjoon
- github
- 금융문자분석경진대회
- AI 경진대회
- 프로그래머스 파이썬
- programmers
- hackerrank
- 자연어처리
- ubuntu
- Kaggle
- Git
- 맥북
- Today
- Total
목록
반응형
Kaggle (30)
솜씨좋은장씨

Jigsaw Multilingual Toxic Comment Classification Use TPUs to identify toxicity comments across multiple languages www.kaggle.com Kaggle에서 새로운 대회가 오픈하였습니다. Jigsaw Multilingual Toxic Comment Classification 대회입니다. 여러 커뮤니티를 보니 그동안 여러번 오픈했던 대회인데 이번 대회의 특이한 점은 다국어를 지원하는 모델을 만드는 것과 TPU활용을 장려하는 점이 특이한 점인 것 같습니다. 학습으로 사용하는 데이터는 영어이고 그 데이터로 학습한 모델로 맞춰야할 테스트 데이터는 포르투갈어, 러시아어, 터키어, 스페인어 등 이라고 합니다. 그동안 재난문자트..

캐글 노트북에서 필요한 라이브러리를 설치하기위해 평소에 주피터 노트북이나 구글 코랩에서 했던 방법대로 하게되면 다음과 같은 출력과 함께 종료되지 않는 것을 볼 수 있습니다. !pip install keras_bert WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)': /simple/keras-bert/ WARNING: Retrying (Retry(tot..

Kaggle 도전 24회차! 이제 정말 대회 종료까지 얼마 남지 않았습니다. 지난 23일동안 정말 다양한 데이터 전처리 방법과 LSTM, Bi-LSTM, CNN, CNN-LSTM, RNN, GRU, BERT등 정말 다양한 모델을 사용하여 결과를 도출하여 보았을때 BERT로 도출한 결과가 가장 좋았습니다. 남은 2일은 BERT를 활용하여 결과를 내고 최종 제출 파일을 선택하기로 하였습니다. 그리고 1.0000의 Public Score를 갖고 있는 사람들중에 일부는 test 데이터의 정답 라벨을 다운로드 받아 그 데이터를 제출한 것을 알게되었고 정말 많이 실망하게 되었습니다. 이것을 알고 검색해보던 중 지난 다른 대회에서도 이런 cheating이 있었고 상금까지 받아가 기사에 났던 적이 있는 것도 알게되었고..

Kaggle 도전 23회차! 오늘은 DACON에서 주최했던 지난 KB 금융문자분석 경진대회에서 1위를 한 스팸구이 팀의 방법을 벤치마킹하여 도전해보았습니다. hotorch/Dacon_14th_Competition_code Dacon 14th Competition 1st Place- "Financial smishing character analysis" - hotorch/Dacon_14th_Competition_code github.com TF-IDF 에서 TF에 1+log(TF) 한 방식을 사용하였고 lightGBM모델에 GridSearchCV를 통한 최적화를 실시하였습니다. 데이터 전처리방식은 다음과 같습니다. he's -> he is / fromåÊwounds -> from wounds 와 같이 바꾸..

데이콘 온도추정 경진대회 도전 7, 8회차입니다. [공공] AI프렌즈 시즌1 온도 추정 경진대회 출처 : DACON - Data Science Competition dacon.io 첫번째 시도 오늘은 LightGBM모델의 하이퍼 파라미터를 늘려서 시도해보았습니다. Y18 데이터는 비어있는 구간은 Y06, Y09, Y12, Y16, Y17을 평균 낸 값을 넣어주어 비어있지않은 구간의 데이터와 함께 사용했습니다. data_for_graph = train.loc[:, ['Y06', 'Y09', 'Y12', 'Y16', 'Y17']].dropna() plt.figure(figsize=(20, 10)) plt.plot(data_for_graph) import numpy as np new_Y_18 = [] for ..

Kaggle 도전 22회차! 오늘은 아르바이트를 다녀온 후 시간이 빠듯하여 그동안 제출했던 모델중에 가장 결과가 좋았던 모델들에 바뀐 데이터 전처리방식을 적용한 데이터를 활용하여 학습하고 결과를 도출해보았습니다. 데이터 전처리방식은 21회차와 동일합니다. from keras.preprocessing.text import Tokenizer max_words = 12396 tokenizer = Tokenizer(num_words = max_words) tokenizer.fit_on_texts(X_train) X_train_vec = tokenizer.texts_to_sequences(X_train) X_test_vec = tokenizer.texts_to_sequences(X_test) import matp..

Kaggle 도전 20회차! 이제 정말 종료까지 얼마 남지 않았았습니다. 오늘은 먼저 19회차의 방법으로 전처리를 한후에 TF-IDF로 임베딩을하고 lightGBM 모델을 사용하여 결과를 내보았습니다. import re clear_text_list = list(train['clear_text']) X_train = [] for clear_text in clear_text_list: word_list = word_tokenize(clear_text) word_list = [word for word in word_list if len(word) > 2] word_list = [word for word in word_list if word not in stop_words] # word_list = [stemm..

Kaggle 20회차! 이제 최종 23일까지 약 5일밖에 남지않았습니다. 0.10000의 점의 점수를 얻은 분들은 도대체 어떤 분들인지 빨리 대회가 끝나고 수상자들의 코드가 공개되었으면 하는 바램입니다. 오늘은 지금까지 제출했던 것들 중 가장 결과가 좋았던 9회차에 사용했던 버트모델에 새로운 방법의 데이터 전처리 방식을 사용하여 결과를 도출하고 제출해 보았습니다. 전처리 방식은 NLP-disaster-tweets-1 Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources www.kaggle.com 위의 링크에서 여러 이상한 단어들을 원래의 단어로 잘 바꾸어주는 parse_tweet이..

Kaggle 대회 19회차 오늘은 Bi-LSTM 모델을 활용해 보았습니다. from keras import optimizers from tqdm import tqdm def getBestParams(params_list, lstm_hidden, embedding): count = 0 histories = [] my_accs = [] my_batch = [] my_lr = [] my_epoch = [] embeddings = [] lstm_hiddens = [] for i in tqdm(range(len(params_list['batch_size']))): for j in range(len(params_list['learning_rate'])): for k in range(len(params_list['e..

clear_text_list = list(test['clear_text']) X_test = [] for clear_text in clear_text_list: word_list = word_tokenize(clear_text) word_list = [word for word in word_list if len(word) > 2] word_list = [word for word in word_list if word not in stop_words] # word_list = [stemmer.stem(word) for word in word_list] word_list = [lemmatizer.lemmatize(word) for word in word_list] X_test.append(word_list) ..

Kaggle 대회 17회차! 오늘은 기존의 데이터 전처리 방식에서 tokenizer를 word_tokenize에서 TreebankWordTokenizer로 변경하고 토큰화 후 stemmer를 사용하지 않고 lemmatizer를 사용하여 보았습니다. 기존의 방식보다 조금 더 원형의 형태를 보존해서 토큰화가 된 것을 볼 수 있었습니다. 모델은 16회차의 모델에 그대로 적용해보았습니다. 첫번째 제출 from keras import optimizers adam = optimizers.Adam(lr=0.05, decay=0.1) model_1 = Sequential() model_1.add(Embedding(vocab_size, 100)) model_1.add(GRU(32)) model_1.add(Dropout(..

Kaggle 도전 16회차 오늘은 캐글에 공개되어있는 노트북 들 중에서 한분이 약어를 다시 풀어서 전처리한 것을 보고 저는 그 노트북에서 약어가 담겨있는 dictionary만 빼와서 전처리를 하여 도전해보았습니다. AdaptNLP (Easier BERT-based Models) Explore and run machine learning code with Kaggle Notebooks | Using data from Real or Not? NLP with Disaster Tweets www.kaggle.com 먼저 필요한 라이브러리를 import해주고 약어 부분을 가져왔습니다. import nltk nltk.download("punkt") nltk.download("stopwords") from nltk...

이번 2020년 3월은 코로나 바이러스로 밖으로 나가는 시간도 많이 줄어 집에있는 시간이 많아진 만큼 Kaggle에서 진행하는 NLP관련 대회인 Real or Not? NLP with Disaster Tweets 대회와 데이콘에서 진행하는 AI 프렌즈 시즌 1 온도 추정 경진대회 [공공] AI프렌즈 시즌1 온도 추정 경진대회 출처 : DACON - Data Science Competition dacon.io 그리고 스타크래프트 게임 플레이 데이터를 바탕으로 진행되는 데이콘 월간 데이콘 3 행동 데이터 분석 대회를 진행해보려고 합니다. [게임] 월간 데이콘 3 행동 데이터 분석 대회 출처 : DACON - Data Science Competition dacon.io 총 상금은 250만원! 하루에 최대 3번..

Kaggle 15회차 오늘은 GRU모델을 활용해보기로 했습니다. 첫번째 제출 model = Sequential() model.add(Embedding(vocab_size, 100)) model.add(GRU(100)) model.add(Dropout(0.5)) model.add(Dense(2, activation='sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['acc']) history = model.fit(x_train, y_train, batch_size=32, epochs=3, validation_split=0.1) 결과 두번째 제출 model3 = Sequential() model3.add(Embed..

Kaggle 14회차! 오늘은 금융문자분석밋업때 수상자들이 사용했던 lightGBM모델을 활용해보았습니다. Google Colab에 LightGBM설치 [Ensemble] Colab에서 LightGBM 사용하기! 원자력 발전소 상태판단 알고리즘을 도전해보면서 머신러닝을 공부하며 Gradient Boosing알고리즘 중의 하나인 LightGBM 알고리즘을 알게되었고 DACON KB 금융문자분석경진대회에서도 수상자들이 사용했다는 것을.. somjang.tistory.com 먼저 저는 Colab환경에서 진행하려고하여 위의 링크 방법대로 lightGBM을 설치해주었습니다. !nvidia-smi 무료버전임에도 Tesla P100 GPU가 할당되어 놀랐습니다. 먼저 lightGBM모델을 사용하기위해서 데이터를 처리..

Kaggle 13회차! 오늘은 저번 12회차까지 데이터 전처리를 했던 방법과 Glove 임베딩 기법을 사용하고 attention모델과 CNN모델을 활용하여 학습하고 결과를 도출해 제출해보았습니다. X_train = [] alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] god_list = ['buddha', 'allah', 'jesus'] train_text_list = list(train['text']) clear_text_list = [] for text in train_text_list: text..

3월 ! 이번 달은 지난 금융문자분석경진대회와 원자력 발전소 상태판단 알고리즘 경진대회에 이어 DACON과 AI프렌즈가 함께 개최한 AI프렌즈 시즌 1 온도 추정 경진대회에 참가해보려합니다. 이 대회는 시즌 3까지 나올 예정이라고 하여 앞으로 어떤 대회가 계속 개최될지 궁금해 더 기대가 되는 대회입니다. [공공] AI프렌즈 시즌1 온도 추정 경진대회 출처 : DACON - Data Science Competition dacon.io 오늘은 첫날로 데이터에 대해서 이해하고 분석해보고자 합니다. 위의 유튜브 내용을 보면서 이해한 내용과 그 후 분석해본 내용에 대해서 적어보았습니다. 대회 목적 기상청 데이터로 특정 지역 또는 지형지물의 온도를 추정하는 모델 생성 모델 생성을 위해 기상청에서 관측한 기상 데이터..

Kaggle 도전 12회차! 오늘은 11회차에서 데이터 전처리 시 잘못 설정했던 부분들을 수정하여 다시 도전해보았습니다. from tqdm import tqdm alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] god_list = ['buddha', 'allah', 'jesus'] train_text_list = list(train['text']) text_list_corpus = '' for i in tqdm(range(len(train_text_list))): text_list_corpus = te..

Kaggle 도전 11일차! 오늘은 어제 데이터 전처리했던 방식에서 조금 더 추가하여 전처리를 진행하고 학습 시킨 후 결과를 도출하여 제출해보았습니다. 먼저 추가로 어떤 데이터를 어떻게 전처리할지 보기위해서 워드클라우드도 그려보고 단어의 빈도수도 확인해보았습니다. 먼저 저번주에 워드클라우드를 그렸던 방법에서 길이가 3이상인 단어와 nltk의 불용어에 없는 단어만 남겨놓고 그려보았습니다. (이 글을 쓰면서 정말 큰 실수했다고 생각되는 부분은 stemmer.stem(word)하기 전에 불용어 처리를 했어야했는데 이미 stemming이 완료된 이후에 불용어 처리를 하다보니 the가 thi로 바뀌는 등 제대로 불용어 처리가 되지 않았던 것 같습니다.) word_list = word_tokenize(clear_t..

Kaggle 도전 10회차! 데이터를 가공하여 학습하고 결과를 도출해보았습니다. alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] god_list = ['buddha', 'allah', 'jesus'] train_text_list = list(train['text']) text_list_corpus = '' for text in train_text_list: text_list_corpus = text_list_corpus + text text_list_corpus = text_list_corpus.lo..

Kaggle 도전 8회차! 오늘은 결과가 가장 좋았던 7회차 모델에 데이터 전처리 방식을 달리하여 제출해보았습니다. 데이터 전처리는 https://~~ 를 정규식을 활용하여 LINK로 변경하여 넣어주었습니다. from tqdm import tqdm import re text_list = list(train_data['text']) clear_text_list = [] for i in tqdm(range(len(text_list))): clear_text = text_list[i].lower() pattern = '(http|ftp|https)://(?:[-\w.]|(?:%[\da-fA-F]{2}))+/(?:[-\w.]|(?:%[\da-fA-F]{2}))+' clear_text = re.sub(patter..

Kaggle 도전 7회차! 오늘은 CNN 모델을 사용해보기로 했습니다. 첫번째 제출 model = Sequential() model.add(Embedding(max_words, 128, input_length=23)) model.add(Dropout(0.2)) model.add(Conv1D(256, 3, padding='valid', activation='relu', strides=1)) model.add(GlobalMaxPooling1D()) model.add(Dense(128, activation='relu')) model.add(Dropout(0.2)) model.add(Dense(2, activation='sigmoid')) model.compile(optimizer='adam', loss='bi..

Kaggle 도전 6회차! 오늘은 좀 더 간단한 신경망 모델을 사용해보려고합니다. 첫번째 제출 model2 = Sequential() model2.add(Embedding(max_words, 100, input_length=23)) # 임베딩 벡터의 차원은 32 model2.add(Flatten()) model2.add(Dense(128, activation='relu')) model2.add(Dense(2, activation='sigmoid')) model2.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) history = model2.fit(X_train_vec, y_train, epochs=3, batch_si..

Kaggle 도전 5회차! 오늘은 CNN-LSTM모델에서 SimpleRNN모델로 바꾸어 테스트 해보았습니다. 첫번째 제출 model = Sequential() model.add(Embedding(max_words, 100)) # 임베딩 벡터의 차원은 32 model.add(SimpleRNN(128)) # RNN 셀의 hidden_size는 32 model.add(Dense(2, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) history = model.fit(X_train_vec, y_train, epochs=3, batch_size=32, validation_sp..

Kaggle 도전 4회차! 오늘은 저번 CNN-LSTM모델에서 마지막 레이어의 activation이 sigmoid가 아닌 softmax였던 것을 sigmoid로 바꾸어 시도해보았습니다. 첫번째 제출 model = Sequential() model.add(Embedding(max_words, 100, input_length=23)) model.add(Dropout(0.2)) model.add(Conv1D(128, 3, padding='valid', activation='relu', strides=1)) model.add(MaxPooling1D(pool_size=4)) model.add(LSTM(128)) model.add(Dense(2, activation='sigmoid')) model.compile(o..

Kaggle 도전 3회차! 데이터 전처리는 1회차와 2회차 동일하게 실행하고 모델만 Bi-LSTM에서 CNN-LSTM으로 바꾸어보았습니다. 첫번째 제출 model = Sequential() model.add(Embedding(max_words, 100, input_length=23)) model.add(Dropout(0.2)) model.add(Conv1D(128, 3, padding='valid', activation='relu', strides=1)) model.add(MaxPooling1D(pool_size=4)) model.add(LSTM(128)) model.add(Dense(2, activation='softmax')) model.compile(optimizer='adam', loss='cat..

Kaggle Competition 도전 1일차! DACON에서 진행했던 원자력발전소 상태판단 알고리즘 경진대회도 끝났겠다 한국인공지능 아카데미 BERT 실용교육에서 알게 된 Real or Not? NLP with Disaster Tweets! Kaggle Competition을 도전해보기로 했습니다. 이번에는 하루 5번 제출이 가능하고 3월 23일까지 기간이 넉넉하게 있기에 어떠한 모델들을 사용해 볼지 어떤 데이터 전처리를 진행한 뒤에 실시해볼지 고민해서 계획 후에 도전하며 모델의 성능을 높여나가는 과정을 기록해보려합니다. 오늘은 처음으로 도전하는 날이고 기존에 알고있던 nltk를 활용한 토큰화, stemming, Keras 모델을 활용하여 시도해보았습니다. 진행 환경은 Google Colab의 TPU ..

Real or Not? NLP with Disaster Tweets Predict which Tweets are about real disasters and which ones are not www.kaggle.com DACON 에서 진행했던 KB 금융문자분석 경진대회도 끝나고 Programmers에서 진행했던 2020 Dev-Matching 자연어처리 개발자 과제도 끝나고 자연어처리 관련 Competition이 어디 없나 찾던 중 지난 BERT 교육에서 알게된 Kaggle Competition 중 하나인 Real or Not? NLP with Disaster Tweets Competition에 도전해보기로 했습니다. 재난 문자인지 아닌지! 영어로 되어있는 트윗을 이진분류하는 Competition 입니다..

1~3일차에는 기본적인 파이썬을 활용한 자연어처리와 어텐션 모델과 GRU모델을 활용한 간단한 분류 실습과 BERT를 사용한 SQuAD, KorQuAD 실습을 했다면 4~5일차는 3일차에 구성퇸 팀원들끼리 각팀의 아이디어를 가지고 실습해보았던 BERT를 활용하여 구현해보고 발표하는 시간을 가졌습니다. 다들 짧은 시간안에 다양한 아이디어를 BERT를 활용하여 구성하는 시간이었습니다. 팀은 총 6개의 팀으로 구성되었으나 아쉽게도 마지막날 한 팀이 사정상 참석을 하지못하여 최종 구현 및 발표는 5개의 팀이 발표를 하게 되었습니다. 아이디어는 - BERT와 재난 트윗 - BERT 를 활용하여 쇼핑몰 리뷰 평점 예측하기 - BERT를 이용한 키워드 추출 - KoBERT를 이용한 한국어 모델 만들기 - 게시판 글 카..

평소와 같이 쉬면서 평화롭게 페이스북을 하던 중 한국인공지능아카데미에서 BERT에 관련된 교육을 한다고하여 평소에 말로만 이야기하고 한번도 사용해보지는 못한 BERT에 대해서 배울 수 있는 좋은 기회라고 생각하여 신청해보았습니다. 그리고 제가 지난 한 달 동안 도전해보았던 DACON 금융문자분석 경진대회에서 7위로 장려상을 수상하신 통계청의 김웅곤님이 교육을 하신다고 하여 노하우도 들어보고 싶고 현재 도전하고 있는 프로그래머스의 Dev-Matching 도전에도 도움이 될 만한 정보를 얻을 수 있을까 하여 더더욱 수강하고싶었습니다. 신청 후! 교육대상 확정 메일이 오게되었고 교육을 들을 수 있었습니다. 교육은 공덕에 있는 서울창업허브 9층에 있는 세미나실에서 진행되었습니다. 서울 창업허브는 말로만 듣고 처..