분류 전체보기

    MachineLearning_회귀(Regression)

    MachineLearning_회귀(Regression)

    판다스 데이터프레임에 corr 메소드를 적용하면 숫자 데이터를 갖는 변수 간의 상관 계수를 계산한다. 시본의 heatmap 함수를 사용하면 상관 계수 테이블을 시각화 할 수 있다. 목표 변수인 Target 열은 RM 변수와 상관 계수가 0.69이고, LSTAT 변수와 -0.73으로 높은 편이다. 행 기준으로는 Target을 제외한 나머지 변수를 모두 선택하고, 열 기준으로는 Target을 선택한다. abs는 상관계수 값을 모두 양의 값으로 바꾼다. LSTAT와 RM의 선형 관계가 뚜렷하다. LSTAT와 RM은 목표 변수인 Target과 강한 선형 관계를 갖기 때문에 이 둘을 학습데이터(X_data)로 선택한다. 선형회귀 모델의 coef_ 속성으로부터 각 피처에 대한 회귀계수 값을 얻고 intercept_..

    MachineLearning_교차 검증

    MachineLearning_교차 검증

    1. Hold-out 학습 데이터 일부를 검증 데이터로 사용하는 방법을 홀드 아웃 교차 검증이라고 한다. 검증 데이터는 모델 학습에 사용되지 않은 데이터이므로 모델의 일반화 성능을 평가하는데 쓰인다. 검증 정확도가 훈련 정확도보다 낮기 때문에 훈련 데이터에 과대적합이 발생되었다. 즉 , 새로운 데이터 성능과 예측력이 낮아진다. 2. K-fold K-fold 교차 검증은 홀드아웃 방법을 여러 번 반복하는 방법이다. 전체 데이터를 k개의 부분 집합으로 나누고, 그 중에서 첫 번째 부분 집합을 검증용으로 사용하고 나머지 k-1개의 집합을 모델 훈련에 사용한다. 그 다음 두번째 부분집합(Fold2)을 검증용으로 사용하여 모델 성능을 평가한다. 데이터를 서로 겹치지 않게 분할하여 모두 k번 검증하므로 모델 일반화..

    MachineLearning_앙상블 모델

    MachineLearning_앙상블 모델

    앙상블 모델은 여러 모델을 결합하여 성능을 높이는 방법이다. 하나의 모델 예측에 의존하는 것보다 여러 모델을 종합해서 보면 모델의 예측력이 좋아지기 때문이다. 1. 보팅 모두 같은 데이터를 학습하는 서로 다른 알고리즘이다. 여러 개의 모델이 예측한 값 중에서 다수결로 최종 분류 클래스를 정한다. 정확도가 개선되는 동시에 개별 모델에 비해 학습 시간이 오래걸린다. 2. 배깅 의사결정나무는 한 개의 트리를 사용한다. 반면 랜덤 포레스트는 트리 모델을 여러 개 사용하여 각 모델의 개별 예측값을 보팅을 통해 결정한다. 이처럼 같은 종류의 알고리즘 모델을 여러 개 결합하여 예측하는 방법을 배깅이라고 한다. 3. 부스팅 여러개의 가벼운 모델을 순차적으로 학습한다. 잘못 예측한 데이터에 대한 예측 오차를 줄일 수 있..

    MachineLearning_로지스틱 회귀&의사결정나무

    MachineLearning_로지스틱 회귀&의사결정나무

    로지스틱 회귀(Logistic Regression)는 회귀라는 이름으로 되어있지만 실제로 분류알고리즘에 속한다. 시그모이드 함수의 출력값(0~1)을 각 분류 클래스에 속하게 될 확률 값으로 사용한다. 확률이 1에 가까우면 해당클래스로 분류하고, 0에 가까우면 아니라고 분류한다. LogisticRegression은 기보넞ㄱ으로 릿지 회귀와 같이 계수의 제곱을 규제한다. 이런 규제를 L2규제라고도 한다. 이진분류에서는 시그모이드 함수를 이용해 Z를 0과 1 사이값으로 변환한다. 이와 달리, 다중 분류는 소프트맥스 함수로 Z값을 확률로 변환한다. 첫 번째 열은 클래스 0의 예측 확률, 두번째 열은 클래스 1의 예측 확률, 세번째 열은 클래스 2의 예측 확률이다. 첫 번째 행의 값을 보면 0번째 열의 예측 확률..

    MachineLearning_SVM 분류 알고리즘

    MachineLearning_SVM 분류 알고리즘

    SVM(Support Vector Machine)은 데이터셋의 각 피처 벡터들이 고유의 축을 갖는 벡터 공간을 이룬다고 가정한다. 모든 데이터를 벡터 공간 내의 좌표에 점으로 표시하고, 각 데이터가 속하는 목표 클래스별로 군집을 이룬다고 생각한다. 이때 각 군집까지의 거리를 최대한 멀리 유지하는 경계면을 찾는다. 정확도를 산출해보면 100%의 정확도를 갖는 것을 알 수 있다. 출처: book.naver.com/bookdb/book_detail.nhn?bid=17597510 파이썬 딥러닝 머신러닝 입문 아직도 파이썬을 모른다고? 이 책은 코드를 직접 입력하고 실행하는 데 필요한 기본적인 환경을 ‘구글 코랩’을 활용하여 파이썬의 가장 기본적인 문법 중 핵심적인 내용만 간단하게 설명한다 book.naver.com

    MachineLearning_KNN 분류 알고리즘

    MachineLearning_KNN 분류 알고리즘

    Train_Test 데이터셋 분할 과정이다. test_size 옵션 값(0.2)에 따라 20%를 테스트, 나머지 80%를 훈련용으로 분할했다. 전체 149 샘플 중에서 119/30 개로 나누어 분류 알고리즘을 진행할 것이다. random_state를 고정 값으로 지정해야 랜덤 추출하여도 일정한 기준으로 지속해서 분할한다. KNN(K-Nearest-Neighbors) 분류 알고리즘은 예측하려는 데이터 X가 주어지면, 기존 데이터 중 속성이 비슷한 K개의 이웃을 먼저 찾는다. 이웃값에 따라 KNN모델이 예측하는 클래스 값이 달라질 수 있다. 테스트 데이터를 통해 예측값을 산출해낸다. 모델의 성능 평가하기 위해 사이킷런 metrics 모듈에서 accuracy_score 함수를 이용해야한다. 테스트 데이터 y_..