본문 바로가기
728x90

코딩26

12. 군집화(Clustering) 권철민 저, '파이썬 머신러닝 완벽 가이드', 2019.02.28 내 맘대로 요약 공부 중(문제시 비공개 및 삭제) 최초 작성일 2021.1.7 12.1 K-평균 알고리즘 - 군집화(Clustering)의 가장 보편적인 알고리즘 K-평균 - 군집 중심점(centroid)을 임의로 지정하여 각 데이터와의 평균 지점으로 이동하며, 더 이상 중심점의 이동이 없을 경우 반복을 멈추고 해당 중심점에 속하는 데이터들을 군집화 두 개의 군집 중심점을 설정하며, 각 데이터는 가까운 중심점에 속함 할당된 데이터들의 평균 중심으로 중심점 이동 다시, 각 데이터는 가까운 중심점에 속함 할당된 데이터들의 평균 중심으로 중심점 이동 이동이 없을 때까지 반복 - 거리 기반 알고리즘으로 속성의 개수가 많을수록 군집화 정확도가 낮음.. 2021. 1. 9.
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.
'SMOTE' 설치 오류 conda install -c conda-forge imbalanced-learn 위의 코드로 SMOTE를 install 하였으나.. Error: 'SMOTE' object has no attribute '_validate_data' Imbalanced Date, 즉 불균형 데이터 문제를 처리할 수 있게 도와주는 SMOTE를 설치 도중 위와 같은 오류가 발생하였다. 내용을 찾아보니, 사이킷런의 버전이 맞지 않아 생기는 오류로 판단된다. 해결 방법은 아래와 같다. pip install -U scikit-learn pip install -U imbalanced-learn 해결되었음을 알린다. 2020. 12. 22.
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.
반응형