[Dacon] 행동 데이터 분석 인공지능 AI 경진대회 2등 코드 분석

행동 데이터 분석 인공지능 AI 경진대회 주제 대회는 Blizzard 스타크래프트2 경기의 행동 데이터로 승패를 예측 배경 게임을 잘하는 나라’, ‘E-sports의 성지’라는 호칭을 얻게 된 요인에 게이머들의 탁월한 전략이 함께 합니다. 그리고 여러분은 데이터를 분석하여 전략을 발전시킬 수 있는 능력을 갖추고 있습니다. E-Sports 속 한국이란 나라의 위용에 걸맞은 알고리즘을 만들어주세요! 여러분이 만든 알고리즘이 우리의 게임 실력을 한층 더 발전시킬 수 있습니다. 평가 - AUC 소스 [2등][도발하려던건 아니었습니다만]Ensembled CatBoost Model 1.Library & Data # 라이브러리 설치 import os # 디렉토리 설정 os.chdir("/data") import wa..

[Data Science] 데이터 사이언스 개념 - 10.딥러닝

딥러닝 1.딥러닝이란? 딥러닝 - 심층 신경망이란 3층이상의 깊은 계층을 가진 신경망의 총칭 딥러닝의 등장배경 네트워크의 심층화와 대규모화로 더 높은 일반화 성능을 실험적으로 달성 할 수 있게 되었다. 가설(어떤 원리가 작용하는지) 1.소수의 파라미터 수로 복잡한 함수를 표현할 수 있다. 2.대규모화 되면서 국부 최적해가 비슷한 비용을 갖기 쉬워졌고 비교적 간단하게 좋은 국부 최적해를 발견할 수 있게 되었다 2.딥러닝이 등장하기까지의 기술적 배경 심층 신경망과 그렇지 않은 신경망을 나누는 것은 네트워크의 구조다. 초기 딥러닝은 1990년대에 이미 제안되어 있었다. 이때는 기술적 한계로 인한 것이였다. 문제를 보완할 정도의 빅데이터가 없는한, 높은 일반화 성능을 실현하기는 어려웠다. 빅데이터를 비교적 쉽게..

[Data Science] 데이터 사이언스 개념 - 9.신경망이 기초

신경망의 기초 1.신경망이란? 신경망 - 동물의 신경 시스템을 모방한 학습 모델의 총칭 시냅스를 매개로 다른 세포로부터 작극을 받아 들인 신경 세포는 자극이 어느 일정 수위를 넘으면 흥분 상태가 되고, 그 세포가 시냅스 결합을 가진 다른 신경 세포에 자극을 전달한다. 신경망은 이 신경 세포의 동작을 단순화해서 모방한 뉴런이라는 계산소자를 다수 결합해서 구성한 학습 모델이다. 가장 일반적인 것은 1940년대에 제안된 맥컬록-피츠 뉴런이다. 이 뉴런은 임계값을 넘었을 때 흥분 상태를 나타내는 1을 출력하고, 그 이외에는 0 을 출력하는 함수다. 컴퓨터의 연산회로가 다수의 논리 회로를 조합해 다양한 연산을 할 수 있는 것 처럼 단순한 계산 소자인 뉴런을 복잡하게 구성함으로써 다양한 계산이 가능해진다. 2.단순..

[Data Science] 데이터 사이언스 개념 - 8.토픽 모델 / 네트워크 분석

토픽모델 토픽 모델(Topic model)이란 문서 집합의 추상적인 "주제"를 발견하기 위한 통계적 모델 중 하나로, 텍스트 본문의 숨겨진 의미구조를 발견하기 위해 사용되는 텍스트 마이닝 기법 1.백오즈워즈와 음수 미포함 행렬 분해 백오브워즈 - 각 문서에서 단어의 출현 빈도를 행렬형식으로 정리한 것 대량의 문서중에 어떤 화제의 문장이 있는지 요약 정보를 얻고 싶을 때 사용한다. 희소행렬 - 값이 거의 0 인 행렬 문서 군의 요약을 구할 때는 이 희소행렬을 분해하는 방법을 사용하는 경우도 있다. 이것을 잠재의미 분석(Latent Semantic Analysis, LSA) 라고 부른다. 행렬의 각 요소가 양수인 성질에 주목하면 음수 미포함 행렬 분해라는 방법도 적용할 수 있다. 음수 미포함 행렬 분해 - ..

[Data Science] 데이터 사이언스 개념 - 7.비지도 학습

비지도 학습 1.K-평균법 k평균법 - 같은 클러스터 내의 데이터 점끼리 거리가 짧아지도록 데이터를 주어진 수의 클러스터로 분류하는 것 비지도 학습의 일종으로 클러스터링이다. 위와 같이 데이터가 어느 그룹에 속할지 결정하는 것이 목표이다. k 평균법 구현하는 방법 데이터를 몇 개의 클러스터로 나눌지 결정한다. 라벨을 랜덤으로 붙인다. 다음으로 각 라벨의 점의 중심을 계산해준다. 큰 라벨처럼 중심점이 정해진다. 다음으로 각 점에 가장 가까운 중심점과 같은 라벨을 다시 칠해준다. 이것을 반복하고 각 라벨의 갱신을 반복해간다. 2.계층적 클러스터링 계층적 클러스터링 - 하나하나의 데이터를 근접한 데이터와 결합함으로써 바텀업 방식으로 클러스터링하는 방법 계층적 클러스터링을 구현 하는 방법 클러스터수를 데이터 수..