앎을 경계하기

Machine Learning/scikit-learn diary 5

Model selection: choosing estimators and their parameters

Score,Cross-vlidated scores 사이킷런에서 제공하는 모든 estimator는 score 함수를 가지고 있다. score 메소드는 새로운 데이터를 얼마나 잘 예측하는지 판단할 수 있는 지표이다. 값이 클수록 좋은 모델이다. from sklearn import datasets, svm X_digits, y_digits = datasets.load_digits(return_X_y=True) svc = svm.SVC(C=1, kernel='linear') svc.fit(X_digits[:-100], y_digits[:-100]).score(X_digits[-100:], y_digits[-100:]) 0.98 예측 정확도를 더 잘 측정하기 위해 학습데이터와 테스트 데이터를 k개로 나누어 적용한..

4. 사이킷런으로 지도 학습해보기 1

지도학습(Supervised learning) 모델이 학습할 데이터(X)와 그에 맞는 정답 레이블(y)쌍을 데이터셋으로 구성하여 사용하는 학습 방법 사이킷런에 있는 모든 지도학습용 estimator들은 fit(X, y) 형태로 학습하고 predict(X) 형태로 예측한다. classification 문제라면 y는 특정 클래스가 될 것이고, regression 문제라면 y는 연속적인 변수의 특정 값이다. 최근접 이웃 알고리즘과 차원의 저주 문제 KNN classifier를 사용하여 문제를 풀어보자. import numpy as np from sklearn import datasets iris_X, iris_y = datasets.load_iris(return_X_y=True) np.unique(iris_y..

3. 사이킷런의 Estimator object와 그 설정

사이킷런의 irist dataset(붓꽃데이터)는 (샘플 수, 피쳐 수) 사이즈로 구성되어 있다. iris는 150개의 데이터를 가지고 있고 이 각 데이터는 4개의 features로 이루어져 있다. features : 꽃받침과 꽃잎의 길이, 너비 >>> from sklearn import datasets >>> iris = datasets.load_iris() >>> data = iris.data >>> data.shape (150, 4) 지난 번에 함께 보았던 digits 데이터셋은 어떨까? digits데이터는 iris와 다르게 이미지 데이터였다. digits = datasets.load_digits() digits.images.shape (1797, 8, 8) import matplotlib.pypl..

2. 사이킷런을 사용하는 머신러닝

머신러닝이란? 다수의 데이터가 모여있는 집합인 데이터셋으로부터 데이터 과학자가 고려하고 있는 문제를 학습하고, 모델이 전혀 보지 못했던 데이터셋을 통해 예측하는 것. 그리고 이 예측의 정확도가 높을 수록 성능이 좋은 모델이라고 할 수 있다. 머신러닝에서 다루는 문제의 카테고리를 다음과 같이 나눌 수 있다. supervised learning a. classification : 2개 또는 이상의 클래스에 속하는 샘플들을 학습하고 클래스 라벨링이 되어있지 않은 데이터를 입력으로 줬을 때 클래스를 맞추는(분류하는) 문제, 분류 문제는 이산적인 카테고리로 구성되어 있다. b. regression : 하나 또는 이상의 연속적인 변수들로 구성된 출력을 예측하는 문제 unsupervised learning clust..

1. 사이킷런 설치

Python에서 ML 모델을 다루고자 한다면 반드시 들어봤을 scikit-learn 이번에 scikit-learn 1.0이 릴리즈된 기념으로 scikit-learn 정리를 할 것이다. 내 환경은 mac, window, ubuntu를 선택적으로 사용할 수 있는 환경이고, 매 포스팅마다 그때 그때 사용중인 PC 환경에서 진행할 것이다. Anaconda 가상환경을 만들어서 사용할 것이기 때문에 뭐.. 다른 종속 라이브러리가 필요하게 되어 문제가 있는 경우 아니고서야 os를 타지는 않을 것이라고 생각한다. scikit-learn installation https://scikit-learn.org/dev/auto_examples/release_highlights/plot_release_highlights_1_0_..