반응형 파이썬/머신러닝8 머신러닝 다중클래스 분류 모델 예측 평가 및 성능 시각화 다중클래스 분류기 예측 평가 및 분류기 성능 시각화 1. 두 개 이상의 클래스 : 평가지표 교차검증 In [ ]: # 라이브러리 임포트 from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression from sklearn.datasets import make_classification In [ ]: # 특성 행렬과 타깃 벡터를 만든다 features, target = make_classification(n_samples=10000, n_features=3, n_informative=3, n_redundant=0, n_classes=3, # 클래스가 3인 다중분류 random_stat.. 파이썬/머신러닝 2022. 11. 24. 머신러닝 이진 분류모델의 예측 평가와 임곗값 평가 훈련된 분류 모델의 품질 평가 1. 이진 분류기의 예측 평가하기 : Confusion Metrix을 통한 교차검증 (이진분류 : 0,1 로 분류하는 로지스틱 회귀) TP : 진짜 양성 개수, 양성 클래스중에서 올바르게 예측한 샘플 개수 TN : 진짜 음성 개수, 음성 클래스 중에서 올바르게 예측한 샘플 개수 FP : 거짓 양성 개수, 1종 에러라고 부르고, 양성 클래스로 예측한 것 중에서 실제 음성 클래스인 샘플 개수 FN : 거짓 음성 개수, 2종 에러라고 부르고, 음성 클래스로 예측한 것 중에서 실제 양성 클래스인 샘플 개수 사이킷런 cross_val_score 교차검증을 수행할 때 scoring 매개변수에 성능 지표 중 하나를 선택할 수 있다. 정확도, 정밀도, 재현율, F₁이 있다. 이 중 정확도.. 파이썬/머신러닝 2022. 11. 24. 머신러닝 기본 회귀 모델과 기본 분류 모델의 평가방법 - score(), predict() 1. 기본 회귀모델 평가 - score() : R², predict()¶ 다른 모델과 비교하기 위한 간단한 기본 회귀 모델¶ 사이킷런 DummyRegressor : 기본 모델로 사용할 더미 모델 생성¶ DummyRegrssor 클래스는 실제 모델과 비교하기 위해 사용할 수 있는 매우 간단한 모델을 만든다. 기존 제품이나 시스템의 단순한 예측 방식을 흉내 내는 데 종종 사용하게 된다. 예를 들면 모든 새로운 사용자는 특성에 상관없이 첫 달에 100만원을 사용할 것이라고 가정하도록 애초부터 시스템에 하드코딩되어 있을지 모른다. 이런 가정을 기본 모델로 삼으면 머신러닝 방식을 사용했을 때 장점을 명확히 확인할 수 있다. In [8]: # 라이브러리 임포트 from sklearn.datasets import l.. 파이썬/머신러닝 2022. 11. 23. 모델 평가란? 로지스틱회귀에서 KFold 교차검증 사용해보기 모델평가란 무엇일까?¶ 학습 알고리즘으로 만든 모델의 성능을 평가하기 위한 전략이 필요하다. 모델 예측은 성능이 높아야 유용하다. 하나의 단순한 모델을 만드는 것은 쉬운작업일지도 모르지만, 정말 품질이 좋은 모델을 만드는 것은 어려운 작업이다. 따라서 다양한 알고리즘 중 적합한 것을 택하기 위해서 모델 평가는 필수이다. 모델을 훈련한 데이터로 모델이 얼마나 잘 수행되는지 평가한다면 원하는 목표를 달성하지 못한다. 목표는 훈련 데이터에서 잘 동작하는 모델이 아니라 이전에 본 적 없는 데이터(예를 들어, 새로운 고객, 새로운 범죄, 새로운 이미지)에서 잘 동작하는 모델이다. → 평가 방법은 이전에 본 적 없는 데이터에서 모델이 얼마나 좋은 예측을 만드는지 알 수 있어야 한다. 훈련세트와 테스트세트¶ 검증(또.. 파이썬/머신러닝 2022. 11. 21. 넘파이numpy 와 서킷런sklearn을 활용한 데이터 이상치 확인 및 해결 1. 이상치 감지하기 아주 예외적인 샘플을 구별하고 싶을때 사용한다. 일반적인 방법은 데이터가 정규분포를 따른다고 가정하고 이런 가정을 기반으로 하여 데이터를 둘러싼 타원이 그린다. 타원 안의 샘플을 정상치(레이블1)로 분류하고, 타원 밖에 샘플은 이상치(레이블-1)로 분류한다. In [11]: # 라이브러리 임포트 import numpy as np import pandas as pd # 이상치 감지 from sklearn.covariance import EllipticEnvelope #분류용 가상 데이터 생성 from sklearn.datasets import make_blobs In [12]: #@title **모의 데이터 생성 : make_blobs** features1, _ = make_blobs.. 파이썬/머신러닝 2022. 11. 17. 서킷런 sklearn으로 수치형 데이터 전처리 [스케일링 - 표준화, 로버스트, MinMax, 정규화] 스케일링이란?¶ *사이킷런(sklearn) 라이브러리의 preprocessing 모듈을 사용한다. 데이터의 스케일:scale을 맞추는 데이터 전처리 작업이다. 각 컬럼들마다 값들의 범위가 상이한 점이 데이터를 보며 흔히 나타나는데, 특히 거리기반 알고리즘의 경우에는 이러한 스케일 문제가 안 좋은 결과를 초래할 수 있다. 예를 들어 최솟값 11.03과 최댓값 14.75에서의 1과 최솟값 79와 최댓값 162라는 범위 안에서의 1은 완전히 다른 영향을 미칠 수 있다. 이 데이터들을 그대로 사용할 경우 왜곡된 예측을 할 수 있기 때문에 해결하기 위해서는 인위적으로 각 컬럼이 비슷한 범위를 가지도록 만드는 작업이 필요하다. 스케일링에는 표준화 스케일링, 로버스트 스케일링, 최소-최대 스케일링, 정규화 스케일링이.. 파이썬/머신러닝 2022. 11. 16. 머신러닝 데이터 학습 유형 - 지도학습 / 비지도학습 데이터와 학습 유형 머신러닝은 2차원 표 형태의 데이터가 필요하다. (해결하려는 문제에 따라 예외가 있다.) 이 게시글에서는 지도 학습으로 분류 그리고 비지도로 군집화 모델을 썼다. 먼저 목적에 따라서 지도 학습을 회귀 문제와 분류 문제로 구분할 수 있다. 회귀 문제는 예측 결괏값이 연속성을 지니는 경우이다. 실수형으로 결과를 표현한다. 예를 들면 매출액 예측, 부동산 가격 예측, 거래량 예측을 들 수 있다. 분류 문제는 예측 결괏값이 비연속적인 경우이다. 예와 아니오 처럼 답변을 얻게 된다. 이때 얻을 수 있는 분류 종류를 클래스라고 부른다. 클래스가 2개뿐일 때 이진분류라고 한다. 머신러닝에서 얻고자 하는 결괏값을 목적값 또는 타깃값이라 한다. 회귀 : 연속된 값을 측정하는 문제를 회귀라고 한다. 중.. 파이썬/머신러닝 2022. 11. 15. 머신러닝은? 머신러닝은 주어진 문제, 과제, 환경에 따라 컴퓨터 스스로 문제를 해결하려고 학습한 예측 결과를 활용하는 것이다. 문제 해결 자체는 물론 문제 해결을 하는 구조 전체를 뜻한다. 학문적 정의에서 벗어나 머신러닝이란 기계 스스로 데이터를 학습하여 서로 다른 변수간의 관계를 찾아 나가는 과정이라 정의할 수 있다. 머신러닝 유형 지도학습 - supervised learning - 알고리즘 분성모형 : 회귀분석, 분류 - 특징 : 정답을 알고 있는 상태에서 학습, 모형 평가 방법이 다양한 편 - 정답 데이터를 다른 데이터와 함께 컴퓨터 알고리즘에 입력하는 방식이다. 비지도 학습 - unsupervised learning - 알고리즘 분성모형 : 군집 분석 - 특징 : 정답이 없는 상태에서 서로 비슷한 데이터를 찾.. 파이썬/머신러닝 2022. 11. 9. 이전 1 다음