개인 재정 로지스틱 회귀를 이용한 감독 학습 모델을 만드는 방법 - 첫 번째 분류를 만든 후에 인형

로지스틱 회귀를 이용한 감독 학습 모델을 만드는 방법 - 첫 번째 분류를 만든 후에 인형

차례:

비디오: [머신러닝] 나이브 베이즈(Naive Bayes) 분류 (1/2) - 확률 (Probability) 쉽게 이해하기 2024

비디오: [머신러닝] 나이브 베이즈(Naive Bayes) 분류 (1/2) - 확률 (Probability) 쉽게 이해하기 2024
Anonim

데이터 분석을위한 첫 번째 분류 예측 모델을 작성한 후에는 더 많은 모델을 만드는 것이 scikit에서 정말 직관적 인 작업입니다. 한 모델에서 다음 모델로의 유일한 차이점은 알고리즘에서 알고리즘으로 매개 변수를 조정해야한다는 것입니다.

데이터를로드하는 방법

이 코드 목록은 아이리스 데이터 세트를 sklearn의 >>>> 세션에로드합니다. 데이터 세트 가져 오기 load_iris >>> iris = load_iris ()

분류 자의 인스턴스를 만드는 방법

다음 두 줄의 코드는 분류 자의 인스턴스를 만듭니다. 첫 번째 줄은 로지스틱 회귀 라이브러리를 가져옵니다. 두 번째 줄은 로지스틱 회귀 알고리즘의 인스턴스를 만듭니다. >>>> sklearn import linear_model >>> logClassifier = linear_model. LogisticRegression (C = 1, random_state = 111)

생성자의 매개 변수 (정규화 매개 변수)에 주목하십시오. 초과 조정을 방지하기 위해

정규화 매개 변수

가 사용됩니다. 이 매개 변수는 반드시 필요하지는 않습니다 (기본값이 C = 1이므로 생성자가 제대로 작동합니다). C = 150을 사용하여 로지스틱 회귀 분류기를 만들면 의사 결정 지표의 더 나은 플롯이 생성됩니다. 아래의 두 도표를 모두 볼 수 있습니다. 교육 데이터 실행 방법

로지스틱 회귀 분류기의 인스턴스를 만들기 전에 데이터 세트를 교육 및 테스트 세트로 분할해야합니다. 다음 코드는이 작업을 수행합니다: sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation에서 >>>>. train_test_split (홍채 데이터, 홍채 목표, test_size = 0.10, random_state = 111) >>> logClassifier. fit (X_train, y_train)

1 행은 데이터 세트를 두 부분으로 나눌 수있는 라이브러리를 가져옵니다.

2 행은 데이터 집합을 두 부분으로 나눈 라이브러리에서 함수를 호출하고 현재 분할 된 데이터 집합을 두 쌍의 변수에 할당합니다.

3 행은 방금 작성한 로지스틱 회귀 분류기의 인스턴스를 가져 와서 fit 메소드를 호출하여 교육 데이터 세트로 모델을 학습합니다.

분류자를 시각화하는 방법

플롯의 결정 표면 영역을 살펴보면 약간의 조정이 필요하다는 것처럼 보입니다. 플롯의 중간 부분을 보면 중간 영역 (Versicolor)에 속한 많은 데이터 요소가 오른쪽 영역 (Virginica)에 있음을 알 수 있습니다.

이 이미지는 C 값이 150 인 결정 표면을 보여줍니다. 시각적으로보기에 좋으므로 로지스틱 회귀 모델에이 설정을 사용하는 것이 적절합니다.

테스트 데이터 실행 방법

다음 코드에서 첫 번째 행은 테스트 데이터 집합을 모델에 공급하고 세 번째 행은 >>>> predicted = logClassifier 출력을 표시합니다. (0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2)

모형을 평가하는 방법 < y_test 배열에 대한 예측 결과를 상호 참조 할 수 있습니다. 결과적으로 모든 테스트 데이터 포인트가 올바르게 예측되었음을 알 수 있습니다. 코드는 다음과 같습니다: sklearn import metric에서 >>>> predictarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> y_testarray ([0, 0, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> accuracy_score (y_test, predicted) 1. 0 # 1. 0은 100 % 정확도 >>> 예측 == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True], dtype = bool)

그러면 C = 150의 로지스틱 회귀 모형이 그 모형과 어떻게 비교 될까요? 글쎄, 당신은 100 퍼센트를 이길 수 없다. 다음은 C = 150: >>>> logClassifier_2 = linear_model 인 로지스틱 분류기를 작성하고 평가하는 코드입니다. LogisticRegression (C = 150, random_state = 111) >>> logClassifier_2. fit (X_train, y_train) >>> predict = logClassifier_2. predict (X_test) >>> 통계. accuracy_score (y_test, predicted) 0. 93333333333333335 >>> 통계. confusion_matrix (y_test, predicted) array ([[5, 0, 0], [0, 2, 0], [0, 1, 7]])

더 나은 결과를 기대했지만 실제로는 더 나빴다. 예측에 한 가지 오류가있었습니다. 결과는 SVM (Support Vector Machine) 모델의 결과와 동일합니다.

기본 매개 변수를 사용하여 로지스틱 회귀 분석 모델을 작성하고 평가하는 코드의 전체 목록은 다음과 같습니다. >>>> sklearn. 데이터 세트 가져 오기 load_iris >>> from sklearn import linear_model >>> sklearn import cross_validation >>> from sklearn import metrics >>> iris = load_iris () >>> X_train, X_test, y_train, y_test = cross_validation. train_test_split (홍채 데이터, 홍채 목표, test_size = 0.10, random_state = 111) >>> logClassifier = linear_model. LogisticRegression (, random_state = 111) >>> logClassifier입니다. fit (X_train, y_train) >>> predict = logClassifier. >>> y_testarray ([0, 0, 0, 0, 2, 2, 1, 2, 0, 2, 2]) >>> predictarray ([0, 0, 2, 2,, 2, 2, 1, 0, 0, 2, 2, 1, 2, 0, 2, 2, 2]) >>> accuracy_score (y_test, predicted) 1. 0 # 1. 0은 100 % 정확도 >>> 예측 == y_testarray ([True, True, True, True, True, True, True, True, True, True, True, True, True, True], dtype = bool)
로지스틱 회귀를 이용한 감독 학습 모델을 만드는 방법 - 첫 번째 분류를 만든 후에 인형

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...