ML 8

[Kaggle] 의료비 예측하기(2)-학습, 평가 데이터 분리하기 | 스케일링-standardscaler, MinMaxScaler | 모델 학습 및 평가 - MSE, 잔차

학습 및 평가 데이터 분리 from sklearn.model_selection import train_test_split #출력 데이터 = 의료비,입력데이터 = 그 외 변수 y_column = ['charges'] X = insurance_encoded.drop(y_column, axis=1) y = insurance_encoded[y_column] # x,y의 0.2 정도를 평가 데이터로 학습 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) 특성 스케일링 (권장사항) 서로 다른 수치형 데이터 특성 사이의 값 범위를 비슷하게 맞춰주는 과정 효과: 경사 하강법 사용하는 과정에서 수렴 속도를 높일..

ML 2024.02.01

[Kaggle] 선형회귀모델학습-의료 보험료 예측하기 |EDA-매트릭스 시각화, 원핫인코딩, 범주형을 수치형으로 변환하기

선형 회귀 모델 실습 Medical Cost Personal Datasets (kaggle.com) Medical Cost Personal Datasets Insurance Forecast by using Linear Regression www.kaggle.com 풀어야 하는 문제 주어진 건강 및 인구통계학적 정보를 바탕으로 개인의 연간 의료 보험료를 예측 입력: 독립 변수들 출력: 개인 의료비 예측값 1. EDA (Exploratory Data Analysis) 탐색적 데이터 분석 데이터 분석의 초기 단계에서 진행하는과정 데이터를 여러 각도에서 살피며 데이터의 특징, 구조, 패턴, 이상치, 변수 간의 관계 등을 이해 기초 통계 분석 : 평균, 중앙값, 표준편차, 최소/최대 값 시각화: 데이터 패턴, 이..

ML 2024.02.01

[ML] 다중공선성 | SVD-OLS | Over fitting | 랏쏘회귀, 릿지회귀

다중공선성(Multicollinearity) 입력 데이터가 갖고 있는 특징값들 사이에 상관 관계가 존재할 때 발생하는 문제 상황 -> 이 상황에서는 머신 러닝 모델이 작은 데이터 변화에도 민감하게 반응 -> 안정성과 해석력 저하시킴 정규 방정식으로 해를 구하는 상황에서 치명적인 문제 발생. 이를 해결하기 위해 SVD-OLS 라는 회피 방법이 존재 SVD-OLS란 SVD를 사용해 선형 회귀 모델의 해를 구하는 방법 학습 데이터를 모아둔 행렬 X에 SVD를 적용해 특이값 분해 -> X에 OLS 방식의 풀이 적용 대신 SVD 계산으로 인한 시간 소요가 늘어남. Scikit-learn 패키지 안의 선형 회귀 알고리즘은 SVD 류의 방식으로 구현되어 있음 # 서로 상관 관계가 깊은 두 독립변수 x1과 x2를 생성..

ML 2024.02.01

[ML]선형의 의미 | 다중공선성 | 선형 회귀 | 비용 함수 - 정규방정식, 경사 하강법

선형이란? 1200원 과자, 1000원 우유를 산다고 했을 때 총 비용은? Cost = nx1200 + mx1000 (n: 과자의 수량, m:우유의 수량) 독립변수가 파라미터 (1200,1000) 값 만큼 일정한 비율로 종속변수에 영향을 미치는 관계 파라미터들이 어떠한 실수(혹은 벡터)와 가중합( 곱하기, 더하기)로 표현된 것을 선형 결합이라고 함 독립변수 x 의 각각 파라미터를 찾아내야함. y=aX1^2 (제곱)+ bX2 +cX3 => 선형일까 비선형일까? 관점에 따라 다름 파라미터 a가 종속 변수에 미치는 영향을 볼 때 x제곱을 x4로 치환한다면 선형 모델로 볼 수 있음 다른 관점으로, 변수 x1입장에서 본다면 비선형 모델로 볼 수 있음 모델 서칭 단게에서는 치환을 해야될지,지수 연산이 사용될지, e..

ML 2024.02.01

[ML] 학습,검증,평가 데이터 분할 | overfitting 과적합 | 손실함수 | 파라미터와 최적화 | 분류와 회귀 대표알고리즘

