[파이썬][Numpy] 특성 추출과 선택 예제

특성 추출과 선택은 머신러닝 모델을 학습시키거나 데이터를 분석할 때 중요한 단계 중 하나입니다. 여기에는 몇 가지 예제가 포함되어 있으며, Scikit-Learn을 사용하여 특성 추출 및 선택을 수행하는 방법을 보여줍니다.

PCA (주성분 분석)를 사용한 특성 추출 예제:

PCA를 사용하여 데이터의 차원을 줄이고 주성분을 추출합니다. 이것은 데이터를 시각화하거나 머신러닝 모델에 입력하기 전에 차원을 축소하는 데 사용됩니다.

import numpy as np
from sklearn.decomposition import PCA

# 가상의 데이터 생성 (행: 샘플, 열: 특성)
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# PCA 모델 생성 및 적합
pca = PCA(n_components=2)  # 주성분을 2개로 설정
data_pca = pca.fit_transform(data)

print("PCA로 추출된 주성분:")
print(data_pca)

SelectKBest를 사용한 특성 선택 예제:

SelectKBest는 데이터에서 최상의 K개 특성을 선택하는 데 사용됩니다. 이것은 특성 선택을 통해 불필요한 특성을 제거하고 모델 성능을 향상시키는 데 사용됩니다.

import numpy as np
from sklearn.feature_selection import SelectKBest, f_regression

# 가상의 데이터 생성 (행: 샘플, 열: 특성)
X = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8],
              [9, 10, 11, 12]])
y = np.array([0, 1, 0])

# SelectKBest 모델 생성 및 적합
selector = SelectKBest(score_func=f_regression, k=2)  # 최상의 2개 특성 선택
X_new = selector.fit_transform(X, y)

print("선택된 특성:")
print(X_new)

위의 코드에서는 다음과 같은 작업을 수행합니다:

  1. PCA 예제에서는 PCA를 사용하여 데이터의 주성분을 추출합니다.

  2. SelectKBest 예제에서는 SelectKBest를 사용하여 F-회귀 점수를 기반으로 최상의 K개 특성을 선택합니다.

특성 추출과 선택은 데이터의 복잡성을 줄이고 모델 성능을 개선하는 데 도움을 줄 수 있습니다. 어떤 방법을 사용할지는 데이터와 문제에 따라 다르며, 실험을 통해 최적의 접근 방식을 찾아야 합니다.