AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

머신러닝/머신러닝: 입문 개념 13

회귀 모델 예측 전체 프로세스

1. 훈련(train) 및 테스트(test) 데이터셋 로드 및 초기 분석import pandas as pdimport numpy as np# 데이터셋 로드train = pd.read_csv('train.csv')test = pd.read_csv('test.csv')# 기본 데이터셋 정보 확인train.info()# 데이터셋의 첫 3개 행 확인display(train.head(3))display(test.head(3)) 2. 특성(X) 및 타겟 변수(y) 분리와 훈련(train)/검증(valid) 데이터셋 분할from sklearn.model_selection import train_test_splittrain = pd.read_csv('train.csv')# 타겟 변수와 특성 분리X = train.dro..

회귀 모델 성능 측정

1. RMSE (Root Mean Squared Error)  RMSE는 실제 값과 예측 값의 차이를 제곱하여 평균낸 뒤, 그 제곱근을 취한 값입니다.이는 예측 오차의 크기를 나타내는 지표로, 값이 작을수록 모델의 예측 정확도가 높음을 의미합니다. RMSE는 회귀 모델의 성능을 평가할 때 사용되고, 특히 연속적인 수치를 예측하는 문제에서 모델의 예측 오차를 측정하는데 유용합니다. 1.1 RMSE의 특징큰 오차에 대해 가중치를 더 부여하기 때문에, 모델이 큰 오차를 만드는 경우 이를 잘 포착할 수 있습니다.RMSE는 오차를 제곱하기 떄문에 작은 오차는 더 작게 만들고, 큰 오차는 더 크게 만듭니다. 1.2 RMSE 사용시 주의점모든 오차를 동일하게 취급하지 않기 떄문에, 작은 오차가 많은 경우에도 성능이 ..

데이터 분할

1. 학습 데이터와 테스트 데이터  학습(train) 데이터셋: '정답' 또는 'target'이라는 답을 포함합니다. 모델은 이 데이터를 통해 문제와 답 사이의 관계를 배웁니다.테스트(test) 데이터셋: 새로운 문제들로 구성되어 있고, 답이 포함되어 있지 않습니다. 이를 통해 학습된 모델이 얼마나 잘 적용하는지 평가할 수 있습니다.2. 데이터 분할 모델 학습을 시작하기 전, 학습데이터를 학습데이터셋과 검증데이터셋으로 나누는 작업이 필요합니다.학습 데이터셋만으로 모델을 계속 학습시키면 모델이 학습 데이터에만 과적합될 수 있습니다.따라서 검증데이터셋을 생성하여 모델의 성능을 평가함으로써 모델이 학습데이터셋에만 지나치게 최적화되는 것을 방지하고, 모델이 다양한 데이터에 잘 적용될 수 있는지 확인합니다.학습 ..

로그 변환(Log transform)

1. 로그 변환(Log transform)  로그 변환은 데이터의 범위를 조정하고 왜곡된 분포를 개선하기 위해 사용되는 기법입니다.특히, 데이터 값 사이에 큰 차이가 있거나, 한쪽으로 치우친 분포를 보일 때 사용합니다.로그 변환은 특히 데이터가 정규 분포를 따르지 않고, 특정 방향으로 치우친 비대칭 분포를 보일때 유용합니다.변환을 통해 데이터는 보다 정규 분포에 가까워지며, 이는 통계적 분석과 머신러닝 모델에서 중요한 가정에 부합하게 만들어줍니다.2. 로그 변환 사용시 주의점  로그 변환을 적용할 때는 데이터에 0이나 음수 값이 포함되어 있지 않은지 확인해야 합니다. 이러한 값들은 로그 변환을 적용할 수 없기 때문에, 데이터에 작은 상수값을 더하는 등의 전처리 작업이 필요합니다.3. 데이터 리스트에 로그..

데이터 표준화(StandardScaler)

1. 데이터 표준화(StandardScaler)  StandardScaler는 특성의 평균을 0, 분산을 1로 조정하여 모든 특성이 동일한 스케일을 갖도록 변환하는 방법입니다.데이터들의 크기가 너무 다를 때 발생하는 문제를 해결하기 위해서 사용합니다.위의 표와 같이 뭄무게와 키에서는 더 큰 숫자를 갖는 특성인 키가 모델에 더 큰 영향을 끼칠 수 있습니다.데이터 표준화를 적용함으로써 키와 몸무게는 모델 학습에 동등하게 기여할 수 있게되며, 이는 더 공정하고 균형잡힌 학습 결과를 가져다줍니다.2. 데이터 표준화(StandardScaler)의 장단점 2.1 장점특성 간 스케일 차이를 감소시켜, 모델이 각 특성을 좀 더 균등하게 취급하도록 도와줍니다.데이터를 정규 분포에 가깝게 만들어, 많은 머신러닝 알고리즘의..

모델 성능 검증

