사이킷런의 model_selection 모듈은 학습 데이터와 테스트 데이터 세트를 분리하거나 교차 검증 분할 및 평가, 그리고 Estimator의 하이퍼 파라미터를 튜닝하기 위한 다양한 함수와 클래스를 제공한다. [학습/테스트 데이터 세트 분리 - train_test_split()] 먼저 테스트 데이터를 이용하지 않고 학습 데이터 세트로만 학습하고 예측하면 어떤 문제가 생기는지 보자 from sklearn.datasets import load_iris #붓꽃 데이터 호출from sklearn.tree import DecisionTreeClassifier #tree 기반 머신러닝, DecisionTreeClassifier 호출 -> 분류 구현 클래스from sklearn.metrics import ac..
사이킷런은 파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 라이브러리다. 사이킷런의 특징은 다음과 같다. 파이썬 기반의 다른 머신러닝 패키지도 사이킷런 스타일의 API를 지향할 정도로 쉽고 가장 파이썬스러운 API를 제공머신러닝을 위한 매우 다양한 알고리즘 개발을 위한 편리한 프레임워크와 API를 제공오랜 기간 실전 환경에서 검증됐으며, 매우 많은 환경에서 사용되는 성숙한 라이브러리이다. 사이킷런을 통해 첫 번째로 만들어볼 머신러닝 모델은 붓꽃 데이터 세트로 붓꽃의 품종을 분류(Classfication)하는 것이다. 붓꽃 데이터 세트는 꽃잎의 길이와 넓이, 꽃받침의 길이와 너비 피처(Feature)를 기반으로 꽃의 품종을 예측하기 위한 것이다. 분류는 대표적인 지도학습 방법의 하나이다. 지도학습..
{학습 목적}04 파트에서는 판다스에 대해서 학습한다. 판다스에 대해서 학습하는 이유는 앞서 설명했듯이, 실제로 ML 모델을 생성하고 예측을 수행하는 데 있어서 ML알고리즘이 차지하는 비중보다 넘파이, 판다스와 같이 데이터를 전처리하는 과정이 더 중요하다고 할 수 있기 때문이다. 그 중 판다스는 넘파이보다 데이터 핸들링을 손쉽게 할 수 있다. 판다스(Pandas): 행과 열로 이루어진 2차원 데이터를 효율적으로 가공/처리할 수 있는 다양한 기능을 제공하는 라이브러리 판다스는 파이썬의 리스트, 컬렉션, 넘파이 등의 내부 데이터 뿐만아니라 csv파일을 쉽게 dataframe으로 변경해 데이터의 가공/분석을 쉽게 수행할 수 있게 해준다. DataFrame : 판다스의 핵심 객체로 여러개의 행과 열로 이루어..
{학습 목적}03 파트에서는 numpy에 대해서 학습한다. 이 부분을 학습하는 이유는 대량 데이터 기반의 프로그램을 빠른 계산으로 처리하게 만들어주어 많은 알고리즘이 넘파이를 기반으로 작성되어있기 때문이다. 또한 넘파이가 배열을 이루는 기본 방식을 이해하는 것은 판다스를 이해하는 데도 많은 도움이 된다. 03. 넘파이 넘파이(Numpy): 파이썬에서 선형대수 기반의 프로그램을 쉽게 만들 수 있도록 지원하는 대표적인 패키지루프를 사용하지 않고 대량 데이터의 배열 연산을 가능하게 하여 빠른 배열 연산 속도를 보장 넘파이의 데이터 핸들링 기능은 편리성이 떨어진다는 점이 있다. 하지만, 넘파이를 이해하는 것은 파이썬 기반의 머신러닝에서 매우 중요하다. 많은 머신러닝 알고리즘이 넘파이 기반으로 작성돼 있고,..