목록분류 전체보기 (76)
코딜기
EC2란?EC2는 AWS 내에서 제공하는 클라우드 컴퓨팅 리소스를 사용할 수 있는 서비스입니다.EC2를 통해 가상 서버를 구축하면 빠르게 애플리케이션을 개발하고 배포할 수 있습니다.EC2는 사용할 인스턴스 유형, 운영체제 등을 선택할 수 있고, 메모리, CPU, 스토리지 크기 등을 설정할 수 있습니다.※ EC2를 사용하기 위해 AWS에 가입을 하고, Free Tier 설정까지 마쳐야 합니다. ※ 모든 게시물은 AWS의 Free Tier 기준으로 진행할 예정입니다.1. AWS 홈페이지에 로그인을 한 후 검색창에 EC2를 검색해서 EC2 대시보드로 이동해줍니다.2. 리전을 한국의 서울로 바꿔주고, 인스턴스 목록을 띄워줍니다.3. 인스턴스를 만들기 위해 인스턴스 시작을 눌러줍니다.4. 인스턴스의 이름과 운영체..
Git(and Github)이란?Git은 오픈소스 분산형 버전관리 시스템 또는 프로그램입니다.Git을 기반으로 소스코드를 공유할 수 있도록 만들어진 웹 서비스입니다.Git을 사용하면 소스코드의 버전관리뿐만 아니라 로컬에서 작업한 파일들을 다른 환경에서 그대로 사용할 수 있다는 장점이 있습니다.Git의 기본 동작 로컬의 Workspace에서 작업한 파일들을 Stage에 add한 후 Local Repository에 commit을 하고, commit된 내용을 push하여 최종적으로 Github에 올립니다.반대로 Github에 올린 파일을 Pull하여 현재 Workspace로 가지고 올 수 있고, fetch하여 Local Repository로 가지고 올 수 있습니다.또한 Stage에 올린 파일을 다시 내리고 싶..
Airflow Library 설치airflow를 사용하기 위해 필요한 라이브러리를 설치해야 합니다.프로젝트를 위해 만든 가상환경 위에 라이브러리를 설치해야 다른 프로젝트 환경에 영향을 주지 않고 실행할 수 있습니다.1. 아래의 명령어를 프로젝트 가상환경 터미널에 입력해서 라이브러리를 설치해 줍니다.pip install "apache-airflow[celery]==2.9.0" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.9.0/constraints-3.8.txt"※ 여기서 주의할 점은 꼭 맨 앞에 (venv)가 있는지 확인하고 명령어를 입력해주셔야 합니다. 만약 없다면 가상환경에 접속 후 New Termin..
로컬에서 실행된 Docker에서 Airflow 띄우기모든 과정은 Docker가 설치되어 있는 상태에서 터미널(CMD)에서 진행됩니다.맥북은 터미널창에서 그대로 진행하시면 되시고, 윈도우는 WSL의 리눅스 환경 터미널에서 진행해 주시면 됩니다.1. cd 명령어를 통해 작업을 할 폴더로 이동해 줍니다. 2. airflow를 실행시키기 위해 공식 홈페이지에서 제공하는 docker-compose.yaml 파일을 불러오는 명령어를 실행시켜 줍니다.curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.9.0/docker-compose.yaml' 3. airflow 사용에 필요한 폴더를 만들어줍니다.mkdir -p ./dags ./logs ./plugins ./c..
파이썬 가상환경이란?프로젝트를 진행할 때 사용되는 라이브러리의 버전 충돌 방지를 위해 파이썬 인터프리터 환경을 격리시키는 기술입니다.파이썬은 지속적으로 업데이트가 되기 때문에 프로젝트 진행시기에 따라서 사용되는 버전이 상이한 경우가 많습니다.가상환경(venv)을 통해 상이한 라이브러리 버전을 사용하는 여러개의 프로젝트를 관리할 수 있습니다.파이썬 가상환경 생성 및 접근1. 우선 프로젝트 경로에서 파이썬 버전을 확인합니다.-> 파이썬이 설치되어 있는지 확인2. 파이썬이 정상적으로 설치되어 있다면 아래의 명령어를 통해 가상환경 세팅을 해줍니다. 정상적으로 실행이 되었다면 현재 경로에 venv라는 폴더가 생성된 것을 볼 수 있습니다.python -m venv ./venv 3. vscode의 Help - ..
Riot Games API 지난 게시글에서 Request Limits를 높이기 위해 API Key를 추가적으로 승인 요청해서 발급을 받았습니다. 이번에는 발급받은 API를 사용해서 Data Request를 해보겠습니다. API 요청 이번에는 홈페이지를 통해서 API를 사용하겠지만, 이후 글에서는 전부 Python으로 API를 사용하겠습니다. 저는 주로 홈페이지에서 제공하는 API Request 기능은, 각각 Method들이 어떤 데이터를 제공하는지, 나의 API Key가 정상 작동하는지, Request URL이 어떻게 구성되어 있는지 확인하는 경우에 사용합니다. FTF 랭크 게임의 Challenger 유저들에 대한 Method를 사용해보겠습니다. Method를 클릭하면 아래쪽에 위와 같은 Query Pa..
Riot Games API Riot Games에서 제공하는 API를 통해 데이터를 수집 및 적재하고, 이후 BigQuery, Airflow를 사용해서 데이터 파이프라인을 구축하고, 간단한 서비스를 시각화를 통해 만들 계획입니다. 먼저 API를 사용하려면 Riot Games에서 API를 어떤 방식으로 제공하는지 알아봐야겠죠?? https://developer.riotgames.com/ Riot Developer Portal About the Riot Games API With this site we hope to provide the League of Legends developer community with access to game data in a secure and reliable way. This..
선형 회귀 분석(Linear Regression)이란 무엇일까요? 회귀 분석은 독립 변수(x)가 종속 변수(y)에 어떤 영향을 미치는지 알아보고자 할 때 실시하는 분석방법입니다. 선형 회귀는 데이터가 분포되어 있는 공간에서 데이터를 가장 잘 표현하는 선을 하나 긋는다고 생각할 수 있습니다. 다른 모델들 보다 모델 성능이 상대적으로 낮기 때문에 앙상블에서 하나의 모델이나 스태킹의 최종 계층에 적용하는 식의 용도로 주로 쓰이며, 과적합이 이루어지기 쉬운 데이터에서만 종종 사용합니다. 독립 변수(x)의 개수에 따라 단순(1개), 다중(2개 이상) 모델이 있습니다. 종속 변수(y)의 개수에 따라 단변량(1개), 다변량(2개 이상) 모델이 있습니다. 선형 회귀 분석의 비용 함수 최소 제곱법 : 실제 값과 회귀 모..
다중 분류의 로그 손실(logloss)이란 무엇일까요? logloss는 분류 문제의 대표적인 평가지표이며 교차 엔트로피(cross-entropy)라 부르기도 합니다. 실제 값을 예측하는 확률에 로그를 취하여 부호를 반전시킨 값입니다. 즉, 분류 모델 자체의 잘못 분류된 수치적인 손실값(loss)을 계산합니다. logloss는 낮을수록 좋은 지표입니다. 예측 값은 행 데이터 수 X 클래스 수의 행렬로 계산되고, 행 데이터가 속한 클래스의 확률을 낮게 예측하면 패널티가 크게 주어집니다. 또한 각 행 데이터에 대한 예측 확률의 합계는 1이 되어야 하므로 그렇지 않을 경우는 평가지표 계산에서 자동 조정됩니다. Python (다중 분류) from sklearn.metrics import log_loss # 데이터..
이진 분류의 로그 손실(logloss)이란 무엇일까요? logloss는 분류 문제의 대표적인 평가지표이며 교차 엔트로피(cross-entropy)라 부르기도 합니다. 실제 값을 예측하는 확률에 로그를 취하여 부호를 반전시킨 값입니다. 즉, 분류 모델 자체의 잘못 분류된 수치적인 손실값(loss)을 계산합니다. logloss는 낮을수록 좋은 지표입니다. 위 예시처럼 각 행 데이터가 양성일 확률을 낮게 예측했음에도 양성(1)일 경우나, 양성일 확률을 높게 예측했음에도 음성(0)일 경우에는 패널티가 크게 주어집니다. 위 그래프처럼 예측값이 1이 될 확률을 1로 정확하게 예측할 때 로그 손실의 값은 최소가 됩니다. Python (이진 분류) from sklearn.metrics import log_loss # ..