[python] 모듈과 패키지를 사용한 기계 학습 예시

기계 학습은 데이터를 분석하여 학습하는 알고리즘을 의미하며, Python은 이를 위한 다양한 모듈과 패키지를 제공합니다. 이번 포스트에서는 Python을 사용하여 간단한 기계 학습 모델을 만드는 예시를 제시하겠습니다.

1. Scikit-learn 모듈을 사용한 분류 모델 생성

Scikit-learn은 간단하고 효과적인 기계 학습 알고리즘을 제공하는 Python 라이브러리입니다. 아래는 Scikit-learn을 사용하여 붓꽃 데이터셋을 분류하는 예시 코드입니다.

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn import metrics

# 데이터 불러오기
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=4)

# 모델 학습
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)

# 모델 평가
y_pred = knn.predict(X_test)
print(metrics.accuracy_score(y_test, y_pred))

2. TensorFlow 패키지를 사용한 신경망 모델 생성

TensorFlow는 구글에서 개발한 딥러닝 프레임워크로, 복잡한 신경망 모델을 구축하고 학습시키는 데 매우 유용합니다. 다음은 TensorFlow를 사용하여 간단한 다층 퍼셉트론(MLP)을 구현하는 예시 코드입니다.

import tensorflow as tf

# 데이터셋 불러오기
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 데이터 전처리
x_train, x_test = x_train / 255.0, x_test / 255.0

# 모델 정의
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10)
])

# 모델 컴파일
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

# 모델 학습
model.fit(x_train, y_train, epochs=5)

# 모델 평가
model.evaluate(x_test,  y_test, verbose=2)

이처럼 Python의 다양한 모듈과 패키지를 사용하여 기계 학습 및 딥러닝 모델을 구현할 수 있습니다. 데이터셋을 불러오고 전처리한 후, 모델을 정의하고 학습시키는 과정을 거치면 됩니다.

기계 학습과 딥러닝에 대한 보다 심층적인 내용은 Scikit-learn 공식 문서TensorFlow 공식 문서를 참고하시기 바랍니다.