본문 바로가기

코딩41

3/22 - SQL 기초; 그룹별 집계 함수_서브 쿼리 활용 [기억할 개념] 1. 서브 쿼리문에서 먼저 나이, 성별, 수익 합계, 평균 수익을 먼저 내고, 2. 그 다음, 연령대 별로 성별 분류해주기 3. 위 쿼리문에서 나이, 성별, 수익 합계, 평균 수익을 한번 더 불러줘야 함. select Age,Gender,sum_revenue, avg_revenue, case when (Age between 10 and 19) and Gender='Male' then "10대 남자" when (Age between 10 and 19) and Gender='Female' then "10대 여자" when (Age between 20 and 29) and Gender='Male' then "20대 남자" when (Age between 20 and 29) and Gender=.. 2024. 3. 22.
3/22 - SQLD 자격증 대비반; 기본 개념 [기억할 개념] 1. 속성의 개념 - 인스턴스가 가진 어떠한 성질(성격) - 업무에서 필요로 하는 인스턴스로, 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 2. 엔터티, 인스턴스, 속성, 속성값의 관계 - 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다. - 한 개의 엔터티는 두 개 이상의 속성으로 구성이어야 한다. - 한 개의 속성은 한 개의 속성값을 갖는다. 3. 속성의 특징 1) 업무에서 필요로 한다. - 아무 요소나 모두 속성이 되지 않고 업무에 관련된 어떤 특징이 속성이 될 수 있다. - 업무에서 관리하고자 하는 정보이어야 한다. 2) 속성은 그 자체로 독립성을 유지한다. - 가장 작은 단위로 의미를 지닌다. 3) 엔터티를 설명하고 인스턴스와 구성요소가 된다. -.. 2024. 3. 22.
3/22 - Pandas; Python 기본 함수 및 개념 [기억할 개념] 1. pandas의 데이터 오브젝트 1-1. 인덱스(index) : 데이터프레임(DataFrame) 또는 시리즈(Series)의 각 행 또는 각 요소에 대한 식별자 DataFrame 자료구조에도 인덱스를 설정할 수 있음 0부터 시작하는 숫자 뿐아니라 임의로 문자로 적용할 수 있음 아예 처음부터 파일 불러올때 , 인덱스를 지정하는 것도 가능 1-2. 인덱스 관련 함수 set_index(): 특정 컬럼에 들어있는 값을 인덱스로 활용 # df가 가지고 있는 특정 컬럼명을 기준으로 인덱스를 설정하기 data = df.set_index('컬럼명') data.head() # 불러올때 인덱스 지정하기 pd.read_csv('./data/file.csv' , index_col = '컬럼정보') pd.r.. 2024. 3. 22.
3/22 - DBeaver에서 파일 불러오기 오류 해결 안됨 [배운 점] DBeaver에서 csv 파일 import 시에 인코딩란에 euc-kr로 지정해줘야 한글이 깨지지 않음 SQL 가공이 필요할 때, csv 파일 모두 한글이라면 전처리가 되지 않음. (계속 오류 뜸) 일단 오늘 Pandas에서 SQL 처리하려 했는데 이것도 실패. DBeaver를 열어보니 업데이트하라고 또 오류. 프로그램 삭제하고 다시 다운 받음. 어찌어찌 DBeaver 실행하니 이젠 csv 파일이 말썽임. 오늘 발견한 SQL 오류만 체감 몇 만개임. 구글링해본 결과, csv 파일 모두 한글로 돼있어서 컬럼명 없다고 프로그램에서 ZiRal 염병 떠는 거 같음. (Jonna 예민 보스임) 1) SQL Error [1264] [22001]: Data truncation: Out of range v.. 2024. 3. 22.
3/22 - Pandas; Python 기본 세팅 csv 파일 불러오기 [기억할 개념] 1. vscode에서 세팅할 시, pandas와 numpy 불러오고, 시각화 툴도 가져오면 좋음 import seaborn as sns import pandas as pd import numpy as np 2. csv 파일 불러올 때 유의할 점: 파일 확장자 별로 지정해줘야 함 pd.read_csv('C:/Users/dnalf/OneDrive/바탕 화면/sparta_depth_pr/seoul_merge2.csv') data1 = pd.read_csv('C:/Users/dnalf/OneDrive/바탕 화면/sparta_depth_pr/seoul_merge2.csv') pd.read_excel('C:/Users/dnalf/OneDrive/바탕 화면/sparta_depth_pr/seoul_me.. 2024. 3. 22.
2/13 - 심화 프로젝트; 데이터 전처리 및 프로젝트 진행 현황 [심화 프로젝트 진행 현황] 데이터 분석 부문: 80% 완료 (데이터 전처리 100% 완료 / 명일 시각화 예정) 모델링 부문: 50% 완료 (서울 부동산 데이터 기준, 기타 데이터의 법정동-행정동 매칭 완료) 명일 해야할 사항 - 데이터 분석 부문: 시각화 집중 - 모델링 부문: 1) 2차 데이터 전처리(연도별/분기별 집계 함수 사용 예정, 컬럼 검수 필요) 2) 선형회귀 or 로지스틱회귀 모델링 [배운 점] 예측 모델링이 반드시 미래를 예측하는 모델링은 아니다. 모델링의 방법은 여러 가지가 있다. 사실 특정 변수의 적정 값이 맞는지 체크하는 모델링은 선형회귀와 로지스틱회귀를 사용하면 되는 아주 단순한 사실을 깨달았다. 팀원들의 능력이 상향평준화 되어 있어 일하기가 매우 편하다. 팀 합이 좋아서 다행이.. 2024. 2. 13.
2/7 - 심화 프로젝트; 데이터 1차 가공 및 프로젝트 진행 현황 [심화 프로젝트] 이미 우리 팀은 지난 주부터 세팅에 들어가기도 했고, 다들 머리 회전력이 좋아서 결정이 빨리 됨. 그리하여, 장황한 우리 팀의 프로젝트 진행 현황은 아래와 같음. 구글 스프레드 시트에 써뒀던 계획 그대로 노션에 옮겨둠. 캠프 내부에서 멘토링 받으라고 문서 샘플을 따로 줬는데, 굳이 이걸 써야 되나 싶음. 시간 아까움. 그래서 남들 다 보는 잡담방에 그대로 우리팀은 공식적으로 쓰지 않겠다고 담당 매니저한테 못 박아 둠. 팀 별로 튜터들이 배정됐는데, 처음엔 우리 팀이 정한 주제가 우리 팀을 제외하고 없었음. 그런데 갑자기 B07조에서 우리 팀과 같은 주제로 변경함. 무엇? 양아취들이신지? 전략가가 2명이나 있는 팀은 어떻게 분석하는지 제대로 보여줘야겠음. 이건 실력이 아니라 머리 싸움이다.. 2024. 2. 7.
2/6 - 머신러닝모델링; 데이터 전처리_이상치(Outlier) 처리 방법 [기억할 개념] 1. 이상치(Outlier)란: 보통 관측된 데이터 범위에서 많이 벗어난 아주 작은 값 혹은 큰 값 1-1. Extreme Studentized Deviation(ESD) 이용 #최대값, 최소값 확인 print(upper_limit, lower_limit) #값 비교 tips_df[['total_bill']].head(3) #이상치 확인 (아래 조건에 부합=True 값만 추출) cond = (tips_df['total_bill'] > 46.4) cond tips_df[cond] 1-2. IQR(Inter Quantile Range)를 이용 #이상치 확인 (상한값 40.29보다 큰 값만 추출) cond2 = (tips_df['total_bill'] > uppner_limit2) tips_d.. 2024. 2. 6.
2/5 - 머신러닝모델링; 선형회귀&로지스틱회귀 [기억할 개념] 1. 선형회귀 1) 단순선형회귀: x 변수가 1개 from sklearn.linear_model import LinearRegression model_lr = LinearRegression() type(model_lr) x = body_df[['Weight']] y = body_df[['Height']] #데이터 훈련 model_lr .fit(x = x, y = y 해석 #y(키)는 x(몸무게)에 0.86을 곱한 뒤에 109.37을 더해라 2) 다중선형회귀: x 변수가 2개 #1. y= 0.86x + 109.37 #2. 위 식을 활용한 예측 칼럼 추가 #3. 에러값을 각각 계산(error) #4. 양수를 만들기 위해 제곱화 #5. 값을 모두 더함(MSE) #6. 그래프로 그리기 #예측값 .. 2024. 2. 5.