본문 바로가기
728x90

머신러닝23

11. 차원 축소(Dimension Reduction) 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2021.1.3 11.1 차원 축소(Dimension Reduction) 개요 - 대표적인 알고리즘 PCA, LDA, SVD, NMF - 매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 데이터 세트를 생성하는 것 - 왜 하는가? [수많은 피처로 구성된 데이터의 예측 신뢰도 < 적은 피처로 구성된 데이터의 예측 신뢰도] - 피처가 많을 경우 개별 피처간 상관관계가 높을 가능성이 큼 - 선형 회귀 등 선형 모델에서는 입력 변수 간의 상관관계가 높을 경우 다중 공선성 문제로 예측 성능 저하 우려 있음 - 즉, 매우 많은 다차원의 피처를 차원 축소하여 피처 수를 줄.. 2021. 1. 3.
10. 회귀(Regression)_3 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2021.1.2 10.1 회귀 트리 - 회귀를 위한 트리를 생성하고 이를 기반으로 회귀 예측을 하는 것 - 분류 트리와의 다른 점은, 회귀 트리는 리프 노드에 속한 데이터 값의 평균값을 구해 회귀 예측값을 계산함 - 결정 트리, 랜덤 포레스트, GBM, XGBoost, LightGBM 등 트리 기반의 알고리즘은 분류와 회귀 가능 알고리즘 회귀 Estimator 클래스 분류 Estimator 클래스 결정 트리(Decision Tree) DecisionTreeRegressor DecisionTreeClassifier Gradient Boosting GradientBoostingRe.. 2021. 1. 2.
9. 회귀(Regression)_2 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2021.1.1 9.1 다항 회귀와 과적합/과소적합 - 독립변수(feature)와 종속변수(target)의 관계가 일차방정식(단항식)이 아닌, 2차, 3차 등 다항식으로 표현되는 회귀 - Y = a + bX1 + cX2 + dX1X2 …(Y: 종속변수 / X1, X2: 독립변수 / a, b, c, d: 회귀계수) - 다항 회귀는 선형 회귀임! - 회귀에서 선형/비선형을 나누는 기준은 회귀 계수가 선형/비선형인지에 따름(독립변수의 선형/비선형과 무관) - sklearn은 다항 회귀를 위한 클래스는 없으므로, 비선형 함수를 선형 모델에 적용시키는 방법을 사용 - sklearn의 P.. 2021. 1. 1.
subplot, subplots, fig, ax - subplot은 하나의 그래프에만 해당 - subplots는 전체 그래프에 해당 즉, 100개의 그래프를 그리기 위해서 subplot은 코드 100줄이 필요, subplots는 1줄 필요 ex) plt.subplot(1,1,1) ~ plt.subplot(1,1,100) / 총 100줄 plt.subplots(nrows=100, ncols=1) / 총 1줄 - fig, ax = plt.subplots() - fig는 figure, 전체 subplot에 해당 - ax는 전체 subplot 중 하나의 그래프에만 해당 subplot에 2개의 그래프(X1, X2)가 있을 경우, X1, X2에 해당 2021. 1. 1.
np.random.randint, np.random.rand, np.random.randn 쉽게 보자 np.random.randint(A,B) = A ~ B-1 숫자 중 랜덤숫자 1개 뽑기 np.random.rand(A,B) = 0~1의 균일 표준정규분포에서 난수를 matrix (A,B) 생성 np.random.randn(A,B) = 평균0, 표준편차1의 가우시간 표준정규분포에서 난수를 matrix (A,B) 생성 끝 2020. 12. 29.
np.random.seed(0) 쉽게 보자 생성된 난수를 시드에 저장하여 시드가 바뀌지 않을 경우 값을 유지 시드의 숫자가 변하지 않으면 계속 같은 값을 반환함 - np.random.seed(0) - np.random.randn(100, 2) array([[ 1.62434536, -0.61175641], [-0.52817175, -1.07296862], [ 0.86540763, -2.3015387 ], [ 1.74481176, -0.7612069 ], [ 0.3190391 , -0.24937038], ... - np.random.randn(100, 2) array([[ 1.62434536, -0.61175641], [-0.52817175, -1.07296862], [ 0.86540763, -2.3015387 ], [ 1.74481176.. 2020. 12. 29.
8. 회귀(Regression)_1 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2020.12.27 8.1 회귀(Regression) - 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법 - 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법 - Y = aX1 + bX2 + cX3 …(Y: 종속변수 / X1, X2, X3: 독립변수 / a, b, c: 회귀계수) - 즉, 머신러닝 회귀 예측은 최적의 회귀계수를 찾아내는 것(방정식 찾기) - 분류(Classification)는 이산형, 회귀(Regression)는 숫자형 독립변수 개수 회귀 계수의 결합 1개: 단일 회귀 선형: 선형 회귀 여러 개: 다중 회귀 비선.. 2020. 12. 27.
7. 분류(Classification)_3 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2020.12.13 7.1 LightGBM - 기존 GBM과 XGBoost의 후속작. 동일 성능 대비 학습 시간이 매우 짧음 - 적은 데이터에 과적 합할 가능성이 있음(10,000건 이하 거의 안된다고 보는 게 맞을 듯?) - 리프 중심 트리 분할(Leaf Wise) 방식(보통은 균형 트리 분할(Level Wise) 방식을 사용하고 있음) - 사이킷런 LightGBM(분류 LGBMClassifer, 회귀 LGBMRegressor) - 사용하기 위해 Visual Studio Build tool 2015 이상 필요 - visualstudio.microsoft.com/ko/downl.. 2020. 12. 13.
6. 분류(Classification)_2 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2020.12.13 6.1 앙상블 학습(Ensemble Learning) - 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합하여 보다 정확한 최종 예측을 도출하는 방식 - 보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 등 보팅(Voting) 서로 다른 알고리즘을 가진 분류기를 결합 배깅(Bagging) 데이터 샘플링을 서로 다르게 추출하여 학습한 같은 유형의 분류기를 결합 / 랜덤 포레스트 등 부스팅(Boosting) 여러 개의 분류기가 순차적으로 학습 및 예측, 예측이 틀렸다면 다음 분류기에 가중치(Weigh.. 2020. 12. 13.
반응형