요약/나만의 인사이트
- 지도학습(선형회귀) : 몸무게를 통해 키 예측하기 (숫자예측)
- 회귀분석의 평가지표 : MSE(실제값과 예측값의 차이를 제곱해 데이터 개수로 나눈것), RMSE(MSE에 루트 씌운것), R2 square(결정계수, 회귀모델이 데이터를 얼마나 잘 설명하고 있는가. EX 0.8이다 => X변수로 Y를 80% 예측할 수 있다.)
- 선형회귀의 가정
- 선형성
- 등분산성(오차(=잔차)의 크기가 일정하다.)
- 정규성(오차항은 정규분포를 따른다.)
- 독립성(X변수는 서로 독립적이어야 한다.)
- 다중공선성 : 상관관계가 높은 변수들로 인해 예측이나 해석력이 떨어지는 문제가 발생하는 것
- 해결하는 방법
- 서로 상관관계가 높은 변수 중 하나만 선택
- 차원축소
- 해결하는 방법
- 로지스틱회귀(분류) 시그모이드함수를 이용해 확률값을 알아내어 분류하는 것
새롭게 알게 된 것
- 파이썬 순열과 조합
- 순열: 서로 다른 n개의 값에서 r개를 뽑아 일렬로 나열 (중복: X / 순서: O)
- 조합: 서로 다른 n개 중에서 r개를 뽑되, 순서를 고려하지 않음 (중복: X / 순서:X)
from itertools import permutations, combinations my_list = [1, 2, 3] p = list(permutations(my_list, 2)) # [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)] c = list(combinations(my_list, 2)) # [(1, 2), (1, 3), (2, 3)] - Scikit-learn
- 정의
- 다양한 머신러닝 모델과 데이터 처리 기능을 제공하는 파이썬 라이브러리
- 여러가지 머신러닝 모듈(데이터 전처리, 모델링, 성능 평가)로 구성
- 주요 모듈
-
#사이킷런에서 제공하는 데이터셋 로드 from sklearn.datasets import load_iris #데이터를 훈련용과 테스트용으로 분할, 교차검증, 하이퍼파라미터 튜닝을 위한 도구 from sklearn.model_selection import train_test_split #데이터 전처리(스케일링, 정규화, 인토딩 등) from sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder(), OneHotEncoder() # StandardScaler : 평균0, 표준편차1로 스케일링 # MinMaxScaler : 최소 0, 최대 1로 스케일링 # LabelEncoder : 순서가 있는 범주형 데이터를 정수로 인코딩 # OneHotEncoder : 순서가 없는 범주형 데이터를 원-핫 인코딩 #모델 성능 평가 from sklearn.metrics import accuracy_score, mean_squared_error, confusion_matrix # accuracy_score() :정확도 # precision_score() : 정밀도 # recall_score(): 재현율 # F1-score : 정밀도와 재현율의 조화 평균 2 * (Precision * Recall) / (Precision + Recall) # mean_squared_error() : 평균제곱오자(MSE) # root_mean_squared_error() : 평균제곱오차 제곱근(RMSE) # root_mean_squared_error 없을 시 np.sqrt(mean_squared_error(...))로 대신 가능 # r2_score() : 결정계수(설명력) #선형 모델 from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, Lasso #LinearRegression(): 선형회귀모델 #LogisticRegression(): 로스트틱 회귀 모델(분류) #Ridge(), Lasso(): 정규화된 회귀 모델 #서포트 벡터 머신 from sklearn.svm import SVC, SVR #SVC(): 서포트 벡터 분류기 #SVR(): 서포트 벡터 회귀 #앙상블 모델 from sklearn.ensemble import RandomForestClassifier #RandomForestClassifier(), RandomForestRegressor(): 랜덤 포레스트 분류 및 회귀 #GradientBoostingClassifier(), GradientBoostingRegressor(): 그레디언트 부스팅 분류 및 회귀 #의사결정트리 from sklearn.tree import DecisionTreeClassifier #DecisionTreeClassifier(): 분류용 의사결정 트리. #DecisionTreeRegressor(): 회귀용 의사결정 트리 #클러스터링 from sklearn.cluster import KMeans, DBSCAN # KMeans(): k-평균 클러스터링 # DBSCAN(): 밀도 기반 클러스터링
- 정의
- Visual Studio Code
- Microsoft가 제공하는 소스 코드 에디터. 파이썬, R, Java등 프로그래밍 언어를 제공
- 로컬컴퓨터 자원을 사용
- pip은 Python 프로그래밍 언어를 위한 표준 패키지 관리자
- 구글 코랩 :
- 구글이 만든 주피터 노트북 환경. 무료로 GPU 등 고사양의 환경을 이용할 수 있음.
- 구글 코랩 단축키
- 셀 선택모드
- A: 현재 셀에서 위쪽에 새로운 셀을 추가한다.
- B: 현재 셀에서 아래쪽에 새로운 셀을 추가한다.
- DD: 현재 셀을 삭제한다.
- M: 현재 셀을 코드에서 마크다운으로 변경한다.
- Y: 현재 셀을 마크다운에서 코드로 변경한다.
- C,V,X: 복사, 붙여넣기, 잘라내기
- 셀 선택모드
- Anaconda
- 데이터 과학 및 머신러닝 분야에 적합한 파이썬과 R의 패키지/의존성 및 배포를 편리하게 해주는 오픈 소스 패키지
- 데이터 프로젝트를 앞두고 메타인지 향상( 프로젝트를 대하는 자세/ 데이터분석의 과정/ API가 뭐지? )
- 프로젝트를 대하는 자세
- 없으면 안돼!를 먼저하기
- 처음부터 완벽한 결과를 기대하지 않는다. 바뀔수 있다.
- 일을 작게 만들기
- 기술은 수단
- 비즈니스 목적을 뾰족하게
- 배움에 초점을 맞춰서 학습한다.
- 1주일만의 프로젝트가 포토폴리오에 쓸만큼 안착되는 경우 희귀, 추후 따로 정리가 필요
- 역할분장 명확히, 맡은 역할 성실히
- 전처리 80, 분석은 20
- 비즈니스애널리틱스 - 오너의 마인드 - 오너 옆에 있는 분석가 - 짧게 빠르게 하는 분석 - 관점이 중요 (나는… 아니겠다.)
- 프로젝트를 대하는 자세
- 구글 코랩 :
데이터분석의 과정
-
-
-
- 0. 데이터 확인 (데이터 구성 파악, 각 변수의 이름과 의미, 데이터 타입 확인, 결측치 확인, 기초통계 확인, 기초 시각화 , 업무/비즈니스 맥략에 맞는 변수 수정, 도메인 이해)
- 이 데이터로 답할 수 있는 질문은 무엇인가?
- 분석 불가능한 영역은 무엇인가?
- 추가 데이터가 필요한가?
- 어떤 식으로 전처리해야 의미 있는 분석이 가능할까?
- 0. 데이터 확인 (데이터 구성 파악, 각 변수의 이름과 의미, 데이터 타입 확인, 결측치 확인, 기초통계 확인, 기초 시각화 , 업무/비즈니스 맥략에 맞는 변수 수정, 도메인 이해)
-


