https://scikit-learn.org/stable/

1) 분류(Classification)
분류란, 어떤 오브젝트가 어떤 카테고리에 속하는지 정의하는 것 ( Identifying )
분류 알고리즘 : SVM, nearest neighbors, random forest 등
2) 회귀(Regression)
회귀란 , 개체와 연결된 연속 값 특성을 예측하는 것 ( Prediction )
회귀 알고리즘 : SVR, nearest neighbors, random forest 등
3) 군집(Clustering)
군집이란, 비슷한 개체끼리 집단을 만드는 것 ( Automatic grouping )
군집 알고리즘 : k-Means, spectral clustering, mean-shift 등

1) 차원 축소
2) 모델 선택
3) 정규화
시작 하기 — scikit 학습 0.24.2 문서 (scikit-learn.org)

db에서 행 : row 통계에서 : obs 머신러닝에서 : sample
머신러닝에서 여러개 열 : feature ( = X ) 하나만 있는 열 : target ( = y )
위에는 2개의 sample과 3개의 feature로 구성되어있음.
다음은 몇 가지 매우 기본적인 데이터에 RandomForestClassifier를 맞추는 간단한 예입니다.
estimator basics
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(random_state=0)
X = [[ 1, 2, 3], # 2 samples, 3 features
[11, 12, 13]]
y = [0, 1] # classes of each sample
clf.fit(X, y)
맞춤 방법은 일반적으로 2 입력을 허용합니다.
- 샘플 매트릭스(또는 설계 행렬) X. 크기는 일반적으로 샘플이 행으로 표현되고 피처가 열로 표시됩니다.X(n_samples, n_features)
- 회귀 작업에 대한 실제 숫자 또는 분류용 정수(또는 기타 개별 값 집합)인 대상 값 y입니다. 슈퍼에 비하여 학습 작업을 지정할 필요가 없습니다. 일반적으로 제 1개의 항목이 제1 샘플(행)의 대상에 해당하는 1d 배열입니다.yyiiX
일부 추정기는 희소한 행렬과 같은 다른 형식에서 작동하지만 일반적으로 numpy 배열 또는 동등한 배열과 같은 데이터 유형이 될 것으로 예상됩니다.Xy
추정값이 장착되면 새 데이터의 대상 값을 예측하는 데 사용할 수 있습니다. 견적을 다시 교육할 필요가 없습니다.
예측변수
clf.predict(X) # predict classes of the training data
clf.predict([[4, 5, 6], [14, 15, 16]]) # predict classes of new data
pre-processors
from sklearn.preprocessing import StandardScaler
X = [[0, 15],
[1, -10]]
# scale data according to computed scaling values
StandardScaler().fit(X).transform(X)
기계 학습 워크플로우는 종종 다른 부분으로 구성됩니다. 일반적인 파이프라인은 데이터를 변환하거나 처리하는 사전 처리 단계와 대상 값을 예측하는 최종 예측 변수로 구성됩니다.
프리 프로세서와 변압기에서는 추정기 개체와 동일한 API를 따릅니다(실제로 모두 동일한 클래스에서 상속됩니다). 변압기 개체에는 예측 방법이 아니라 새로 변형된 샘플 행렬을 출력하는 변환 메서드가 있습니다.
파이프라인
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.linear_model import LogisticRegression # 로지스틱회귀
>>> from sklearn.pipeline import make_pipeline # 파이프라인
>>> from sklearn.datasets import load_iris # 붓꽃데이터 가져오기
>>> from sklearn.model_selection import train_test_split # 트레이닝 셋으로 나누기
>>> from sklearn.metrics import accuracy_score # 정분류
...
>>> # pipeline 만들기
>>> pipe = make_pipeline(
... StandardScaler(),
... LogisticRegression()
... )
...
>>> # load the iris dataset and split it into train and test sets
>>> X, y = load_iris(return_X_y=True)
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
...
>>> # fit the whole pipeline
>>> pipe.fit(X_train, y_train)
Pipeline(steps=[('standardscaler', StandardScaler()),
('logisticregression', LogisticRegression())])
>>> # we can now use it like any other estimator
>>> accuracy_score(pipe.predict(X_test), y_test)
0.97...
변압기 및 추정기(예측변수)를 단일 통합 개체인 파이프라인으로결합할 수 있습니다. 파이프라인은 일반 추정기와 동일한 API를 제공합니다. 나중에 볼 수 있듯이 파이프라인을 사용하면 데이터 유출,즉 교육 데이터에 일부 테스트 데이터를 공개하는 것을 방지할 수 있습니다.fitpredict
다음 예제에서는 Iris 데이터 집합을 로드하고,기차 및 테스트 집합으로 분할하고, 테스트 데이터에 파이프라인의 정확도 점수를 계산합니다.
https://jakevdp.github.io/PythonDataScienceHandbook/05.02-introducing-scikit-learn.html
Introducing Scikit-Learn | Python Data Science Handbook
In order to work with this data within Scikit-Learn, we need a two-dimensional, [n_samples, n_features] representation. We can accomplish this by treating each pixel in the image as a feature: that is, by flattening out the pixel arrays so that we have a l
jakevdp.github.io
Scikit-Learn에서 데이터 표현
import seaborn as sns
iris = sns . load_dataset ( 'iris' )
홍채 . 머리 ()
% matplotlib inline
import seaborn as sns ; sns . set ()
sns . pairplot ( iris , hue = 'species' , 크기 = 1.5 )
X_iris = 홍채 . drop ( '종' , 축 = 1 )
X_iris . 모양
y_iris = iris [ '종' ]
y_iris . 모양
Scikit-Learn의 Estimator API
Scikit-Learn API는 Scikit-Learn API 문서에 설명 된대로 다음 지침 원칙을 염두에두고 설계되었습니다 .
- 일관성 : 모든 객체는 일관된 문서와 함께 제한된 메소드 세트에서 가져온 공통 인터페이스를 공유합니다.
- 검사 : 지정된 모든 매개 변수 값이 공용 속성으로 노출됩니다.
- 제한된 객체 계층 : 알고리즘 만 Python 클래스로 표현됩니다. 데이터 세트는 표준 형식 (NumPy 배열, Pandas DataFrame, SciPy 희소 행렬)으로 표현되며 매개 변수 이름은 표준 Python 문자열을 사용합니다.
- 구성 : 많은 기계 학습 작업을보다 기본적인 알고리즘의 시퀀스로 표현할 수 있으며 Scikit-Learn은 가능한 경우이를 활용합니다.
- 적절한 기본값 : 모델에 사용자 지정 매개 변수가 필요한 경우 라이브러리는 적절한 기본값을 정의합니다.
실제로 이러한 원칙은 기본 원칙이 이해되면 Scikit-Learn을 사용하기 매우 쉽게 만듭니다. Scikit-Learn의 모든 기계 학습 알고리즘은 광범위한 기계 학습 애플리케이션에 일관된 인터페이스를 제공하는 Estimator API를 통해 구현됩니다.
API의 기초
가장 일반적으로 Scikit-Learn 에스티 메이터 API를 사용하는 단계는 다음과 같습니다 (다음 섹션에서 몇 가지 자세한 예제를 단계별로 살펴 보겠습니다).
- Scikit-Learn에서 적절한 추정기 클래스를 가져 와서 모델 클래스를 선택하십시오.
- 원하는 값으로이 클래스를 인스턴스화하여 모델 하이퍼 파라미터를 선택합니다.
- 위의 설명에 따라 데이터를 특성 행렬과 대상 벡터로 정렬합니다.
- fit()모델 인스턴스 의 메서드를 호출하여 모델을 데이터에 맞 춥니 다.
- 새 데이터에 모델 적용 :
- 지도 학습의 경우 종종 predict()방법을 사용하여 알려지지 않은 데이터의 레이블을 예측합니다 .
- 비지도 학습의 경우, 우리는 종종 transform()또는 predict()방법을 사용하여 데이터의 속성을 변환하거나 추론합니다 .
이제지도 및 비지도 학습 방법을 적용하는 몇 가지 간단한 예를 살펴 보겠습니다.
지도 학습 예제 : 단순 선형 회귀
이 프로세스의 예로서 간단한 선형 회귀, 즉 선을 다음에 맞추는 일반적인 경우를 고려해 보겠습니다. ( x , y)(엑스,와이)데이터. 회귀 예제에 다음과 같은 간단한 데이터를 사용합니다.
'인공지능 > 머신러닝' 카테고리의 다른 글
sklearn.model (0) | 2021.07.08 |
---|---|
Scikit-Learn (0) | 2021.07.08 |
툴 사용법 ( 이클립스, 주피터, 코랩, 아톰 ) (0) | 2021.07.06 |
Scikit-Learn을 이용 회귀 (0) | 2021.07.06 |
Sclkit - Learn을 이용 분류 (0) | 2021.07.05 |