Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 scikit-learn 라이브러리의 기본 사항을 설명합니까?

<시간/>

일반적으로 sklearn으로 알려진 Scikit-learn은 기계 학습 알고리즘을 구현하기 위해 사용되는 Python 라이브러리입니다.

오픈 소스 라이브러리이므로 무료로 사용할 수 있습니다. 통계 모델링을 수행하기 위한 다양한 도구를 제공하므로 강력하고 강력합니다. 여기에는 Python의 강력하고 안정적인 인터페이스를 통해 분류, 회귀, 클러스터링, 차원 축소 등이 포함됩니다. 이 라이브러리는 Numpy, SciPy 및 Matplotlib 라이브러리를 기반으로 합니다.

아래와 같이 'pip' 명령을 사용하여 설치할 수 있습니다. -

pip install scikit-learn

이 라이브러리는 데이터 모델링에 중점을 둡니다.

scikit-learn에는 많은 모델이 사용되며 그 중 일부는 아래에 요약되어 있습니다.

지도 학습 알고리즘

지도 학습 알고리즘은 특정 방식으로 행동하도록 학습됩니다. 특정 바람직한 출력이 주어진 입력에 매핑되어 사람의 감독을 제공합니다. 이것은 기능(입력 데이터 세트에 존재하는 변수)에 레이블을 지정하고, 데이터에 피드백을 제공함으로써(출력이 알고리즘에 의해 올바르게 예측되었는지 여부, 그리고 그렇지 않은 경우 올바른 예측이 되어야 함) 등일 수 있습니다.

이러한 입력 데이터에 대해 알고리즘이 완전히 훈련되면 유사한 종류의 데이터에 대해 작동하도록 일반화할 수 있습니다. 훈련된 모델의 성능 메트릭이 좋은 경우 이전에 본 적이 없는 입력에 대한 결과를 예측하는 기능을 얻게 됩니다. 사람이 입력 데이터 세트에 물리적으로 레이블을 지정해야 하므로 비용이 추가되기 때문에 비용이 많이 드는 학습 알고리즘입니다.

Sklearn은 Linear Regression Support Vector Machine, Decision Tree 등을 구현하는 데 도움을 줍니다.

비지도 학습

이것은 지도 학습과 반대입니다. 즉, 입력 데이터 세트에 레이블이 지정되지 않아 사람의 감독이 전혀 없음을 나타냅니다. 알고리즘은 레이블이 지정되지 않은 데이터에서 학습하고, 패턴을 추출하고, 예측을 수행하고, 데이터에 대한 통찰력을 제공하고, 자체적으로 다른 작업을 수행합니다. 대부분의 경우 실제 데이터는 구조화되지 않고 레이블이 지정되지 않습니다.

Sklearn은 클러스터링, 요인 분석, 주성분 분석, 신경망 등의 구현을 돕습니다.

클러스터링

유사한 데이터는 구조로 그룹화되며 모든 노이즈(이상값 또는 비정상적인 데이터)는 나중에 제거되거나 무시될 수 있는 이 클러스터 밖에 있게 됩니다.

교차 검증

원본 데이터 세트를 '훈련 데이터 세트'와 '테스트 데이터 세트'의 두 부분으로 나누는 프로세스입니다. 교차 검증을 사용하면 '검증 데이터 세트'가 필요하지 않습니다. '교차 검증' 방법에는 다양한 변형이 있습니다. 가장 일반적으로 사용되는 교차 검증 방법은 'k'폴드 교차 검증입니다.

차원 축소

차원 축소는 데이터 세트의 기능 수를 줄이는 데 사용되는 기술에 대해 알려줍니다. 데이터 세트의 기능 수가 많으면 알고리즘을 모델링하기 어려운 경우가 많습니다. 입력 데이터 세트에 변수가 너무 많으면 머신 러닝 알고리즘의 성능이 상당히 저하될 수 있습니다.

피쳐 공간에 많은 수의 차원이 있으면 많은 양의 메모리가 필요하며, 이는 모든 데이터를 공간(데이터 행)에 적절하게 표현할 수 없다는 것을 의미합니다. 즉, 머신 러닝 알고리즘의 성능이 영향을 받으며 이를 '차원의 저주'라고도 합니다. 따라서 데이터 세트의 입력 기능 수를 줄이는 것이 좋습니다. 그래서 '차원 축소'라는 이름이 붙었습니다.