전체 글 61

[ML] 06-3 주성분 분석

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH6 비지도 학습 ③ 주성분 분석으로 차원 축소 차원 축소에 대해 이해하고 대표적인 차원 축소 알고리즘 중 하나인 PCA(주성분 분석) 모델을 만들어보자 ▶ 차원과 주성분 분석 차원 축소 원본 데이터의 특성을 적은 수의 새로운 특성으로 변환하는 비지도 학습의 한 종류이다. 차원 축소는 저장 공간을 줄이고 시각화하기 쉽다. 다른 알고리즘의 성능을 높일 수도 있다. 대표적인 차원 축소 알고리즘은 주성분 분석 (PCA) 주성분 분석 차원 축소 알고리즘의 하나로 데이터에서 가장 분산이 큰 방향을 찾는 방법 (주성분) 원본 데이터를 주성분에 투영하여 새로운 특성을 만들 수 있다. 일반적으로 주성분은 원본 데이터에 있는 특성 개수보다 작다. ▶ PC..

[ML] 06-2 k-평균 알고리즘

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH6 비지도 학습 ② 과일을 자동으로 분류하기 k-평균 알고리즘의 작동 방식을 이해하고 타깃값을 모를 때 과일 사진을 자동으로 모으는 비지도 학습 모델을 만들어보자 ▶ K-평균 알고리즘 소개 무작위로 k개의 클러스터 중심을 정한다 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정한다 클러스터에 속한 샘플의 평균값으로 클러스터 중심을 변경한다 클러스터 중심에 변화가 없을 때까지 2번으로 돌아가 반복한다 k-평균 알고리즘은 처음에는 랜덤하게 클러스터 중심을 선택하고 점차 가까운 샘플의 중심으로 이동하는 알고리즘이다 클러스터 중심 k-평균 알고리즘이 만든 클러스터에 속한 샘플의 특성 평균값 센트로이드라고도 부름 가장 가..

[ML] 06-1 군집 알고리즘

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH6 비지도 학습 ① 비슷한 샘플끼리 모으기 흑백 사진을 분류하기 위해 여러 가지 아이디어를 내면서 비지도 학습과 군집 알고리즘에 대해 이해하자 해야 할 일 : 여러 과일 사진을 같은 과일끼리 분류하기 ▶ 과일 사진 데이터 준비하기 타깃이 없을 때 사용하는 머신러닝 알고리즘은 비지도 학습이다. 사과, 바나나, 파인애플이 각각 100개씩 들어있는 데이터로 군집 알고리즘을 사용해보자 # 과일 사진 데이터 불러오기 import wget url = "https://bit.ly/fruits_300_data" wget.download(url) import numpy as np import matplotlib.pyplot as plt fruits = ..

[Python] 판다스, 넘파이 axis 개념

