딥러닝 5

혼공머신 | Chap 04-1. 로지스틱 회귀

1. 럭키백의 확률 럭키백에 들어갈 수 있는 생선은 7개. 럭키백에 들어간 생선의 크기, 무게 등이 주어졌을 때, 7개 생선에 대한 확률을 출력해줘야함. “k-최근접 이웃은 주변 이웃을 찾아주니까 이웃의 클래스 비율을 확률이라고 출력하면 되지 않을까?” 데이터 준비하기 import pandas as pd fish = pd.read_csv('https://bit.ly/fish_csv') fish.head() 판다스의 unique() 열에서 고유한 값을 추출. 예시) Species 열에서 어떤 종류의 생선이 있는지 확인할 수 있음. print(pd.unique(fish['Species'])) # 출력 결과 ['Bream' 'Roach' 'Whitefish' 'Parkki' 'Perch' 'Pike' 'Sme..

혼공머신 | Chap 03-3. 특성 공학과 규제

1. 다중 회귀 multiple regression 여러 개의 특성을 사용한 선형 회귀 선형 회귀 모델이 학습하는 것 직선, 평면 직선 1개의 특성을 사용했을 때 평면 2개이 특성을 사용했을 때 특성이 3개일 경우는 상상할 수 없음. 특성이 많은 고차원에서 선형 회귀가 매우 복잡한 모델을 표현할 수 있음. 특성 공학 feature engineering 기존의 특성을 사용해 새로운 특성을 뽑아내는 작업 2. 데이터 준비 판다스 pandas 데이터 분석 라이브러리 데이터프레임 dataframe 판다스의 핵심 데이터 구조. 넘파이 배열로도 바꿀 수 있음. 데이터 다운로드 http://bit.ly/perch_csv_data csv 파일 콤마로 나누어져 있는 텍스트 파일 import pandas as pd df ..

혼공머신 | Chap 02-2. 데이터 전처리

1. 넘파이로 데이터 준비하기 이전 과정에선 파이썬 리스트를 순회하며 원소를 하나씩 꺼내 데이터를 생성. 하나의 길이와 무게를 리스트 안의 리스트로 직접 구성했음. 이젠 넘파이를 통해 훨씬 간편하게 생성 가능. np.column_stack() 전달받은 리스트를 일렬로 세운 다음 차례대로 나란히 연결. 파이썬 튜플(tuple) 튜플은 리스트와 비슷. 한 번 생성된 튜플은 수정 불가. fish_data = np.column_stack((fish_length, fish_weight)) print(fish_data[:5]) ''' # 출력 결과 [[ 25.4 242. ] [ 26.3 290. ] [ 26.5 340. ] [ 29. 363. ] [ 29. 430. ]] ''' 넘파이 배열을 출력하면 행과 열을 맞..

혼공머신 | Chap 02-1. 훈련 세트와 테스트 세트

특성 (Feature) 생선 데이터의 길이와 무게 chap 01-3에서 생선 맞추기에 사용한 k-최근접 이웃 알고리즘은 지도 학습 알고리즘! 테스트 세트 (Test set) 평가에 사용하는 데이터 훈련 세트 (Train set) 훈련에 사용되는 데이터 모델을 평가하려면, 훈련할 때 사용하지 않은 데이터로 평가 해야함. 생선 데이터 49개에서 14개를 테스트 세트로 하기 (훈련 데이터의 10~20%를 테스트 세트로 한다. 단 전체 데이터가 아주 많을 땐, 1%도 괜춘) 이때, 훈련 데이터와 테스트 데이터에는 클래스가 골고루 섞여 있어야 한다. 샘플링 편향(Sampling bias) 조심! import numpy as np input_arr = np.array(fish_data) # 리스트를 배열로 만들어줌..

혼공머신 | Chap 1-03. 마켓과 머신러닝

1. 생선 분류 문제 생선 이름을 자동으로 알려주는 머신러닝 개발하자! 머신러닝: 아무도 기준을 알려주지 않으므로, 스스로 기준을 찾아서 일을 한다. 예) 30~40cm 길이의 생선은 도미다. 머신러닝을 사용해 도미와 빙어 구분하기. 클래스: 도미, 빙어 특성(feature): 길이, 무게 데이터 규모: 도미 35마리, 빙어 14마리 생선 데이터셋의 출처: https://www.kaggle.com/aungpyaeap/fish-market 예제 도미 데이터: http://bit.ly/bream_list 예제 빙어 데이터: http://bit.ly/smelt_list 데이터 산점도 import matplotlib.pyplot as plt plt.scatter(bream_length, bream_weight)..