AI/Machine Learning&Deep Learning

    Machine Learning_K-최근접 이웃 회귀

    Machine Learning_K-최근접 이웃 회귀

    지도학습은 크게 분류와 회귀로 나뉘는데, 분류는 샘플을 몇 개의 클래스 중 하나로 분류하는 것이고, 회귀는 클래스 중하나로 분류하는 것이 아니라 임의의 어떤 숫자를 예측하는 문제이다. K-최근접 이웃 분류 알고리즘은 이전에서 다뤘는데, K-최근접 이웃 회귀는 분류와 똑같이 예측하려는 샘플에 가장 가까운 샘플 k 개를 선택한다. 하지만 회귀이기 때문에 이웃한 샘플의 타깃은 어떤 클래스가 아니라 임의의 수치이다. 수치들의 평균을 구하면 타깃을 예측할 수 있다. 결과에서 예측이 평균적으로 19g 정도 타깃값과 다르다는 것을 알 수 있습니다. 과대적합은 훈련 세트에서 점수가 굉장히 좋았는데 테스트 세트에서는 점수가 굉장히 나쁜 경우이고, 과소적합은 그반대이며 모델이 너무 단순하여 훈련세트에 적절히 훈련되지 않은..

    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