혼자공부하는머신러닝+딥러닝
![[ 혼자 공부하는 머신러닝 + 딥러닝 ] 트리의 앙상블](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FG7R6Q%2FbtrGnXvBOtW%2Fdf47s81yLhyOBZCPO5kWC1%2Fimg.png)
[ 혼자 공부하는 머신러닝 + 딥러닝 ] 트리의 앙상블
가지런히 정리되어 있는 CSV파일, 엑셀파일등을 정형 데이터라고 부른다. 글과 같은 텍스트 데이터, 사진, 음악등을 비정형 데이터라고 부른다. 정형 데이터를 다루는데 가장 뛰어난 성과를 내는 알고리즘이 앙상블 학습이다. 랜덤 포레스트 앙상블 학습의 대표 주자 중 하나로 안정적인 성능을 낸다. 결정트리를 랜덤하게 만들어 결정트리의 숲을 만든다. 각 결정 트리의 예측을 사용해 최종 예측을 만든다. 입력한 훈련 데이터에서 랜덤하게 샘플을 추출하여 훈련 데이터를 만든다. → 샘플의 중복을 허용한다. 이렇게 만들어진 샘플을 부트스트랩 샘플이라고 부른다. → 기본적으로 부트스트랩 샘플의 크기는 훈련세트의 크기와 같게 만든다. 각 노드를 분할할 때 전체 특성 중에서 일부 특성을 무작위로 고른 다음 최선의 분할을 찾는..
![[ 혼자 공부하는 머신러닝 + 딥러닝 ] 교차 검증과 그리드 서치](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGBl1M%2FbtrGjEiJI4N%2FdqWzCpwZwQzrDLxRClnAck%2Fimg.png)
[ 혼자 공부하는 머신러닝 + 딥러닝 ] 교차 검증과 그리드 서치
검증세트 테스트세트를 사용하지 않고 모델이 과소적합인지 과대적합인지 판단하기 위해 훈련세트를 또 나눠서 검증세트를 만든다. 훈련세트에서 모델을 훈련하고 검증 세트로 모델을 평가한다. from sklearn.model_selection import train_test_split #데이터와 타깃을 훈련세트와 테스트세트로 분할 train_input, test_input, train_target, test_target = train_test_split(data, target, test_size = 0.2) #훈련세트를 훈련세트와 검증세트로 분할(sub: 훈련세트, val: 검증세트) sub_input, val_input, sub_target, val_target = train_test_split(train_in..
![[ 혼자 공부하는 머신러닝 + 딥러닝 ] 결정 트리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2eB2V%2FbtrGkc6BgK2%2FmqMuu2KnH7Jgu945JU2qX0%2Fimg.png)
[ 혼자 공부하는 머신러닝 + 딥러닝 ] 결정 트리
판다스 데이터프레임의 유용한 메서드 데이터프레임 객체.info() → 데이터프레임의 열의 데이터 타입과 누락된 데이터가 있는지 확인 데이터프레임 객체.describe() → 열에 대한 간략한 통계를 출력(mean, std, min, max 등등) 데이터프레임에서 각 통계 확인 후 특성에 대한 스케일이 다를경우 StandardScaler 클래스를 사용해서 특성을 전처리 (훈련세트로 학습 후 → 훈련세트와 테스트 세트 전처리) 데이터프레임을 넘파이 배열로 변환 후 훈련세트와 테스트 세트로 나눈다. train_test_split 함수의 매개변수인 test_size는 테스트 세트의 사이즈를 지정한다. 디폴트는 0.25이다. test_size = 0.2시 입력데이터의 20%를 테스트세트로 변환한다. 결정트리 로지..
![[ 혼자 공부하는 머신러닝 + 딥러닝 ] 확률적 경사 하강법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm8ycL%2FbtrGjcTpE1Z%2FqdjomRCPlKzgoTw6ylaRV0%2Fimg.png)
[ 혼자 공부하는 머신러닝 + 딥러닝 ] 확률적 경사 하강법
점진적 학습 이전에 학습한 모델을 버리지 않고 새로운 데이터셋에 대해서 조금씩 훈련 대표적인 점진적 학습 알고리즘은 확률적 경사 하강법입니다. 확률적 경사 하강법 경사를 따라 내려가는 방법 가파른 경사를 따라 원하는 지점에 도달하는것이 목표 가파른 길을 찾아 내려오지만 조금씩 내려오는게 중요 → 경사 하강법 모델을 훈련 전체 샘플을 사용하지 않고 하나의 샘플만을 가지고 가파른 길을 찾는 법 → 확률적 경사 하강법 훈련 세트를 한번 모두 사용하는 과정을 에포크, 일반적으로 수십, 수백번 수행 1개의 샘플을 사용해 경사 하강법을 수행하는 방식이 확률적 경사 하강법 여러 개의 샘플을 사용해 경사 하강법을 수행하는 방식이 미니배치 경사 하강법 실전에서 아주 많이 사용하는 방법이다. 전체 샘플을 사용해 경사 하강..
![[ 혼자 공부하는 머신러닝 + 딥러닝 ] 로지스틱 회귀](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcLVJ9Q%2FbtrGg0TbuEK%2FPPqAkz1EvozrOjev5rcVpk%2Fimg.png)
[ 혼자 공부하는 머신러닝 + 딥러닝 ] 로지스틱 회귀
로지스틱 회귀 데이터 준비하기 CSV 파일을 읽을 경우 데이터프레임 형태로 저장된다. 데이터프레임에서 사용할 열을 입력데이터와 타깃데이터로 구분해 넘파이 배열로 변환한다. 분류한 입력과 타깃을 사이킷런의 train_test_split 함수를 활용하여 훈련데이터와 테스트데이터로 분할한다. from sklearn.model_selection import train_test_split 사이킷런의 standardscaler를 사용하여 훈련데이터와 테스트데이터를 전처리(표준화)해준다. standardscaler 객체 생성후 fit 함수로 훈련 후 transform 함수로 변환 transform 함수로 테스트세트와 훈련세트 모두 변환해줘야 한다. 타깃데이터에 2개 이상의 클래스이 포함된 문제를 다중 분류라고 한다...