목록코드스테이츠 AIB 17 (20)
데이터 놀이터
오늘의 키워드 Python 디버깅 함수 클래스 데코레이터 개념 정리 1. Python 디버깅(debugging) (1) 개념 버그를 찾는 것을 말하며 Python에서는 pdb(python 3.6이전), breakpoint함수(python 3.7 이후)로 디버깅 기능 지원 ### 예시 def simple_func(num): sum = 0 breakpoint() ## 디버깅을 위한 중단점 설정 for i in range(1, num + 1): breakpoint() ## 디버깅을 위한 중단점 설정 sum += i return sum simple_func(4) (2) 디버거 명령어 참조 : https://docs.python.org/ko/3/library/pdb.html pdb — The Python Debu..
개념 정리 gitignore : git 사용시 버젼 관리를 하지 않아도 되는 파일을 모아놓는 곳 git.init : 깃 초기화, (다른 분야에서 init을 사용할 때는 초기 설정을 의미) DB 정규화(Regularization) : 중복을 최소화할 수 있도록 데이터를 구조화하는 프로세스 1차 정규화 : 각 row마다 컬럼 값이 하나 2차 정규화 : 기본키 중 특정 컬럼에만 종속된 컬럼이 없어야 함(부분적 종속이 없어야 함) 3차 정규화 : 기본키 이외의 컬럼이 다른 컬럼을 결정할 수 없음(이행적 함수 종속이 없어야 함 위 정규화들은 앞선 단계의 정규화를 만족시키는 것으로 봄 참고자료 : https://3months.tistory.com/193 subQuery vs JOIN 문 성능 비교 : 대부분의 경우..
오늘의 키워드 DB API 클라우드 DB PostgreSQL sqlite3 psycopg2 개념 정리 1. Python DB API DB API(Application Programming Interface) python과 DB 간 상호작용을 위해 활용하는 규칙, 툴 sqlite3 : 파이썬 내 가벼운 파일형 DB, 고급 기능을 구현하기에는 무리가 있지만 단순 실험, 개발 단계에서 활용하기 좋음 import sqlite3 ## 1. 데이터베이스 파일 생성 및 연결 conn = sqlite3.connect('DB명') ## 2. 커서(소통 도구) 생성 cur = conn.cursor() ## 3. 커서 메소드 활용 cur.execute(쿼리문) ## 4. commit conn.commit() ## 5. 결과..
오늘의 키워드 Transaction ACID SQL 내장함수 1. 개념 정리 A. Transaction 데이터베이스의 상태를 변화시키는 작업의 모음, 작업들의 모음이기 때문에 하나의 작업이라도 실패하게 된다면 전부 실패함 INSERT, DELETE, UPDATE 등 DML(Data Manipulation Language)을 통해 데이터베이스의 상태를 변화시키고 COMMIT, ROLLBACK 등 TCL(Transaction Control Langauge)를 통해 확정 또는 되돌린다. B. ACID Atonomy, Consistency, Isolation, Durability 등 데이터베이스 내에서 일어나는 하나의 Transaction이 보장하는 성질 Atonomy(원자성) : Transaction이 성공하..
오늘의 키워드 DB SQL RDB Schema 쿼리문 1. 개념 정리 1. 데이터베이스 (DB) 필요성 : 프로그램의 실행 여부와 관계없이 대량의 데이터를 저장, 검색 등을 하기 편하기 때문에 사용함 종류 관계형 데이터베이스 비관계형 데이터베이스 구조 테이블 사용, 서로 다른 데이터 간 구조 파악 용이 테이블 사용X, 스키마에 대한 정의가 없음 언어 SQL NoSQL 프로그램 MySQL, Oracle, SQLite... MongoDB 장점 정렬, 탐색, 분류가 빠르고 정규화로 중복 최소화 융통성 있는 데이터 모델로 대용량 데이터 처리에 효율적 단점 대용량 데이터 처리에 비효율적 데이터 구조 파악에 어려움 MySQL vs SQL : MySQL이 창고(DB)라면 SQL은 창고 안에서 물건을 나르는 지게차와 ..
오늘의 키워드 터미널 CLI vs GUI 가상 환경 아나콘다 깃, 깃 허브 1. 개념 정리 1. 터미널과 CLI 터미널 (terminal) 오직 글자로 컴퓨터에게 명령을 전달할 수 있는 창구 CLI (Command Line Interface) 터미널에서 명령이 전달되고 컴퓨터가 이를 수행하는 과정을 CLI라고 부른다. 마우스를 이용하는 GUI(Graphical User Interface)와 반대되는 개념 GUI의 경우 마우스, 커서 등 명령을 내리고 수행하는 과정에서 상당한 자원을 소모하기 때문에 CLI에 비해 비효율적 Python, Git, Docker 등 모두 CLI 기반으로 개발되고 사용되기 때문에 사실 개발을 하고자 하는 우리에게는 선택권이 없다.. Directory 파일을 분류하기 위해 사용하는..
1. 머신러닝 의의 인공지능의 하위 개념으로 지도학습 방법이다. 지도학습은 컴퓨터에게 데이터와 답을 주고 인간이 발견하기 힘든 규칙과 패턴을 찾아내도록 학습하는 방법이다. 용어 정리 데이터 : 데이터셋은 데이터의 특성(feature)과 답(target)으로 이루어져 있음 모델 : feature과 target 간의 수학적 관계를 정의한 것 훈련(Training) : feature와 target 간 유의미한 패턴과 규칙을 찾아 더 나은 모델을 만들고자 하는 과정 평가(Evaluation) : 예측 모델이 새로운 데이터를 투입했을 때 얼마나 유의미한 예측을 할 수 있을지 판단하는 과정, 평가 시 만족스러운 결과가 나오지 않는다면 훈련 단계로 돌아감 추론(Inference) : 평가를 통과한 예측 모델에 새로운..
1. Bayes Theorem (베이지안 이론) 베이지안 이론은 사전 확률(prior)을 통해서 얻은 증거를 토대로 사후 확률(posterior)을 구하는 과정을 반복함으로써 점점 객관적인 지표를 찾아나가는 이론이다. 이를 이해하기 위해서는 이항 분포, 조건부 확률 등에 대한 이해가 필요하다. (1) 이항 분포 (Binomial Distribution) Yes or No 또는 구매/비구매 등 한 사건에 대해서 가능한 선택지가 2개인 분포를 말한다. 가장 대표적인 예시가 동전 던지기로 동전을 n번 던져 앞면이 k번 나올 확률을 구하는 것이다. 먼저 n번을 던져 앞면이 k번 나올 경우의 수를 구한 뒤 이에 맞는 확률을 곱해주면 된다. # n번 던져서 k번 앞면이 나올 경우의 수 nCk -> n!/k!(n-k..
1. EDA (Exploratory Data Analysis) 탐색적 데이터 분석, 말 그래도 데이터 분석을 위해 데이터를 탐색하는 과정이다. 마치 우리가 요리를 하기 전에 재료의 특성, 조리법 등을 알아야 하듯이 데이터 분석을 하기 전에 데이터가 어떤 특성, 분포를 갖고 있는지를 알아보는 중요한 단계다. EDA를 수행하기 위해서 pandas 메서드, Feature Engineering, 통계치 및 시각화를 활용한다 (1) pandas 메서드 먼저 통계치를 이용하는 방법에는 다음과 같은 코드가 있다. 모두 pandas의 메서드이다. df.shape # 행, 열의 수 df.info() # 열 별로 결측치, 데이터타입 등을 종합적으로 파악 가능 df.isnull().sum() # 결측치 수 df.dtypes..
2022년 12월 1일에 코드스테이츠 AI 부트캠프 합격문자를 받았고, 12월 9일(금)부터 수업을 듣게 되었다. 코드스테이츠에 왜 지원하게 되었는지, 그리고 앞으로 어떻게 공부를 이어나갈지 각오를 적어보려고 한다. 1. 지원 동기 사실 처음부터 가고 싶었고 준비했던 부트캠프는 SSAFY였다. 아무래도 탄탄한 커리큘럼과 삼성이라는 대기업이 주는 신뢰감이 컸던 것 같다.(지원금도 월 100만원..!) 하지만 SSAFY에서는 내가 원하던 데이터 분야과 관련된 교육이 진행되고 있지 않았다. 이 때문에 지원동기를 묻는 에세이 작성 과정에서 많은 어려움을 겪었다. 최종 지원을 마친 후 파이썬과 데이터 관련 교육을 진행하는 부트캠프를 더 알아보게 되었다. 여러가지 부트캠프들이 있었지만 코드스테이츠를 선택한 이유는 ..