728x90
반응형

pythonML 27

[pythonML] 결정 트리 (Decision Tree)

# 지도학습: 레이블(Label)이 있는 데이터가 주어진 상태에서 학습하는 머신러닝 방식 # 분류 나이브 베이즈(Naive Bayes) : 베이즈 통게와 생성 모델에 기반 로지스틱 회귀(Logistic Regression) : 독립변수와 종속변수의 선형 관계성에 기반 결정 트리(Decision Tree) : 데이터 균일도에 따른 규칙 기반 서포트 벡터 머신(Support Vector Machine) : 개별 클래스 간의 최대 분류 마진을 효과적으로 찾아줌 최소 근접 알고리즘(Nearest Neighbor) : 근접 거리를 기준으로 함 신경망(Neural Network) : 심층 연결 기반의 신경망 앙상블(Ensemble) : 서로 같은/다른 머신러닝 알고리즘을 결합한 앙상블 # 결정트리(Decision ..

pythonML 2022.03.20

[pythonML] 머신러닝으로 타이타닉 생존자 예측

#정리 1. 데이터의 가공 및 변환 과정의 전처리 (결손값 처리, 인코딩 작업, 스케일링/정규화 작업) 2. 데이터를 학습 데이터와 테스트 데이터로 분리하는 데이터 세트 분리 (한쪽 데이터에 치우칠때 => 교차검증) 3. 학습 데이터를 기반으로 머신러닝 알고리즘을 적용해 모델을 학습 4. 학습된 모델을 기반으로 테스트 데이터에 대한 예측 수행 5. 예측된 결괏값을 실제 결괏값과 비교해 머신러닝 모델에 대한 평가를 수행 1. 데이터 전처리 from sklearn.preprocessing import LabelEncoder # Null 처리 함수 def fillna(df): df['Age'].fillna(df['Age'].mean(), inplace=True) #평균 나이로 df['Cabin'].fillna..

pythonML 2022.03.19

[pythonML] feature scaling(피처 스케일링) -표준화(StandardScaler)/ 정규화 (MinMaxScaler)/RobustScaler/ MinMaxScaler

Feature Scaling이란?Feature Scaling은 데이터의 피처(feature)들이 서로 다른 범위(scale)를 가질 때 이를 동일한 스케일로 맞추는 작업입니다. 서로 다른 스케일을 가진 데이터들은 모델의 성능을 떨어뜨리기 때문에 중요한 기법입니다.Feature Scaling의 효과 4가지- 알고리즘의 민감도 감소: 대부분의 머신러닝 알고리즘은 피처 값의 크기와 단위에 민감합니다. 예를 들어, 유클리디안 거리 기반 알고리즘(KNN, SVM 등)은 피처 값의 스케일에 큰 영향을 받습니다. 피처 값의 크기 차이가 크면 특정 피처가 모델에 과도한 영향을 미칠 수 있습니다. - 학습 속도 향상: 경사 하강법을 사용하는 알고리즘(선형 회귀, 로지스틱 회귀, 신경망 등)은 피처 값의 크기에 따라 학습..

pythonML 2022.03.05

[pythonML] 레이블 인코딩(label encoding) / 원-핫 인코딩(one hot encoding)- 데이터 전처리

# 데이터 전처리 기본 데이터 전처리 사항 결손값 / 문자열 값 처리 이상치 제거 피처 선택 데이터 인코딩 레이블 인코딩 원-핫 인코딩 피처 스케일링 StandardScaler MinMaxScaler # 결측값 -Null값이 얼마 되지 않는다면=> 피처의 평균값, 중앙값, 최빈값 같은 값 넣기 -Null값이 대부분 => 해당 피처 drop 만약 중요도가 높은 피처이고, Null을 피처의 평균값으로 대체할 경우 예측 왜곡이 심할 수 있다면 더 정밀한 대체 값을 선정해야 함 사이킷런의 머신러닝 알고리즘은 문자열 값을 입력 값으로 허용X => 모든 문자열(카테코리형, 텍스트형) 값을 인코딩해서 숫자형으로 변환필수 # 데이터 인코딩 : 레이블 인코딩(label encoding) / 원-핫 인코딩(one hot ..

pythonML 2022.03.04

[pythonML] cross_val_score(교차검증)/ GridSearchCV(교차검증, 최적 하이퍼 파라미터 튜닝)

1. cross_val_score - 교차 검증을 간단하게 해준다. cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch='2*n_jobs') estimator : classifier(분류)/regressor(회귀) X: 피처 데이터 셋 y: 레이블 데이터 셋 scoring: 예측 성능 평가 지표 ex)정확도 cv: 교차 검증 폴드 수 cross_val_score() 수행 후 반환값: scoring 파라미터로 지정된 성능 지표 측정값을 배열 형태로 반환함 from sklearn.tree import DecisionTreeClassifier from sklear..

pythonML 2022.03.02

[pythonML] K-fold / stratifiedKFold - 교차검증

# 교차검증은 언제 사용하는가? 1) 데이터셋이 부족할 때 2) 데이터 클래스가 불균형 할 때 3) 하나의 학습/ 검증 데이터로 이루어진 모델은 학습데이터에만 과적합되었을 가능성이 높음 하지만 여러차례 나누는 교차검증 방식을 통해 전체 데이터 전 범위를 학습하고, 검증 데이터로 성능을 평가함으로써보다 일반화된 모델을 생성할 수 있음. # 과적합 : 모델이 학습데이터에만 과도하게 최적화되어, 실제 예측을 다른 데이터로 하게 되면 예측 성능이 과도하게 떨어지는 것을 의미함 # 교차검증(cross validation) - 과적합 방지! 1. k폴드 교차 검증(K-fold cross vaildation): k개의 데이터 폴드 세트를 만들어서 k번만큼 각 폴드 세트에 학습과 검증 평가를 반복적으로 수행하는 방법이..

pythonML 2022.03.02

[pythonML] 데이터셋분리/학습/예측/평가 - 붓꽃 품종 예측

사이킷런(Scikit-learn)은 파이썬에서 사용할 수 있는 강력한 머신러닝 라이브러리입니다. 사이킷런은 다양한 머신러닝 알고리즘과 유틸리티 함수들을 제공하여 데이터 분석과 예측 모델링을 쉽게 할 수 있도록 도와줍니다. 분류(Classification)는 지도학습(Supervised Learning)의 한 종류로, 주어진 데이터를 미리 정의된 클래스 레이블 중 하나로 분류하는 문제를 말합니다. 이를 위해 분류 모델은 입력 데이터와 해당 데이터의 정답인 클래스 레이블 사이의 관계를 학습하여 새로운 데이터에 대한 클래스를 예측합니다. 붓꽃이란? 붓꽃은 세포핵을 둘러싼 꽃받침(sepal)과 꽃잎(petal)으로 구성되어 있으며, 이러한 특징을 기반으로 붓꽃의 품종을 식별할 수 있습니다. 붓꽃의 품종은 주로 ..

pythonML 2022.02.22
728x90
반응형