728x90
반응형
SMALL

혼공머신 9

[머신러닝] 결정 트리(와인 분류)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: 결정트리로 레드 와인과 화이트 와인을 분류한다. 알코올 도수, 당도, pH 데이터로 화이트 와인을 골라내는 이진 분류 로지스틱 회귀 모델을 훈련한 후 더 좋은 성능을 위해 결정 트리로 레드 와인과 화이트 와인을 분류한다. 1. 로지스틱 회귀로 와인 분류하기 레드 와인과 화이트 와인을 구분하는 이진 분류 문제이다. 먼저 6497개의 와인 샘플 데이터를 불러오자. import pandas as pd wine = pd.read_csv('https://bit.ly/wine_csv_data') wine.head() # 처음 5개 행 출력 와인 데이터셋을 판다스 데이터프레임으로 제대로 읽어 들였는지 처음 5개의 샘플을 출력하였다. alc..

[머신러닝] 확률적 경사 하강법

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 용어 정리 1. 확률적 경사 하강법: 훈련 세트에서 샘플을 하나씩 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘 2. 미니배치 경사 하강법: 여러 개의 샘플을 사용하는 경사 하강법 3. 배치 경사 하강법: 전체 샘플을 사용하는 경사 하강법 4. 에포크: 확률적 경사 하강법에서 전체 샘플을 모두 사용한 한 번의 반복 5. 손실 함수: 확률적 경사 하강법이 최적화할 대상, 머신러닝 알고리즘이 얼마나 나쁜지 측정하는 기준, 값이 작을수록 좋음 6. 로지스틱 손실 함수: 로지스틱 회귀 모델을 만드는 손실 함수로, 이진 크로스엔트로피 손실 함수라고도 함 7. SGDClassifier: 사이킷런에서 확률적 경사 하강법을 제공하는 대..

[머신러닝] 로지스틱 회귀(생선 확률 예측)

교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: 로지스틱 회귀로 확률을 예측한다. k-최근접 이웃 분류기의 한계를 경험해 보고 이를 해결하기 위해 로지스틱 회귀를 사용해 생선 종류의 확률을 예측한다. * 문제 해결 과정 1. 데이터 준비하기(pandas) 2. 훈련 세트와 테스트 세트 만들기 3. k-최근접 이웃 분류기의 확률 예측 4. 로지스틱 회귀 1) 로지스틱 회귀로 이진 분류 2) 로지스틱 회귀로 다중 분류 1. 데이터 준비하기(pandas) 판다스로 인터넷에서 데이터를 바로 다운로드하자. import pandas as pd fish = pd.read_csv('https://bit.ly/fish_csv_data') fish.head() # 처음 5개 행 출력 read_c..

[머신러닝] 릿지, 라쏘(농어 무게 예측3)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: 릿지와 라쏘 회귀로 과대적합을 해결한다. 여러 개의 특성을 사용한 다중 회귀 모델의 과대적합을 경험해 보고 이를 해결하기 위해 릿지와 라쏘 모델을 훈련한다. * 문제 해결 과정 1. 판다스를 사용하여 농어 데이터 준비하기 2. 훈련 세트와 테스트 세트 만들기 3. 사이킷런 변환기로 특성 변환하기 4. 다중 회귀 모델 훈련 및 평가하기 5. 규제 6. 릿지 회귀 7. 라쏘 회귀 1. 판다스를 사용하여 농어 데이터 준비하기 농어의 특성을 길이, 높이, 두께로 3개를 사용할 것이 때문에 데이터를 준비하기 번거롭다. 따라서 판다스를 사용하면 인터넷에서 데이터를 바로 다운로드하여 사용할 수 있다. 판다스는 데이터 분석 라이브러리이다. ..

[머신러닝] 선형 회귀, 다항 회귀(농어 무게 예측2)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: 선형 회귀를 사용하여 훈련 세트 범위 밖의 샘플을 예측한다. k-최근접 이웃 회귀와 선형 회귀의 문제점을 경험해 보고 이를 해결하기 위해 다항 회귀를 사용하여 농어의 무게를 예측하는 모델을 만든다. * 문제 해결 과정 1. 농어 데이터 준비하기 2. 훈련 세트와 테스트 세트 만들기 3. KNeighborsRegressor 클래스를 임포트 한 후 객체 만들기 4. 모델 훈련하기 5. 선형 회귀 6. 다항 회귀 1. 농어 데이터 준비하기 농어 56마리의 길이와 무게 리스트를 준비해 보자. import numpy as np perch_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 1..

