전체 글
-
[SQL DDL] SQL 테이블 생성CREATE, 수정ALTER, 삭제DROP직접 해보기/SQL 2024. 8. 7. 21:12
0️⃣ DDL (Data Definition Language, 데이터 정의어)관계형 데이터베이스(RDB; Relation Database)는 릴레이션(Relation)에 데이터를 저장, 관리합니다.릴레이션은 데이터베이스 관리시스템(DBMS)에서 테이블(Table)로 생성되며, 이 때 테이블을 생성, 변경, 삭제할 때 사용하는 명령어를 통틀어 DDL 이라고 부릅니다.다시 말해, DDL은 RDB의 구조를 정의하는 명령어 = 데이터를 저장하는 테이블을 생성, 변경, 삭제하기 위한 명령어 입니다.예를 들면, 새로운 테이블 생성, 열 추가, 열 데이터타입 변경, 열 이름 변경, 테이블 이름 변경, 테이블 삭제 등이 있습니다.테이블 생성테이블 변경테이블 삭제CREATE TABLEALTER TABLEDROP TAB..
-
[seaborn] 데이터프레임으로 빈도그래프 빈도차트 카운트차트 그리기 :: sns.countplot직접 해보기/Python 2024. 7. 11. 16:46
0️⃣ 패키지 & 데이터프레임 불러오기예시가 될 데이터셋은 Kaggle에서 가져온 Flight Price Prediction 입니다.출발시간(departure_time)별로 빈도수가 어떻게 다른지 빈도 그래프를 작성해보겠습니다.# 패키지 불러오기import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns# 데이터셋 불러오기df = pd.read_csv('./Clean_Dataset.csv', encoding='cp949')df = df.drop([df.columns[0]], axis=1)1️⃣ sns 빈도그래프 그리기 :: sns.countplot범주형데이터에 포함된 항목별로 빈도수를 카운트해서, ..
-
데이터분석 모델링 프로세스, 머신러닝 AI 모델링 과정 요약 정리위키/데이터분석 2024. 7. 5. 15:23
1️⃣ 데이터 파악 데이터 유형 및 구조 파악하기 • 정형/반정형/비정형 중 어떤 형태인지 파악 • 정형 데이터: 엑셀 스프레드 시트와 같은 테이블 형태의 데이터가 대표적 • 반정형 데이터: 로그, JSON, 이메일 등 일부 정형화 되어있으나 비교적 유연한 데이터 유형 • 비정형 데이터: 이미지, 영상, 텍스트 등 정해진 구조나 형식이 없는 데이터, 분석을 위해 가공 필요. 데이터 학습에 영향 미칠 수 있는 모든 요소 파악하기• 수치형 데이터는 분포 및 요약통계량 확인• 범주형 데이터는 빈도 및 교차표 등 확인• 데이터 중복 여부, 결측치 여부, 이상치 여부 확인 → 전처리 필요한 요소들 확인 • 레이블링 여부 = 정답 = Y값이 있는지 확인 → 있으면 지도학습, 없으면 비지도학습 모델이 될 것 2️..
-
회귀모델 평가지표 - R2 score 결정계수, MAE, MSE, RMSE, MAPE, MPE위키/데이터분석 2024. 7. 4. 22:12
✅ R² score = 결정계수R² score 는 회귀모델이 데이터에 얼마나 적합한지 나타내는 지표입니다. 1에 가까울수록, 모델 성능이 좋다고 평가합니다.회귀모델의 기본적인 평가지표는 아래와 같이 계산합니다.✔️ SSE = 오차제곱합 = ∑(예측값과 실제값의 차이)²✔️ SSR = 회귀제곱합 = ∑(예측값과 평균값의 차이)² ✔️ SST = 전체제곱합 = ∑(실제값과 평균값의 차이)² ✔️ R² score = 결정계수 = SSR / SST = 1 - (SSE / SST) ✅ 오차 = 실제값과 예측값의 차이 를 이용한 평가지표들MAE = Mean Absolute Error = 평균 절대 오차 = ∑|예측값과 실제값의 차이|² / 전체 개수- 오차가 작을수록 = MAE값이 작을수록, 모델 성능이 좋음.M..
-
분류모델 평가지표 - 오차행렬 혼동행렬, 정확도 재현율 정밀도 F1-score, ROC곡선 AUC위키/데이터분석 2024. 7. 4. 17:37
✅ 오차행렬 = 혼동행렬 = Confusion Matrix오차행렬은 분류모델을 평가하는 데 가장 많이 사용되는 지표 중 하나입니다. 데이터의 답이 Positive / Negative 2가지로만 분류되는 상황에서, 발생 가능한 경우의 수는 아래 4가지 뿐입니다.✔️ TP (True Positive) : 예측값이 Pos = 실제값도 Pos ✔️ FP (False Positive) : 예측값이 Pos ≠ 실제값은 Neg ✔️ FN (False Negative) : 예측값이 Neg ≠ 실제값은 Pos ✔️ TN (True Negative) : 예측값이 Neg = 실제값도 Neg 위 4가지 경우를 가지고 분류모델의 평가지표를 계산할 수 있습니다.✔️ 정확도 : 분류모델이 실제값을 정확하게 예측한 비율 ..
-
[Pandas] 데이터프레임 칼럼 나누기, 칼럼 합치기 :: split() join() apply()직접 해보기/Python 2024. 7. 3. 12:33
0️⃣ 패키지 & 데이터프레임 불러오기예시가 될 데이터셋은 Kaggle에서 가져온 Flight Price Prediction 입니다.비행사(airline), 비행편 이름(flight) 칼럼만 가져왔고, 비행편 이름 칼럼으로 칼럼 나누기 합치기 테스트를 해볼게요.import pandas as pdimport numpy as np# 데이터셋 불러오기 : 비행사, 비행편 이름만df = pd.read_csv('./Clean_Dataset.csv', usecols=['airline', 'flight'], encoding='cp949')1️⃣ 칼럼 나누기 :: .str.split()비행편 이름(flight) 중간의 '-' 를 기준으로 나눠서, 제조사(manufacturer)와 모델이름(model) 칼럼 2개..
-
[Pandas][sklearn] 정규화, 표준화 - 수치형데이터 스케일링 :: MinMaxScaler StandardScaler직접 해보기/Python 2024. 7. 2. 16:30
✅ 수치형데이터 스케일링 (Scaling)스케일링(Scaling)• 수치형 데이터가 여러개 있는데 숫자범위가 다르다면 → 범위를 비슷하게 만들어줄 필요가 있다. • 왜냐하면? 그대로 모델링하면 상대적으로 큰 숫자를 가지는 칼럼의 기여도가 더 크게 반영되어버리기 때문! • 따라서 스케일링하여 상대적인 크기 차이를 없애줘야 함 • 스케일링을 통해 데이터의 불필요한 차원을 줄이고, 분석모델의 학습속도가 향상시킬 수 있음 (효율↑)정규화(Normalization) • Min-Max Scaling : 데이터의 최솟값, 최댓값을 이용해서 데이터를 일정 범위 내의 값들로 변환 • 일반적으로 0~1 사이의 값으로 변환 ※ 데이터에 이상치가 없고, 분포가 크게 치우쳐 있지 않은 경우에 적합한 방법 (이상치 제거..
-
[Pandas][sklearn] 인코딩, 원핫인코딩 범주형데이터 수치형으로 변환하기 :: pd.factorize pd.get_dummies직접 해보기/Python 2024. 7. 1. 23:53
✅ 범주형 인코딩 (Categorical Encoding)범주형 인코딩 • 텍스트로 이루어진 범주형 데이터를 수치형 데이터로 변환하는 것. • 인코딩하는 이유: 데이터 양이 방대한 경우, 텍스트로 이루어진 범주형은 수치로 변환해줘야 데이터 처리속도가 향상됨 (다시 말해 컴퓨터가 가장 이해하기 쉬운 언어인 숫자로 바꿔주는 게 좋다)레이블/라벨 인코딩(Label Encoding) • 범주형 데이터에 숫자 레이블/라벨을 할당함 = 범주마다 번호를 매김(ex) 월요일은 1, 화요일은 2, 수요일은 3, ...원핫 인코딩(OneHot Encoding)• 범주별로 칼럼을 만들어서, 칼럼안에 1 아니면 0 만 넣는다• 한 칼럼에만 1(True) 이 들어가고, 나머지 칼럼들은 0(False) 가 들어가는 방..