반응형

머신러닝 13

머신 러닝(with Google Colab) - 6일차(3)

주성분 분석(PCA)머신러닝의  비지도 학습 핵심 알고리즘인'주성분분석'은 여러 개의 특성이 있는 데이터에서 주요한 특성을 뽑아내서 특성 개수를 줄이는 방법 이 알고리즘에는 복원 기능이 있다.주요 역할차원축소 :주성분 분석 : 많은 특성을 사용하면 과대적합과 런타임이 늘어난다는 문제가 있는데 이를 예방해 준다.이전에 사용했던 데이터를 불러와보자#!wget https://bit.ly/fruits_300_data -O fruits_300.npyimport numpy as npfruits = np.load('fruits_300.npy')fruits_2d = fruits.reshape(-1, 100*100)#PCA클래스의 객체를 만들때는 n_components 매개변수에 주성분 개수를 지정해야함/ 0.n은 전체..

머신러닝 2024.10.25

머신 러닝(with Google Colab) - 6일차(2)

K-평균앞선 이미지의 분류에서는 300개의 데이터에서 100개 단위로 동일한 종류의 과일이 나열돼있어 분류 시 위치를 알고 선택했었다. 하지만 진정한 비지도 학습이라면 무작위의 데이터에서 이미지를 분류할 수 있어야 할 것이다. 이럴 때 사용하는 방법이 K-평균이다. 앞서 동일한 특징을 가진 데이터의 집합을 군집(클러스터)라고 했었는데 이 군집의 평균을 내어 중심을 찾고 이를 기반으로 이미지를 분류한다.  K-평균 알고리즘의 동작은 아래와 같다.k-평균 알고리즘 동작방식무작위로 k개의 클러스텉 중심을 정함각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터 중심을 변경클러스터에 속한 샘플의 평균값으로 클러스터 중심을 변경클러스터 중심에 변화가 없을 때까지 작동 후 2번으로 돌아간다말로만 설명한다면 ..

머신러닝 2024.10.25

머신 러닝(with Google Colab) - 6일차(1)

비지도 학습앞서 머신러닝의 학습은 지도와 비지도 학습이 있다고 했었는데 이제 비지도 학습에 대해 알아보자. 지도학습과의 차이점은 쉽게 타깃에 대한 사전 데이터가 없다는 점이다. 따라서 알고리즘이 스스로 데이터를 판단해서 예측해야 한다. 과일의 데이터를 이용하여 비지도 학습에 대해 알아보자데이터의 준비하는데 이번에는 사이트의 데이터를 불러와 저장해서 사용해 보자 구글 코랩에서는 '!'를 입력하면 명령프롬포트창(cmd)과 같이 사용이 가능하다. 이를 사용하여 데이터를 불러와 확인해 보자.!wget http://bit.ly/fruits_300 -O fruits_300.npyimport numpy as npimport matplotlib.pyplot as pltfruits = np.load('fruits_300..

머신러닝 2024.10.21

머신 러닝(with Google Colab) - 5일차(3)

데이터는 정형과 비정형 데이터로 나눌 수 있다. 정형 데이터는 엑셀과 CSV와 같이 행과 열에 따라 나뉨 이와 반대가 비정형 데이터이다. 우리는 이때까지 정형데이터를 사용하여 데이터를 분석했었다. 정형 데이터를 다루는 방법 중에는 가장 좋은 게 앙상블 학습이다. 이 알고리즘은 대부분 결정트리를 기반으로 만들어져 있는데 우리가 사용할 것은 랜덤 포레스트이다. 숲은 나무가 모여서 만들어진다 랜덤 포레스트 또한 다양한 결정 트리들이 모여서 구성되는데  동작과정을 알아보자 먼저 랜덤 포레스트는 각 트리를 훈련하기 위한 데이터를 랜덤 하게 만들어 낸다 이 데이터는 우리가 입력한 훈련데이터에서 랜덤 하게 샘플을 추출해서 만드는데 이때 추출하는 데이터는 중복이 될 수 있다. 따라서 무한한 가짓수의 샘플이 나올 수 있..

머신러닝 2024.10.18

머신 러닝(with Google Colab) - 5일차(2)

