썸네일 딥러닝 기초 | 인공신경망 모델 만들기 | 텐서플로(Tensorflow) / 케라스(Keras) | 로지스틱 회귀로 패션 아이템 분류하기(SGDClassifier 클래스_확률적 경사 하강법) | 패션 MNIST 데이터셋 1. 패션 MNIST 데이터 가져오기 ▶ 패션 MNIST 데이터 : 10종류의 패션 아이템으로 구성 : MNIST 데이터는 워낙 유명하기 때문에 많은 딥러닝 라이브러리에서 이 데이터를 가져옴 : 텐서플로를 사용해 이 데이터를 읽어옴 : 텐서플로의 케라스(Keras) 패키지를 임포트하고 패션 MNIST 데이터를 사용 ▶ 텐서플로 케라스(Keras) 패키지 가져오기 from tensorflow import keras (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() : 실행마다 동일한 결과를 얻기 위해 케라스 랜덤 시드를 사용, 텐서플로 연산을 결정적으로 만듦 : Keras.datas..
썸네일 머신러닝 기초 | 군집 알고리즘(2) | k-평균 군집 알고리즘 | KMeans 클래스 | draw_변수명() 함수로 클러스터 중심 이미지 출력하기 | 최적의 k 찾기 | 비지도 학습 1. 과일 데이터 불러오기 ▶ 과일 사진 데이터 준비 !wget https://bit.ly/fruits_300 -O fruits_300.npy : 이전에는 사과, 파인애플, 바나나에 있는 각 픽셀에 평균값을 구해서 가장 가까운 사진을 추출 → 사과, 파인애플, 바나나 사진인 것을 미리 알고 있었기 때문에 각 과일의 평균을 구할 수 있었음 But 진짜 비지도 학습에서는 어떤 과일이 들어있는지 알지 못함 : k-평균 군집 알고리즘이 평균값을 자동으로 찾아줌 → 이 평균값이 클러스터의 중심에 위치하기 때문에 클러스터 중심 또는 센트로이드(centroid)라고 부름 : k-평균 알고리즘의 작동방식을 이해하고, 사과, 파인애플, 바나나를 구분하는 비지도 학습 모델 만들어보기! ▶ 넘파이에서 npy 파일 로드 : ..
썸네일 머신러닝 기초 | 군집 알고리즘(1) | 픽셀 평균값(mean 함수)과 절댓값 오차(abs 함수)로 과일 분류하기 | 넘파이 배열 1차원으로 만드는 법(reshape 함수) | np.argsort() 함수로 인덱스 정렬 1. 과일 데이터 불러오기 ▶ 과일 사진 데이터 준비 !wget https://bit.ly/fruits_300 -O fruits_300.npy import numpy as np import matplotlib.pyplot as plt ▶ 넘파이에서 npy 파일 로드 : load() 메서드에 파일 이름을 전달 fruits = np.load('fruits_300.npy') : fruits는 fruits_300.npy 파일에 들어있는 모든 데이터를 담고 있음 : 이 데이터에는 사과, 바나나, 파인애플이 각각 100개씩 들어있음 print(fruits.shape) >> 배열의 첫 번째 차원(300)은 샘플의 개수 >> 배열의 두 번째 차원(100)은 이미지 높이 >> 배열의 세 번째 차원(100)은 이미지 너비..
썸네일 머신러닝 기초 | 로지스틱 회귀로 와인 분류 | 결정트리 / 가지치기 | DecisionTreeClassifier 클래스 | plot_tree() 함수 1. 로지스틱 회귀로 와인 분류하기 1-1) wine 데이터 가져와서 데이터 전처리하기 : 입고된 와인을 보니 급하게 제작하는 바람에 레드 와인과 화이트 와인 표시가 누락된 상태.!.!.! : 알코올 도수, 당도, pH 값에 로지스틱 회귀 모델을 적용할 계획 import pandas as pd wine = pd.read_csv('https://bit.ly/wine-date') : 6,497개의 와인 샘플 데이터를 확보 : 판다스를 사용해 인터넷에서 직접 읽어옴 ▶ wine 데이터 확인 wine.head() : 처음 3개의 열(alcohol, sugar, pH)은 각각 알코올 도수, 당도 pH 값을 나타냄 : 타깃 값은 레드 와인,이면 0, 화이트 와인이면 1로 지정 : 레드 와인과 화이트 와인을 구분하는..
썸네일 머신러닝 기초 | 지도학습 | k-최근접 이웃 회귀 | 결정계수(R^2) | 과대적합, 과소적합 해결하는 방법 1. k-최근접 이웃 회귀 ▶ k-최근접 이웃 '회귀' : 지도학습 알고리즘은 크게 분류와 회귀로 나뉨 : 회귀는 임의의 데이터를 어느 클래스 중 하나로 분류하는 것이 아니라 어떤 숫자를 예측해내는 것 → 회귀는 정해진 클래스가 없고 임의의 수치를 출력함 : 두 변수 사이의 상관관계를 분석하는 방법 * 농어의 무게를 예측하는 것도 회귀가 됨 : k-최근접 이웃 알고리즘을 사용해 농어의 무게를 예측하는 회귀 문제 ▶ k-최근접 이웃 '분류' : k-최근접 이웃 분류가 잘 나타나 있음 >> k=3(샘플이 3개) 이라 가정하면 사각형이 2개로 다수이기 때문에 새로운 샘플 X의 클래스는 사각형이 됨 ▶ k-최근접 이웃 회귀 실행과정 : 분류처럼 예측하려는 샘플에 가장 가까운 샘플 k를 선택 : 회귀이기 때문에 ..
썸네일 머신러닝 기초 | 데이터 전처리 | train_test_split 함수 사용법 | 원본 데이터 비율에 맞게 훈련/테스트 데이터 나누는 법 | 표준점수로 기준 맞추는 법 | kneighbors() 메서드(가까운 이웃 찾기) | 산점.. 1. 넘파이로 데이터 준비하기 ▶ 도미와 빙어 데이터 준비 fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0, 9.8, 10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0] fish_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, ..
썸네일 머신러닝 기초 | 지도 학습과 비지도 학습 | 훈련 세트와 테스트 세트 | 넘파이(Numpy) 배열로 샘플 섞는 방법 | fit() / score() / predict() 함수 1. 지도 학습과 비지도 학습 : 지도학습은 훈련하기 위한 데이터와 정답(타깃)이 필요함, 알고리즘이 정답을 맞히는 것을 학습 : 반면, 비지도 학습 알고리즘은 정답(타깃) 없이 특성(입력) 데이터만 사용 2. 훈련 세트와 테스트 세트 : 머신러닝 알고리즘의 성능을 제대로 평가하려면 훈련데이터와 평가에 사용할 데이터가 각각 달라야 함 : 가장 간단한 방법은 평가를 위해 또 다른 데이터를 준비하거나 이미 준비된 데이터 중에서 일부를 떼어 활용 : 훈련에 사용되는 데이터 → 훈련 세트 : 평가에 사용되는 데이터 → 테스트세트 ▶ 생선의 리스트 (길이, 무게) 입력 fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, ..
썸네일 머신러닝 기초 | 인공지능, 머신러닝, 딥러닝 의미 | 사이킷런 사용예시 | k-최근접 이웃 알고리즘 사용법 | fit() / score() / predict() 메소드 1. 인공지능, 머신러닝, 딥러닝 개념 ▶ 인공지능 : 사람처럼 학습하고 추론 할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술 강인공지능: 사람과 분류하기 어려운 지능을 가진 컴퓨터 시스템 약인공지능: 특정 분야에서 사람의 일을 도와주는 보조 역할만 가능(음성비서, 자율주행자동차, 음악추천, 기계번역) ▶ 머신러닝 : 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘 (인공지능 하위 분야 중 지능 구현 소프트웨어를 담당하는 핵심 분야) → 대표적인 라이브러리: 사이킷런 ▶ 딥러닝 : 많은 머신러닝 알고리즘 중에 인공 신경망을 기반으로 한 방법 등을 통칭하여 딥러닝이라고 부름, 인공신경망과 딥러닝을 구분하지 않고 사용 → 대표적인 라이브러리: 텐서플로(구글), 파이토치(..