728x90

Machine Learning 6

2-2 일반화, 과대적합, 과소적합

훈련 세트에서 테스트 데이터로 일반화(generalization) 되었다는 뜻은 머신러닝으로 만든 모델이 데이터에 대해서 정확하계 예측 되었다는 것을 의미한다. 가능한 정확하게 모델을 일반화 해야 예측률이 높아질 것이다. 모델을 만들때는 보통 데이터를 training set와 test set으로 나누어 사용한다. 학습에 사용한 training 데이터와 test 데이터가 비슷하다면 앞에서 만든 모델의 정확도는 높게 나올 것이다. 하지만 복잡할 모델을 만든다면 training set 데이터에만 정확한 모델이 나올 수 있다. training set이 정확한 결과를 보여주기 위해 복잡하게 모델을 만드는 것을 과대적합(Over fitting)이라고 하고, 반대로 모델이 너무 간단하여 정확도가 낮을 모델을 과소적합..

2-1 분류와 회귀

지도 학습에는 분류(Classification)와 회귀(Regression)이 있다. 분류는 미리 정의된, 가능성이 있는 여러 클래스 레이블 중 하나를 예측하는 것이다. 앞 장에서 붓꽃의 품종을 예측하는 것은 분류에 속한다. 분류는 두 개로 분류하는 이진 분류(binary classification)과 셋 이상으로 분류하는 다중 분류(multiclass classification)으로 나누어 진다. 이진 분류는 예 / 아니요만 나올 수 있다고 보면 된다. 남자, 여자로 나눌 수도 있지만, 남자인가? 라는 질문에는 예와 아니요로 바꿀 수 있기 때문에 결국 예 / 아니요라고 볼 수 있다.붓꽃 예제의 경우 3개의 클래스를 가지고 있기 때문에 다중 분류이다. 회귀는 연속적인 숫자(실수)를 예측하는 것이다. 어떤..

1-5 파이썬 2 vs 파이썬 3

지금도 파이썬 2와 파이썬 3 버전이 함께 사용되고 있다. 하지만 파이썬 2는 더 이상 큰 개선은 없으며 파이썬 3에서 변경 사항이 많아 파이썬 2로 작성한 코드는 파이썬 3에서 실행되지 않는 경우가 많다. 처음 파이썬을 사용하는 사람은 파이썬 3로 시작하는 것을 권장한다. 파이썬 2로 작성한 코드는 가능한 빨리 파이썬 3로 업그레이드 하는 것이 좋다. 코드가 파이썬 2와 3에서 모두 실행되기 위해서는 six 패키지를 사용하면 된다. 아래 내용은 파이썬 2와 3에서 주요하게 차이나는 항목이다.print 함수 파이선 2에서는 괄호를 사용하지 않아도 되지만, 파이썬 3에서는 print("hello world")와 같이 괄호를 사용해야 한다.줄바꿈 코드 파이썬 3에서는 print("hello");print("..

1-6 머신러닝 애플리케이션을 만들기 위한 소프트웨어 버전

앞으로 진행될 머신러닝 학습을 하기위해서 실습환경이 강좌에서 사용하는 환경과 유사한지 확인하는 것이 좋다. 모든 라이브러리의 환경이 같을 필요는 없지만 최소한 scikit-learn은 최신 버전인 것이 좋다. In [3]:# S/W 버전 확인하기 import sys print("Python 버전 : {}".format(sys.version)) import pandas as pd print("pandas 버전 : {}".format(pd.__version__)) import matplotlib print("matplotlib 버전: {}".format(matplotlib.__version__)) import numpy as np print("Numpy 버전 : {}".format(np.__version__..

1-2 왜 파이썬인가?

파이썬은 데이터 과학 분야를 위한 표준 프로그래밍 언어가 되어 가고 있다. 파이썬은 범용 프로그래밍 언어의 장점과 매트랩, R과 같은 특정 분야를 위한 스크립팅 언어의 편리함을 함께 갖추었다. 파이썬은 데이터 적재, 시각화, 통계, 자연어 처리, 이미지 처리 등에 필요한 라이브러리들을 가지고 있다. 이와 같은 다양한 도구들이 데이터 분석에 필요한 유용하고 편리한 기능들을 제공한다. 또한 주피터 노트북과 같은 도구로 코딩하고 바로 결과를 확인할 수 있다는 장점도 있다. 범용 프로그래밍 언어로서 파이썬은 복잡한 그래픽 사용자 인터페이스(GUI)나 웹 서비스도 만들 수 있으며 기존 시스템과 통합하기도 좋다. 웹서비스를 만들기 위해서 많이 사용하는 장고(django)와 플라스크(flask)가 있다. 목차로 이동하기

파이썬 라이브러리를 활용한 머신러닝 요약

파이썬의 scikit-learn 라이브러리를 활용한 머신러닝 스터디를 진행면서 아래 순서대로 정리해보려고 한다. 소개왜 머신러닝인가?왜 파이썬인가?scikit-learn필수 라이브러리와 도구들파이썬 2 vs 파이썬3머신러닝 애플리케이션을 만들기 위한 소프트웨어 버전첫 번째 머신러닝 모델 : 붓꽃의 품종 종류요약지도학습분류와 회귀일반화, 과대적합, 과소적합지도 학습 알고리즘분류 예측의 불확실성 추정요약 및 정리비지도 학습과 데이터 전처리비지도 학습의 종류비지도 학습의 도전 과제데이터 전처리와 스케일 조정차원 축소, 특성 추출, 매니폴드 학습군집요약 및 정리데이터 표현과 특성 공학범주형 변수구간 분할, 이산화 그리고 선형 모델, 트리 모델상호작용과 다항식일변량 비선형 변환특성 자동 선택전문가 지식 활용요약 ..

728x90