[Python] 판다스, 넘파이 axis 개념 1. axis=0 각 열(row)의 모든 행(column)에 대해 동작 진행방향이 세로임 (위에서 아래) drop일 때는 행을 drop 2. axis=1 각 행(column)의 모든 열(row)에 대해 동작 진행방향이 가로임 (왼쪽에서 오른쪽) drop일 때는 열을 drop ▶ 하나의 데이터 불러오기 import pandas as pd import numpy as np df = pd.read_csv("https://bit.ly/wine_csv_data").head() df ▶ pd.drop에서 axis 예시 인덱스가 0, 3인 행을 삭제하기 (axis=0) df.drop([0,3], axis=0) 'sugar' 열 삭제하기 (axis=1) df.drop('s..

Python/Study 2022.03.11

[ML] 05-3 트리의 앙상블

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH5 트리 알고리즘 ③ 앙상블 학습을 통한 성능 향상 앙상블 학습이 무엇인지 이해하고 다양한 앙상블 학습 알고리즘을 실습을 통해 배워보자 앙상블 학습 - 더 좋은 예측 결과를 만들기 위해 여러 개의 모델을 훈련하는 머신러닝 알고리즘 - 정형 데이터를 다루는데 가장 뛰어난 성과를 내는 알고리즘 - 대부분 결정 트리를 기반으로 만들어져 있음 ▶ 랜덤 포레스트 대표적인 결정 트리 기반의 앙상블 학습 방법 부트스트랩 샘플을 사용, 랜덤하게 일부 특성을 선택하여 트리를 만드는 것이 특징 랜덤하게 선택한 샘플과 특성을 사용하므로 과대적합을 막아주고, 안정적인 성능을 얻을 수 있음 사이킷런의 랜덤 포레스트는 기본적으로 100개의 결정 트리를 훈련 Ra..

[ML] 05-2 교차 검증과 그리드 서치

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH5 트리 알고리즘 ② 최적의 모델을 위한 하이퍼파라미터 탐색 검증 세트, 교차 검증에 대해 배우기 그리드 서치와 랜덤 서치를 이용해 최적의 성능을 내는 하이퍼파라미터를 찾아보자 ▶ 검증 세트 검증세트는 하이퍼파라미터 튜닝을 위해 모델을 평가할 때, test set을 사용하지 않기 위해 train set에서 다시 떼어 낸 data set이다. test set으로 일반화 성능을 올바르게 예측하려면 가능한 한 test set을 사용하지 않아야 한다. test set을 사용하지 않고 모델이 과대적합인지 과소적합인지 판단하기 위해 검증 세트를 이용하자 train set에서 모델을 훈련하고 검증 세트로 모델 평가 테스트하고 싶은 매개변수를 바꿔가며..

[ML] 05-1 결정 트리

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH5 트리 알고리즘 ① 화이트 와인을 찾아보자 알코올 도수, 당도, pH 데이터를 기준으로 화이트 와인을 골라내보자 로지스틱 회귀 모델, 결정 트리 ▶ 로지스틱 회귀로 와인 분류하기 # 6,497개 와인 샘플 데이터 불러오기 import pandas as pd wine = pd.read_csv("https://bit.ly/wine_csv_data") wine.head() class은 타깃값으로 0이면 레드 와인, 1이면 화이트 와인(양성 클래스)이다. 데이터를 살펴보자 wine.info() 결측치는 없는 것으로 확인된다 wine.describe() alcohol, sugar, pH의 스케일이 다르므로 표준화 전처리를 해주어야 한다. tra..

[ML] 04-2 확률적 경사 하강법

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH4 다양한 분류 알고리즘 ② 점진적 학습을 위한 확률적 경사 하강법 한빛 마켓은 럭키백의 폭발적인 인기에 힘입어 생선을 실시간으로 학습하기 위한 새로운 머신러닝 모델을 필요로 한다. 확률적 경사 하강법을 사용해 점진적으로 학습하는 로지스틱 회귀 모델을 만들어보자 ▶ 점진적인 학습 키워드로 먼저 공부해보자! 점진적 학습 온라인 학습이라고도 부름 학습이 끝난 모델에 대하여 작은 묶음 단위의 데이터를 주입해 모델을 학습시키는 방법 가장 대표적인 점진적 학습 알고리즘은 확률적 경사 하강법 확률적 경사 하강법 훈련 세트에서 샘플을 하나씩 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘 미니배치 경사 하강법 샘플을 하나씩 사용하지 않고 ..

[ML] 04-1 로지스틱 회귀

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH4 다양한 분류 알고리즘 ① 럭키백의 확률 계산하기 로지스틱 회귀 알고리즘을 배우고 이진 분류, 다중 분류 문제에서 클래스 확률을 예측해보자 한빛 마켓은 '럭키백(생선) 이벤트'를 하려고 한다. 럭키백은 구성품을 모른 채 먼저 구매하고, 배송받은 후에야 구성품을 알 수 있다. 럭키백에 포함된 생선의 확률을 알려주기 위해 로지스틱 회귀를 사용해보자 ▶ 데이터 준비 import pandas as pd fish = pd.read_csv("https://bit.ly/fish_csv_data") fish.head() 어떤 종류의 생선이 있는지 판다스의 unique() 함수를 사용해 확인해보자 print(pd.unique(fish['Species'..

[ML] 03-3 특성 공학과 규제

혼자 공부하는 머신러닝+딥러닝 책을 바탕으로 공부한 내용입니다. CH3 회귀 알고리즘과 모델 규제 ③ 모델의 과대적합 제어하기 여러 특성을 사용한 다중 회귀에 대해 배우고 사이킷런의 여러 도구를 사용해보자 복잡한 모델의 과대적합을 막기 위한 릿지와 라쏘 회귀에 대해 배워보자 ▶ 다중 회귀 선형 회귀는 특성이 많을수록 더 좋은 효과를 낸다 앞서 만들었던 모델보다 더 좋은 성능을 내기 위해 길이, 높이, 두께 특성을 모두 사용해서 모델을 만들어보자 여러 개의 특성을 사용한 선형 회귀를 다중 회귀라고 부른다. 또, 기존의 특성을 사용해 새로운 특성을 뽑아내는 작업을 특성 공학이라고 부른다. ▶ 데이터 준비 이번에는 판다스를 이용해 농어 데이터를 판다스 데이터프레임에 저장하자 그 후 넘파이 배열로 변환하여 선형..