본문 바로가기

Data Science14

[Machine Learning] 데이터 전처리(1) - 결측치 처리(1) 데이터 분석을 하기 위해서 데이터의 전처리는 필수적이다. 데이터들을 수집해서 나온 가공되지 않은 데이터는 분석을 바로 할 수가 없는 상태이다. (결측치의 존재, 이상치의 존재, 여러 데이터 타입의 혼재, ...) 만약 이러한 데이터를 가지고 바로 모델링을 한다면 데이터의 잡음으로 인해 우리가 모델의 결과가 굉장히 안 좋을 것이다. 혹은 모델이 아예 학습을 하지 못할 수도 있을 것이다. 그러면 가장 선행되어야 하는 전처리 작업은 무엇일까? 그것은 바로 결측치 (Missing values)를 처리하는 것이다. 결측치는 다음과 같이 크게 세 가지 유형으로 나눌 수 있다. 1. MCAR(Missing Completely At Random) 데이터가 missing난 이유가 데이터와 무관하게 발생한 것을 말한다. .. 2023. 6. 22.
[EDA Practice] Subplot 그리기 이전 포스팅에서 matplotlib이나 seaborn을 통해서 그래프를 생성하면 자동으로 AxesSubplot 객체가 생성되었다. AxesSubplot은 Figure 객체에 포함된 객체이지만, 일반적으로는 하나밖에 생성이 안된다. 그러나, 데이터 시각화를 진행하다 보면, 아래처럼 여러 개의 그래프를 한 눈에 비교하고 싶을 때가 있다. matplotlib에서는 서브플롯을 그리기 위해 몇 가지의 메서드를 제공한다. 1. add_subplot() 첫 번째는 바로 Figure 객체의 add_subplot() 메서드이다. add_subplot()은 파라미터로 row, col, index를 받는다. index는 서브플롯이 생성되는 위치로, 왼쪽 위에서부터 1이다. 아래 코드는 nrows=3, ncols=2의 빈 서.. 2023. 2. 9.
[EDA Practice] Figure, Axes 객체 Matplotlib은 데이터 시각화에 필수적인 패키지이다. 이러한 그래프를 그릴 수 있는 이유는 Matplotlib만의 특별한 클래스들이 존재하기 때문이다. 바로 Figure와 Axes 클래스이다. Matplotlib의 그래프를 담을 수 있는 Figure 클래스와 Axes 클래스를 알아보자. 1. Figure 클래스 일반적인 방식으로 plt.figure()를 수행하고 객체 타입을 확인한 결과이다. fig = plt.figure() type(fig) => matplotlib.figure.Figure 코드에서 볼 수 있듯이 matplotlib.figure.Figure 객체가 생성되는 것을 볼 수 있다. Figure 객체는 그래프 요소를 담을 수 있는 최상위 컨테이너이다. 그래프를 담을 수 있는 직사각형의 객.. 2023. 2. 9.
[Machine Learning] 평가 지표 - 분류(Classification) 분류는 머신러닝의 대표적인 기법 중 하나이다. 정말 다양한 분류 알고리즘이 있고, 아직 데이터분석을 시작한 지 얼마 안 된 초보자 입장이지만, 현재까지 웬만한 문제들은 분류 알고리즘 기반으로 풀렸다. 그러나 머신러닝 모델링을 했어도 모델의 성능을 측정할 수 없다면 아무 쓸모가 없을 것이다. 실제 테스트 데이터에 대해서 잘 작동하는지 평가를 해봐야 할 것이다. 일반적으로 평가를 한다면 정확도를 가지고 평가를 할 테지만, 분류에서는 다른 측정 방법들을 사용한다. 분류에서 정확도를 맹신하지 않는 이유는 나중에 정리하여 포스팅하겠다. 분류에서 이 평가를 하는 방법이 존재한다. 1. 오차 행렬 (confusion matrix) 첫 번째는 바로 오차 행렬이다. 오차 행렬은 실제 값과 예측 값을 비교하여 잘못 비교된.. 2023. 2. 7.