웹사이트 검색

Python SciKit 학습 자습서


사이킷 런

Python Scikit 학습

Scikit은 Python(대부분)으로 작성되었으며 일부 핵심 알고리즘은 더 나은 성능을 위해 Cython으로 작성되었습니다. Scikit-learn은 모델을 구축하는 데 사용되며 목적에 사용할 수 있는 더 나은 프레임워크가 있으므로 데이터를 읽고 조작하고 요약하는 데 사용하지 않는 것이 좋습니다. 오픈 소스이며 BSD 라이선스로 배포됩니다.

Scikit Learn 설치

Scikit은 장치에 NumPY(1.8.2 이상) 및 SciPY(0.13.3 이상) 패키지가 있는 Python 2.7 이상 플랫폼을 실행 중이라고 가정합니다. 이러한 패키지가 설치되면 설치를 진행할 수 있습니다. pip 설치의 경우 터미널에서 다음 명령을 실행합니다.

pip install scikit-learn

conda가 마음에 들면 패키지 설치에 conda를 사용할 수도 있습니다. 다음 명령을 실행합니다.

conda install scikit-learn

Scikit-Learn 사용

설치가 완료되면 다음과 같이 가져오기하여 Python 코드에서 scikit-learn을 쉽게 사용할 수 있습니다.

import sklearn

Scikit Learn 데이터세트 로드 중

사용할 데이터 세트를 로드하는 것부터 시작하겠습니다. Iris라는 간단한 데이터 세트를 로드해 보겠습니다. 그것은 꽃의 데이터 세트이며 꽃의 다양한 측정에 대한 150개의 관찰을 포함합니다. scikit-learn을 사용하여 데이터 세트를 로드하는 방법을 살펴보겠습니다.

# Import scikit learn
from sklearn import datasets
# Load data
iris= datasets.load_iris()
# Print shape of data to confirm data is loaded
print(iris.data.shape)

Scikit Learn SVM - 학습 및 예측

이제 데이터를 로드했으므로 데이터에서 학습하고 새 데이터를 예측해 보겠습니다. 이를 위해 추정기를 만든 다음 적합 메서드를 호출해야 합니다.

from sklearn import svm
from sklearn import datasets
# Load dataset
iris = datasets.load_iris()
clf = svm.LinearSVC()
# learn from the data
clf.fit(iris.data, iris.target)
# predict for unseen data
clf.predict([[ 5.0,  3.6,  1.3,  0.25]])
# Parameters of model can be changed by using the attributes ending with an underscore
print(clf.coef_ )

Scikit 학습 선형 회귀

scikit-learn을 사용하면 다양한 모델을 만드는 것이 다소 간단합니다. 회귀의 간단한 예부터 시작하겠습니다.

#import the model
from sklearn import linear_model
reg = linear_model.LinearRegression()
# use it to fit a data
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# Let's look into the fitted data
print(reg.coef_)

k-최근접 이웃 분류기

간단한 분류 알고리즘을 사용해 봅시다. 이 분류기는 볼 트리 기반 알고리즘을 사용하여 교육 샘플을 나타냅니다.

from sklearn import datasets
# Load dataset
iris = datasets.load_iris()
# Create and fit a nearest-neighbor classifier
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()
knn.fit(iris.data, iris.target)
# Predict and print the result
result=knn.predict([[0.1, 0.2, 0.3, 0.4]])
print(result)

K-평균 클러스터링

이것은 가장 간단한 클러스터링 알고리즘입니다. 세트는 'k' 클러스터로 나뉘고 각 관찰은 클러스터에 할당됩니다. 이것은 클러스터가 수렴될 때까지 반복적으로 수행됩니다. 다음 프로그램에서 이러한 클러스터링 모델을 하나 생성합니다.

from sklearn import cluster, datasets
# load data
iris = datasets.load_iris()
# create clusters for k=3
k=3
k_means = cluster.KMeans(k)
# fit data
k_means.fit(iris.data)
# print results
print( k_means.labels_[::10])
print( iris.target[::10])

결론

이 튜토리얼에서 우리는 Scikit-Learn이 여러 기계 학습 알고리즘으로 작업하기 쉽게 만드는 것을 보았습니다. 회귀, 분류 및 클러스터링의 예를 보았습니다. Scikit-Learn은 아직 개발 단계에 있으며 자원 봉사자들에 의해 개발 및 유지 관리되고 있지만 커뮤니티에서 매우 인기가 있습니다. 가서 자신의 예를 시도하십시오.