[python] SciPy를 사용하여 피처 선택 수행하기

많은 피처가 있는 데이터셋에서 피처 선택은 모델의 성능을 향상시키는 강력한 도구입니다. SciPy는 통계 분석과 과학적 계산을 위한 Python 라이브러리입니다. 이 라이브러리를 사용하여 데이터셋에서 중요한 피처를 선택하는 방법을 알아보겠습니다.

데이터셋 불러오기

먼저, 피처 선택을 수행할 데이터셋을 불러옵니다. 예를 들어, pandas 라이브러리를 사용하여 CSV 파일을 불러올 수 있습니다. 다음은 data.csv 파일을 불러오는 예시입니다:

import pandas as pd

data = pd.read_csv('data.csv')

상관계수 계산하기

다음으로, 불러온 데이터셋에서 각 피처들 간의 상관계수를 계산합니다. 상관계수는 두 변수간의 선형 관계를 나타내는 지표입니다. scipy 라이브러리의 pearsonr 함수를 사용하여 상관계수를 계산할 수 있습니다. 다음은 예시입니다:

from scipy.stats import pearsonr

# 피처와 타겟 변수 간의 상관계수 계산
correlations = []
target_variable = data['target']  # 타겟 변수

for feature in data.columns:
    if feature != 'target':
        feature_data = data[feature]
        correlation, _ = pearsonr(feature_data, target_variable)
        correlations.append((feature, correlation))

# 상관계수를 기준으로 내림차순 정렬
correlations.sort(key=lambda x: abs(x[1]), reverse=True)

상위 피처 선택하기

마지막으로, 상관계수가 높은 상위 피처들을 선택합니다. 이를 통해 타겟 변수와 가장 관련이 높은 피처들을 선택할 수 있습니다. 예를 들어, 상위 5개의 피처를 선택하는 예시는 다음과 같습니다:

selected_features = [feature[0] for feature in correlations[:5]]

위의 코드를 실행하면, selected_features 리스트에 상위 5개의 피처 이름이 저장됩니다. 이렇게 선택한 피처들을 모델에 사용하여 성능을 향상시킬 수 있습니다.

결론

SciPy를 사용하여 데이터셋에서 피처 선택을 수행하는 방법에 대해 알아보았습니다. 데이터셋에서 피처를 선택하는 것은 모델의 성능을 향상시킬 수 있는 중요한 단계입니다. SciPy를 활용하여 피처 선택을 수행해보세요.

참고 자료