- 문제정의
- 무엇을 알고 싶은가?
- 분석 결과를 통해 어떤 의사결정을 내릴 것인가?
데이터수집- 데이터전처리
- 결측치 제거, 이상치 확인, 형식통일, 인코딩
- 탐색적 데이터분석
- 기술통계
- 시각화
- 상관관계 파악
- 모델링
- 예측 분류 모델
- 결과해석 및 시각화
- 어떤 의미있는 결론이 나왔는가?
- 보고 및 의사결정 지원
- 문제정의
-
-
- AIP는 뭐지??
- 데이터를 API 형태로 받는다.
- API란 스마트폰에서 카카오서버에 요청할 때, 이 요청이 서버에 잘 전달되어 처리될 수 있도록 하는 것이 바로 API이다.
- Application Programming Interface(애플리케이션 프로그래밍 인터페이스) : 스마트폰이 카카오 서버와 인터페이싱하는(요청과 응답을 주고 받는) 체계
- 공공, 민간 기업에서 자사가 제공하는 다양한 기능들(지도앱, 검색, 로그인) API 형태로 오픈해 두었음.
- 앱과 앱이 서로 대화해주게 하는 통로
- 요청(Request) → API → 응답(Response)
-
[ 앱 또는 웹사이트 ] | | "데이터 주세요" (API 요청) v ┌────────────────────┐ │ API 서버 │ ← 데이터 처리, 계산, DB 조회 등 └────────────────────┘ | | "여기 있어요!" (API 응답 - JSON, XML 등) v [ 앱 또는 웹사이트 ]
- AIP는 뭐지??
-
- 데이터분석 프로세스(by 튜터님 파일)
- 실제 데이터 수집
- 탐색적 데이터 분석(EDA) - 시각화, 기술통계, 탐구, 이해 ⇒ 데이터 정보, 적절한 모델링 정보 취득
- 데이터 전처리
- 전체 분석의 90% 차지
- 이상치 - ESD(평균에서 3시그마 이상 떨어지면 이상치로 분류), IQR(Inter Quantile Range)
- 결측치 - 대치(평균값, 중앙값, 최빈값)
- 범주형 데이터 - 인코딩(레이블인코딩, 원핫인코딩)
- 수치형 데이터 - 스케일링(MinMax, Standard)
- 데이터분리(과적합 방지)
- 교차검증 Cross Validation
- 데이터셋을 여러개의 하위집단으로 나누어 돌아가면서 검증 데이터로 사용하는 방법
- K-Fold Validation : Train Data를 K개의 하위 집합으로 나누어 모델을 학습시키고 모델을 최적화 하는 방법

- GridSearchV
- 사람이 입력할 수 있는 하이퍼파라미터를 자동화해주는 알고리즘
- 교차검증 Cross Validation
'기타 > Python' 카테고리의 다른 글
| 250725_파이썬(표준 라이브브러리), 태블로(기본개념) (3) | 2025.07.25 |
|---|---|
| 250715_파이썬(enumerate 코드타카 풀이) (0) | 2025.07.15 |
| 250710_파이썬(표준라이브러리), 머신러닝(선형회귀, 랜덤포레스트 복습) (2) | 2025.07.10 |
| 250703_파이썬(길이 N의 부분문자열 뽑기), visual studio code 가상환경 설정 (4) | 2025.07.03 |
| 250628_판다스(조회, 정렬, 조건필터, 통계, 복사와 결측치) (1) | 2025.06.30 |