데이터 분할: 학습/ 검증/ 평가 이론학습, 모의고사, 시험 에 비교하면 이해가 쉬움 이론학습으로 공부(학습)하고 모의고사로 확인(검증) 최적의 상태에서 시험(평가) 학습데이터(train data) 갖고 있는 데이터 중 80% 정도 사용 이 분류에 속한 데이터가 많을수록 성능이 좋아질 가능성이 커짐 검증데이터(validation data) 학습 중간 과정에서 어느정도 머신러닝 모델이 학습되었는지 주기적으로 확인 모의고사를 통해 시험범위중 부족한 단원을 찾는 것과 같음 시험 중간에는 검증 불가 ! 전체 데이터의 10% 할당 평가 데이터(test data) 학습이 끝난 뒤 최후의 딥러닝 모델이 생성된 후, 학습한 모델의 최종 성능을 평가 딥러닝 모델이 서비스 혹은 제품과 같이 실제 사용 시나리오 과정에서 보..

ML 2024.01.30

[ML]scikit-learn | Pipeline | 지도학습이란?| 분류와 회귀문제 | 이진분류, 다중클래스

scikit-learn 이란? 사이킷런은다양한 머신러닝 알고리즘이 구현되어 있는오픈 소스 패키지이다 데이터 처리, 파이프라인, 여러 학습 알고리즘, 전/후처리 등 다양한 기능 제공 scikit-learn에서는 주요기능을 갖는 객체를 제공 제공하는 머신러닝 모델 및 알고리즘은 객체의 메서드를 전부 혹은 일부 사용 가능 통일된 API 호출 시스템을 구성해 사용자가 쉽게 사용할 수 있는 인터페이스 제공하기 위함 - Estimator(추정기): fit() 메서드 활용해서 학습진행, 데이터로부터 패턴 학습하고 결과로 모델 내부 파라미터 조정 - Predictor (예측기): predict() 메서드. 학습된 모델을 사용해 새로운 데이터에 대한 예측 진행 - Transformer(변환기): transform() 메..

ML 2024.01.30

[ML]머신러닝에 필요한 선형대수 | 선형 변환 | 고유벡터, 고유값, 분산 |

선형 변환 ( Linear Transformation) 벡터 v에 특정 행렬 A를 곱하면? 새로운 벡터v2 생성 특정 벡터에 어떠한 행렬을 곱하면 벡터의 방향 또는 크기가 변경됨. 벡터의 방향과 크기 변경을 선형 변환이라고 함 고유벡터(Eigenvector)와 고유값 (Eigenvalue) 행렬 A에는 다양한 벡터를 곱할 수 있음 Av = av (a: 상수) 방향은 그대로고 크기만 바뀐것 그런 벡터 v를 고유벡터, 상수 a를 고유값이라고 함 행렬 A의 고유벡터는 행렬 A의 값이 가장 많이 분산되는 방향을 나타냄 분산이 많이 된다는 것은 많은 정보력을 갖고 있다고 볼 수 있음 일반적으로 데이터를 불러오면 행렬의 형태를 갖게 됨 이 데이터를 담아온 행렬을 A라고 하면, 데이터가 담고 있는 여러 정보 중 가장..

ML 2024.01.29

[ML]머신러닝 종류 | 메타 데이터와 레이블| 지도학습, 비지도학습, 준지도, 자기지도 학습, 강화학습

메타 데이터란? 주어진 기본 데이터에 추가적으로 제공하는 정보 데이터의 출처, 형식, 위치 등 데이터 간의 관계와구조를 파악 데이터의 속성, 특성, 분류 등데이터의 내용 설명 레이블이란? 특정 문제에 해당하는 데이터의 설명 혹은 답변 분류하는 문제라면 데이터가 속할 범주(클래스) 목표 값을 찾는 회귀문제라면 데이터가 표현할 특정 숫자 대부분 사람이 직접 생성해줘야 하는 경우가 많음 혹은 타켓이라고 부르기도 함 지도학습 Supervised Learning 정답 레이블 정보를 활용해 알고리즘을 학습하는 학습 방법론 데이터와 정답인 레이블 사이의 관계를 파악하는 목적을 갖고 있음 특징 및 장점 - 정답이 존재하므로 모델이 풀어야하는 문제가 비교적 쉽고 잘 학습됨 - 또한, 명확한 평가 수치가 존재하며 학습된 ..

ML 2024.01.29