[Day28] 캐글 경진대회 노하우 & Full Stack ML Engineer

2021. 3. 3. 20:44·AI/부스트 캠프 AI tech

[Day28] 캐글 경진대회 노하우 & Full Stack ML Engineer

캐글은 세계에서 가장 유명한 AI 경진대회 플랫폼이다.

 

 

캐글 경진대회

  • 캐글의 전반적인 소개로 너무 좋았다.
  • 어떻게 시작해야 하는지와 캐글 용어들에 대해서 자세히 알게 되었다.
  • 제출까지 파이프 라인을 먼저 만들고 진행하는 것이 좋다.

  • 이 파이프 라인을 기준으로 파라미터 및 feature engineering을 통해서 점수를 개선한다.

  • 또 이 파이프 라인이 너무 오래 걸리면 다른 방법을 찾아보는 것이 좋다 ex) GPU를 더 좋은 것으로 바꾼다 or 데이터를 줄여본다.

 

Full Stack ML Engineer

  • Full stack의 전반적인 파이프 라인으로 이해하기 좋았다.
  • Data version 관리 및 loader개발은 유익한 내용이였다.

 

 

  • 데이터 대시보드 - streamlit

 

 

피어세션

  • 저번에 풀어봤던 백준 17142번: 연구소 3에 대해서 다른 사람 소스를 보고 토론을 진행하였다.
import collections as col


def DFS(cnt, idx_list):
    if len(idx_list) == M:
        subset.append(idx_list)
        return
    for i in range(cnt, total_virus):
        if not used[i]:
            used[i] = 1
            DFS(i, idx_list + [i])
            used[i] = 0

def BFS(i, j, idx):
    que = col.deque()
    que.append((i, j))
    cnt = 1
    while que:
        for _ in range(len(que)):
            u, v = que.popleft()
            for n in range(4):
                if 0 <= u + dirs[n][0] < N and 0 <= v + dirs[n][1] < N:
                    if board[u + dirs[n][0]][v + dirs[n][1]] != 1:
                        if void_dict[(u + dirs[n][0], v + dirs[n][1])][idx] == 9999:
                            void_dict[(u + dirs[n][0], v + dirs[n][1])][idx] = cnt
                            que.append((u + dirs[n][0], v + dirs[n][1]))
        cnt += 1


def find_num(idxs):
    global answer
    max_value = 0
    for numbers in results:
        min_value = 9999
        for idx in idxs:
            if numbers[idx] < min_value:
                min_value = numbers[idx]
        if min_value > max_value:
            max_value = min_value
        if max_value >= answer:
            return
    answer = max_value


dirs = [(-1, 0), (1, 0), (0, -1), (0, 1)]
N, M = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(N)]
total_virus = 0
void_dict = {}
subset = []
answer = 9999

for i in range(N):
    for j in range(N):
        if board[i][j] == 2:
            total_virus += 1
            void_dict[(i, j)] = [9999] * 10
        elif not board[i][j]:
            void_dict[(i, j)] = [9999]*10

used = [0]*total_virus
DFS(0, [])

n = 0
for i in range(N):
    for j in range(N):
        if board[i][j] == 2:
            BFS(i, j, n)
            n += 1

for i in range(N):
    for j in range(N):
        if board[i][j] == 2:
            void_dict[(i, j)] = [0] * 10

results = list(void_dict.values())

for i in range(len(subset)):
    find_num(subset[i])

if answer == 9999:
    answer = -1

print(answer)

모든 경우의 수를 각각 탐색하는 방법이 아니라 각 바이러스가 걸리는 시간을 미리 저장해 두어서 그 값에서 최소값을 찾는 방식으로 시간을 단축하였다.

'AI > 부스트 캠프 AI tech' 카테고리의 다른 글

[Day32] Semantic Segmentation  (0) 2021.03.09
[Day31] Image Classification I & data Augmentation  (0) 2021.03.08
[Day30] AI + ML과 Quant Trading & AI Ethics  (0) 2021.03.05
[Day29] NLP를 위한 언어 모델의 학습, 평가 & AI와 저작권법  (0) 2021.03.04
[Day27] 서비스 향 AI 모델 개발 & AI 시대의 커리어 빌딩  (0) 2021.03.02
[Day24] 정점 표현 & 추천시스템(심화)  (0) 2021.02.25
[Day23] 군집 탐색 & 추천 시스템(기초)  (0) 2021.02.24
[Day22] 페이지랭크 & 전파 모델  (0) 2021.02.23
'AI/부스트 캠프 AI tech' 카테고리의 다른 글
  • [Day30] AI + ML과 Quant Trading & AI Ethics
  • [Day29] NLP를 위한 언어 모델의 학습, 평가 & AI와 저작권법
  • [Day27] 서비스 향 AI 모델 개발 & AI 시대의 커리어 빌딩
  • [Day24] 정점 표현 & 추천시스템(심화)
N-analyst
N-analyst
  • N-analyst
    개발자CuCu
    N-analyst
  • 전체
    오늘
    어제
  • 공지사항

    • 티스토리에서 원하는 글 찾는 방법
    • 분류 전체보기 (140)
      • 티스토리 (4)
      • 알고리즘 (5)
        • 알고리즘 정리 (1)
        • 백준 (4)
      • 마크다운(Typora) (13)
        • 사용법 (13)
      • 에러 (1)
        • 파이썬 (1)
      • 데이터 분석 (5)
        • python_analysis (3)
        • Machine Learning (2)
      • AI (109)
        • 파이토치로 시작하는 딥러닝 기초 (2)
        • 부스트 캠프 AI tech (41)
        • 이론 (66)
      • 파이썬(python) (1)
        • 기타 (1)
      • 웹 프로그래밍 (1)
        • 설정 팁 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.6
N-analyst
[Day28] 캐글 경진대회 노하우 & Full Stack ML Engineer
상단으로

티스토리툴바