AI/머신러닝9 [머신러닝] 부트스트랩 샘플링 부트스트랩 부트스트랩(Bootstrap)은 프레임워크, 정보 보안 용어, 통계학 용어 등에 사용되는 단어입니다. 단어의 사전적 정의는 다음과 같습니다. 부트스트랩(bootstrap) 또는 부트스트래핑(bootstrapping)은 "현재 상황에서 어떻게든 한다"는 뜻이다. 또, 사물의 초기 단계에서 단순 요소로부터 복잡한 체계를 구축하는 과정을 가리키는 경우도 있다. - 위키백과 "부트스트랩(Bootstrap)"이라는 용어는 어떤 시스템이나 프로세스가 자체적으로 셀프 스스로를 시작하고, 초기화하는 개념에서 유래합니다. 부트스트랩이라는 단어는 17세기 영어 표현인 "to pull oneself up by one's bootstraps(부츠의 끈으로 자신을 끌어올리다)"에서 비롯되었습니다. 이 표현은 실제로 .. AI/머신러닝 2024. 3. 23. [머신러닝] 랜덤 포레스트(Random Forest) 랜덤 포레스트(Random Forest) 머신러닝에서 많이 사용되는 앙상블 기법중 하나이며, 결정 트리를 기반으로 함 학습을 통해 구성해 놓은 결정 트리로부터 분류 결과를 취합해서 결론을 얻는 방식 보통 오버피팅이 일어나는 의사결정트리를 사용함. 성능은 꽤 우수한 편이나 너무 많은 트리를 사용하면 오버피팅하는 경향이 있음 배깅(Bagging) 학습 기법을 사용함 RandomForestClassifier: 분류 RandomForestRegressor: 회귀 from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() AI/머신러닝 2023. 12. 30. [머신러닝] 스케일링(Scaling), 정규화(Normalization), 표준화(Standardization) 정규화(Normalization)와 표준화(Standardization)는 머신러닝에서 데이터 전처리 과정에 사용되는 기법이다. 데이터의 스케일을 조정하여 모델의 학습이나 예측에 미치는 영향을 최소화하고, 모델의 성능을 향상시키는 데 도움을 준다. 정규화(Normalization)와 표준화(Standardization)과정에서 데이터 스케일을 조정하는 것을 스케일링(Scaling)이라고 부른다 스케일링(Scaling) 데이터를 특정한 스케일로 통일하는 것 다차원의 값들을 비교 분석하기 쉽게 만들어주며, 자료의 오버플로우나 언더플로우를 방지하여 최적화 과정에서의 안정성 및 수렴 속도를 향항 데이터를 모델링하기 전에 거치는 것이 좋음(int, float) 스케일링의 종류 StandardScaler: 평균과 .. AI/머신러닝 2023. 12. 28. [머신러닝] 로지스틱 회귀(Sigmoid & Softmax) 1. 로지스틱 회귀(Logistic Regression) 로지스틱 회귀는 이진 분류 문제를 해결하는 기법중 하나입니다. 분류 문제에 선형 모델이 사용되기 때문에 회귀라는 이름이 붙었다고 합니다. 0과 1을 분류하는 문제가 있다고 가정해봅시다. 직선으로 분류를 한다면 확률이 0과 1사이를 벗어나게 됩니다. 확률을 0과 1사이로 제한하기 위한 방법으로 Sigmoid함수를 사용합니다. 2. 시그모이드(Sigmoid) 함수 Sigmoid함수는 위와 같이 0과 1사이에 S자 형태의 그래프입니다. 시그모이드 함수의 수식은 다음과 같습니다. w(가중치)와 b(편향)에 따라 변하는 시그모이드 함수를 시각화하여 확인해봅시다. import numpy as np import matplotlib.pyplot as plt w=.. AI/머신러닝 2023. 12. 28. [머신러닝] Cross Validation(교차 검증) K-Fold Cross Validation ( K-겹 교차 검증 ) https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html sklearn.model_selection.train_test_split Examples using sklearn.model_selection.train_test_split: Release Highlights for scikit-learn 0.24 Release Highlights for scikit-learn 0.23 Release Highlights for scikit-learn 0.22 Comparison of Cal... scikit-learn.org https.. AI/머신러닝 2023. 12. 28. [머신러닝] Confusion Matrix, AUC & ROC 혼돈행렬 선형 모델의 성능은 MSE, MAE, RMSE등으로 평가된다. 분류 모델은 Confusion Matrix(혼돈 행렬)를 사용하여 Perfomance Test를 한다. 혼돈 행렬을 사용하여 정밀도(Precision), 재현률(Recall), 정확도(Accuracy), 조화평균(F1 Score)과 같은 평가 지수를 알 수 있다. Confusion Matrix: TN(8869) FP(0) FN(862) TP(1) Actual Values Predictive Values TN 승진하지 못함(N) 승진하지 못함 FN 승진하지 못함(N) 승진함 FP 승진함(P) 승진하지 못함 TP 승진함(P) 승진함 정밀도(Precision) TP / (TP + FP) 무조건 양성으로 판단해서 계산하는 방법 실제 1(TP.. AI/머신러닝 2023. 12. 27. [머신러닝] MSE, MAE, RMSE 평가지표 선형회귀 모델의 성능을 평가하고 비교하기 위해 사용되는 평가지표. 평가지표 예시에 사용될 값. p = np.array([3, 4, 5]) # 예측값 act = np.array([1, 2, 3]) # 실제값 MSE(Mean Squared Error) 예측값과 실제값의 차이에 대한 제곱을 평균낸 값 이상치에 민감하게 반응하는 경우 사용 def my_mse(pred, actual): return ((pred - actual) ** 2).mean() my_mse(p, act) 4.0 MAE(Mean Absolute Error) 예측값과 실제값의 차이에 대한 절대값을 평균낸 값 예측 오차의 크기에 직접적으로 관심이 있는 경우 사용 나중에 미분해야하는 경우가 생길 때 번거롭기 떄문에 잘 사용하지 않는다. .. AI/머신러닝 2023. 12. 25. [머신러닝] 사이킷런(Sciket-learn) 사이킷런 사이킷런은 대표적인 파이썬 머신러닝 모듈이다. 지도학습(Supervised Leraning)과 비지도학습(Unsupervised Learning)의 다양한 알고리즘을 사용할 수 있고, 머신러닝 결과를 검증하는 기능또한 제공한다. 샘플 데이터도 사용할 수 있고 무료이기 때문에 굉장히 유용하다. https://scikit-learn.org/stable/index.html scikit-learn: machine learning in Python — scikit-learn 1.3.2 documentation Model selection Comparing, validating and choosing parameters and models. Applications: Improved accuracy via .. AI/머신러닝 2023. 12. 21. [머신러닝] 머신러닝 머신러닝 인공지능 = 인공(Artificial) + 지능(Intelligence) 인공지능은 크게 개발자에 의한 인공지능과 데이터에 의한 인공지능으로 나눌 수 있다. 이 구분은 인공지능의 역사와 관련이 있다. 2023년 지금은 데이터의 양이 많고 처리속도도 빠르기 때문에 데이터 기반 인공지능 기술이 많이 발전되었다. 데이터를 기반으로 한 학습(Learning)하는 기계(Machine), 머신러닝 기술로 탄생한 인공지능이다. 머신러닝이란 '인간의 학습능력과 같은 기능을 컴퓨터에 부여하기 위한 기술'이다. 배경 과거 컴퓨터로 데이터를 읽어들이고, 데이터 안에서 특징을 학습하여 패턴을 찾아내는 작업을 개발자가 직접 했다. 현재는 데이터를 대량으로 수집 처리할 수 있는 환경이 갖춰짐으로 할 수 있는 일들이 많아.. AI/머신러닝 2023. 12. 21. 이전 1 다음