1. 학습 데이터의 일부를 분할하여 검증하는 방법 모델의 성능을 평가할 때에는, 이미 정답(target)이 존재하는 학습 데이터 내에서 일부를 분리시켜 검증데이터로 활용하는 방법을 사용합니다.보통은 전체 학습 데이터에서 20%~30%를 검증데이터로 분리하여 사용합니다. 2.Scikit-learn을 이용한 모델 성능 평가 2.1 데이터 불러오기import pandas as pdimport copytrain_diabets = pd.read_csv('train_diabets.csv')display(train_diabets.head())display("train_diabets 데이터셋 크기:", len(train_diabets) ) 2.2 검증데이터 분할 : 검증 데이터는 전체 데이터 중 25% 사용from s..

모델학습과 예측

1. 지도 학습(Supercised Learning) 머신러닝의 분류 및 회귀 문제는 정답('target')이 있으며, 학습 데이터셋의 컬럼에는 target 컬럼이 반드시 존재합니다.이와같이 정답이 주어지는 머신러닝 문제를 지도학습 문제라고 합니다.지도학습 문제에서는 머신러닝 알고리즘이 정답이 포함되는 학습데이터셋을 학습하고, 맞추고자 하는 새로 주어진 데이터셋에 대한 정답을 예측하게 됩니다.테스트 데이터셋은 머신러닝 모델을 통해 예측해야 하는 데이터셋이므로 정답이 주어져있지 않습니다. 2. Scikit-learn을 이용한 모델 학습과 예측  Scikit-learn은 Python 프로그래밍 언어로 작성된 오픈소스 머신러닝 라이브러리로, 머신 러닝의 다양한 분류, 회기, 클러스터링 알고리즘을 포함하고 있습..

분류(Classification)

1. 분류(Classification) 문제 정의와 종류머신러닝에서의 분류는 예측하고자 하는 결과가 여러 범주(카테고리) 중 하나에 속하는 경우를 말합니다.즉, 주어진 데이터를 기반으로 그 데이터가 어떤 범주에 속하는지 예측하는 작업입니다. 1.1 이진 분류(Binary Classification) 이진 분류는 단순이 '예' 또는 '아니오'와 같이 두가지 번주 중 하나를 선택하는 문제입니다.사진속에 있는 동물이 고양이인지 개인지 결정하거나, 이메일이 스팸인지 아닌지 분류하는 것과 같은 문제들이 이에 해당합니다. 이진 분류 문제를 해결할 때에는 주어진 입력 데이터가 두 범주 중 하나에 속하는지를 결정하는 과정이 필요합니다.이를 위해 모델은 주로 데이터의 특성을 분석하여 결정을 내릴 수 있는 경계를 학습합니..

회귀분석

회귀분석 회귀분석은 우리가 변수들 사이의 관계를 이해하고 예측하는 데 도움을 주는 통계적 방법입니다.간단히 말해서, 이 방법은 하나의 변수(우리가 예측하고 싶은 것, 종속 변수)가 다른 변수들(독립 변수)에 의해 어떻게 영향을 받는지를 알려줍니다.  ※ 회귀분석의 종류단순 선형 회귀 하나의 독립 변수와 하나의 종속 변수 사이의 관계를 알려줍니다.다중 선형 회귀 여러 독립 변수(예: 광고 지출, 시장 규모, 계절 등)를 사용하여 종속 변수를 예측합니다. 로지스틱 회귀예/아니오와 같은 범주형 종속 변수를 예측할 때 사용됩니다.※ 회귀분석의 장점작은 데이터 세트에서도 효과적회귀분석은 거대한 데이터가 없어도 잘 작동합니다. 큰 데이터 세트를 필요로 하는 복잡한 머신러닝 모델과 달리, 회귀모델은 상대적으로 작은 ..

로지스틱 회귀분석

1. 로지스틱 회귀분석  로지스틱 회귀분석은 20세기 초에 발전한 통계방법입니다.이 모델은 로지스틱 함수에서 이진 분류 문제를 풀기위해 발전되었습니다.이 모델은 주로 예/아니오, 성공/실패와 같이 두 가지 범주로 결과가 나뉘는 경우에 사용됩니다. 확률 추정: 로지스틱 회귀는 주어진 데이터가 특정 클래스에 속할 확률을 추정합니다. 이 확률은 0과 1 사이의 값으로, 예측된 확률이 특정 임계값(보통 0.5) 이상이면 하나의 클래스로, 이하면 다른 클래스로 분류됩니다.시그모이드 함수: 로지스틱 회귀는 시그모이드 함수(또는 로지스틱 함수)를 사용하여 입력 데이터의 선형 조합을 0과 1 사이의 확률 값으로 변환합니다. 시그모이드 함수는 S자 형태의 곡선을 그리며, 이 함수는 선형 조합의 결과를 확률로 매핑합니다...