[머신러닝] k-최근접 이웃 회귀(농어 무게 예측)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: k-최근접 이웃 회귀를 사용하여 농어의 무게를 예측한다. 농어의 길이와 무게를 통해 농어의 무게를 예측하는 k-최근접 이웃 회귀 모델을 만든다. * 문제 해결 과정 1. 농어 데이터 준비하기 2. 훈련 세트와 테스트 세트 만들기 3. KNeighborsRegressor 클래스를 임포트 한 후 객체 만들기 4. 모델 훈련 및 평가하기 5. 과대적합과 과소적합 1) 과소적합 경험하기 2) 과소적합 해결하기 1. 농어 데이터 준비하기 농어 56마리의 길이와 무게 리스트를 준비해 보자. import numpy as np perch_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7..

[머신러닝] 데이터 전처리(생선 분류 문제3)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: 데이터 전처리로 특성의 스케일을 조정한다. 새로운 샘플로 스케일이 다른 두 특성의 문제점을 경험해 보고 이를 해결하기 위해 데이터 전처리 작업을 거쳐 도미와 빙어를 구분하는 머신러닝 프로그램을 만든다. * 문제 해결 과정 1. 생선 데이터 준비하기 2. 넘파이로 2차원 리스트 만들기 3. 훈련 세트와 테스트 세트 만들기 1) train_test_split() 함수 임포트하기 2) fish_data와 fish_target 나누기 4. 모델 훈련 및 평가하기 5. 데이터 전처리 6. 전처리 데이터로 모델 훈련 및 평가하기 1. 생선 데이터 준비하기 도미 35마리와 빙어 14마리를 합친 총 49마리의 생선의 길이와 무게 리스트를 준..

[머신러닝] 샘플링 편향, 넘파이(생선 분류 문제2)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: 넘파이를 사용하여 샘플링 편향을 해결한다. 샘플링 편향을 경험해 보고 이를 해결하기 위해 넘파이를 사용하여 도미와 빙어를 구분하는 머신러닝 프로그램을 만든다. * 문제 해결 과정 1. 생선 데이터 준비하기 2. 2차원 리스트 만들기 3. KNeighborsClassifier 클래스를 임포트 한 후 객체 만들기 4. 훈련 세트와 테스트 세트 만들기 5. 훈련 세트로 모델 훈련하기 6. 테스트 세트로 모델의 성능 평가하기 → 샘플링 편향 7. 생선 데이터를 2차원 넘파이 배열로 변환하기 1) 넘파이 라이브러리 임포트 하기 2) 넘파이 array() 함수에 파이썬 리스트 전달하기 8. 랜덤하게 샘플을 선택해 훈련 세트와 테스트 세트..

[머신러닝] k-최근접 이웃(생선 분류 문제)

* 교재: 혼자 공부하는 머신러닝+딥러닝 (hanbit.co.kr) * 문제: k-최근접 이웃을 사용하여 2개의 생선을 분류한다. 각 생선의 특징(무게, 길이)을 통해 도미와 빙어를 구분하는 머신러닝 프로그램을 만든다. * 문제 해결 과정 1. 도미 데이터 준비하기 2. 빙어 데이터 준비하기 3. 도미와 빙어 데이터를 하나로 합치기 4. 2차원 리스트 만들기 5. 정답 데이터 준비하기 6. k-최근접 이웃 알고리즘을 사용해 머신러닝 프로그램 만들기 1) KNeighborsClassifier 클래스 임포트하기 2) KNeighborsClassifier 클래스의 객체 만들기 3) 객체 훈련하기 4) 훈련된 객체(모델)의 성능 평가하기 1. 도미 데이터 준비하기 35마리의 도미의 길이와 무게 리스트를 준비해 ..

728x90
반응형
LIST