교차검증과 그리드 서치이전까지 우리가 머신러닝에 학습을 위해 데이터를 훈련과 테스트 세트로 나눠서 훈련을 하고 테스트를 확인해 보았다. 하지만 테스트 세트로 일반화 성능을 올바르게 확인하기 위해서는 테스트 세트를 최종적으로 모델을 만들고 나서 한 번만 확인해야 할 것이다. 그렇다면 테스트 세트를 대체할 새로운 세트가 필요하다. 가장 간단한 방법은 훈련세트를 나눠서 사용하는 것이다 이런 세트를 검사 세트라고 한다.우선 데이터를 훈련,테스트 까지 나누어 보자import pandas as pdwine = pd.read_csv('https://bit.ly/wine_csv_data')data = wine[['alcohol','sugar','pH']].to_numpy()target = wine['class'].to..

머신러닝 2024.10.18

머신 러닝(with Google Colab) - 5일차(1)

어떻게 하면 여러 개의 데이터가 섞여있는데서 종류별로 분류를 하는 프로그램을 만들 수 있을까?   앞서 배운 내용중 로지스틱 회귀를 통해 와인의 분류를 해보자 우선 데이터를 세팅해보자import pandas as pdwine = pd.read_csv('https://bit.ly/wine_csv_data')# print(wine.head()) : 5개의 샘플 확인# print(wine.info()) :데이터의 정보 종합# print(wine.describe()) # 데이터의 기초 통계 정보를 알려줌wine_data = wine[["alcohol","sugar","pH"]].to_numpy()wine_target = wine["class"].to_numpy()from sklearn.model_selectio..

머신러닝 2024.10.17

머신 러닝(with Google Colab) - 4일차(2)

앞서 확률적 경사 하강법에 대한 설명을 끝으로 마무리 했는데 이제 실제로 사용해 보자우선 데이터를 준비하자import pandas as pdfish = pd.read_csv('https://bit.ly/fish_csv')fish_input = fish[['Weight', 'Length', 'Diagonal', 'Height', 'Width']].to_numpy()fish_target = fish['Species'].to_numpy()from sklearn.model_selection import train_test_splittrain_input, test_input, train_target, test_target = \train_test_split(fish_input, fish_target, random..

머신러닝 2024.10.17

머신 러닝(with Google Colab) - 4일차(1)

이전까지 우리가 사용한 분류는 목표로 하는것을 1로 두고 0과 1을 분류하는 이진분류의 형태였다.좀더 나아가서 각 목표별 확률을 나누어 분류를 할 수 있는 방법을 알아보자우선 데이터를 준비해 보자import pandas as pdfish = pd.read_csv('https://bit.ly/fish_csv_data')print(pd.unique(fish['Species']))fish_input = fish[['Weight','Length','Diagonal','Height','Width']].to_numpy()fish_target = fish['Species'].to_numpy()from sklearn.model_selection import train_test_splittrain_input, test_..

머신러닝 2024.10.16

머신 러닝(with Google Colab) - 3일차(2)

3-2 특성 공학과 규제이전까지는 단순히 길이와 무게로만 데이터를 판단했다. 그러나 현실에서는 다양한 특성들로 목표를 파악한다. 특성이 많아진다면 더 복잡한 모델을 설계할 수 있게 된다. 이때 기존특성을 가지고 새로운 특성을 만들어 내는 것을 특성공학이라고 한다.특성공학에 들어가기 앞서 데이터를 준비해 보자 다양한 특성을 사용해야 하기 때문에 일일이 정보를 입력하는 것은 번거로운 작업이다. 따라서 Pandas를 통해 데이터를 불러와서 사용해 보자Pandas의 데이터는 기본적으로 데이터프레임의 형태를 띠고 있는데 우리가 사용하는 Sklearn에 맞는 데이터 형태로 바꿔주기 위해서 Numpy의 형태로 바꿔줄 것이다.import pandas as pddf = pd.read_csv('https://bit.ly/..

머신러닝 2024.10.16

머신 러닝(with Google Colab) - 3일차(1)

Chapter 03 회귀 알고리즘과 모델 규제앞서 머신러닝의 에는 지도학습과 비지도 학습이 있고  지도학습의 알고리즘에는 분류와 회귀가 있다,2일 차에 학습한 것은 데이터의 분류에 의해 데이터를 학습하여 결과를 추측하는 형태였다면회귀는 기존의 데이터의 규칙을 파악하여 임의의 결괏값을 예측하는 것이라고 볼 수 있다.3-1K 최근접 이웃 회귀KNN(K-Nearest Neighbors regression)을 이용하면 분류뿐 아니라 회귀 또한 가능하다.이는 주변값의 평균을 이용하여 회귀를 한다.오늘은 농어의 데이터 값을 바탕으로 농어의 무게를 추측하는 프로그램을 만들어 보자import numpy as np# 농어 데이터 : 회귀 이용perch_length = np.array([8.4, 13.7, 15.0, 16..

머신러닝 2024.10.14
반응형