[파이썬] 파이썬을 이용한 데이터 분류 샘플 프로젝트

이번 블로그에서는 파이썬을 이용하여 간단한 데이터 분류 샘플 프로젝트를 만들어보고자 합니다. 데이터 분류는 머신러닝이나 딥러닝 알고리즘을 사용하여 데이터를 분류하는 것인데요, 여기서는 파이썬에서 제공하는 scikit-learn 라이브러리를 사용하여 분류 모델을 만들어볼 예정입니다.

1. 데이터 준비하기

먼저, 우리가 분류할 데이터를 준비해야 합니다. 이번 예제에서는 유방암 데이터를 사용하여 악성 종양과 양성 종양을 분류해보도록 하겠습니다. 유방암 데이터는 sklearn.datasets 모듈에서 제공됩니다.

from sklearn.datasets import load_breast_cancer

# 데이터 로드
data = load_breast_cancer()

# 데이터 프레임 생성
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target

# 데이터 확인
df.head()

2. 데이터 전처리하기

데이터를 로드한 후에는 데이터를 분석하기 쉽도록 전처리해야 합니다. 일반적으로 데이터의 결측치가 있는지 확인하고, 필요하다면 정규화 또는 표준화를 수행해야 합니다.

# 결측치 확인
df.isnull().sum()

# 정규화
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
df[data.feature_names] = scaler.fit_transform(df[data.feature_names])

3. 데이터 분리하기

데이터 전처리가 완료되었다면, 이제 데이터를 학습용테스트용으로 분리해야 합니다. 이를 위해 train_test_split 함수를 사용합니다.

from sklearn.model_selection import train_test_split

# 피처와 타겟 데이터 분리
X = df[data.feature_names]
y = df['target']

# 학습용과 테스트용 데이터 분리
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

4. 분류 모델 만들기

분리된 데이터를 바탕으로 분류 모델을 만들어보도록 합니다. 이번 예제에서는 로지스틱 회귀 모델을 사용해보도록 하겠습니다.

from sklearn.linear_model import LogisticRegression

# 로지스틱 회귀 모델 생성
model = LogisticRegression()

# 모델 학습
model.fit(X_train, y_train)

# 모델 예측
y_pred = model.predict(X_test)

5. 모델 평가하기

마지막으로 모델의 성능을 평가해보도록 합니다. 일반적으로 분류 모델의 성능 평가는 정확도, 정밀도, 재현율, F1 점수 등을 사용합니다.

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# 정확도 평가
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

# 정밀도 평가
precision = precision_score(y_test, y_pred)
print("Precision:", precision)

# 재현율 평가
recall = recall_score(y_test, y_pred)
print("Recall:", recall)

# F1 점수 평가
f1 = f1_score(y_test, y_pred)
print("F1 Score:", f1)

이렇게 간단한 데이터 분류 샘플 프로젝트를 파이썬을 이용하여 만들어보았습니다. 데이터 분류는 머신러닝과 딥러닝 분야에서 매우 중요한 작업이므로, 이번 예제를 통해 기본적인 개념을 익히고 다양한 분류 모델을 적용해보세요!