[python] Jupyter Notebook에서 기계 학습 실습 예제
Jupyter Notebook은 데이터 분석 및 기계 학습에 널리 사용되는 대화형 개발 환경입니다. Python을 사용하고, 코드, 시각화, 그래프, 통계 모델 및 기계 학습 모델을 쉽게 시각화하고 공유할 수 있습니다.
예제
- 데이터 탐색 및 시각화:
- Pandas와 Matplotlib을 사용하여 데이터를 불러오고 시각화합니다.
- 선형 회귀 분석:
- Scikit-learn을 사용하여 선형 회귀 모델을 만들고 평가합니다.
- 이미지 분류:
- TensorFlow를 사용하여 간단한 합성곱 신경망(CNN)을 구성하고 손글씨 숫자 이미지를 분류합니다.
데이터 탐색 및 시각화
Pandas
Pandas는 데이터 구조 및 분석을 위한 Python 라이브러리로, 다양한 데이터 소스를 처리하고 데이터를 분석하는 데 사용됩니다. Jupyter Notebook에서 Pandas를 사용하여 데이터를 불러오고 조작할 수 있습니다.
import pandas as pd
# 데이터 불러오기
data = pd.read_csv('data.csv')
# 데이터 탐색
data.head()
Matplotlib
Matplotlib은 데이터를 시각화하기 위한 Python 라이브러리로, 그래프 및 차트를 그리는 데 사용됩니다. Jupyter Notebook을 사용하여 Matplotlib을 통해 데이터를 시각적으로 탐색할 수 있습니다.
import matplotlib.pyplot as plt
# 데이터 시각화
plt.scatter(data['x'], data['y'])
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
선형 회귀 분석
Scikit-learn
Scikit-learn은 Python의 기계 학습 라이브러리로, 다양한 기계 학습 모델 및 도구를 제공합니다. Jupyter Notebook을 사용하여 Scikit-learn을 이용해 선형 회귀 모델을 만들고 평가할 수 있습니다.
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 데이터 준비
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 모델 학습
model = LinearRegression()
model.fit(X_train, y_train)
# 모델 평가
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print('Mean Squared Error:', mse)
이미지 분류
TensorFlow
TensorFlow는 구글에서 개발한 오픈소스 머신러닝 라이브러리로, 심층 신경망 및 기타 기계 학습 모델을 구축하고 훈련하는 데 사용됩니다. Jupyter Notebook을 사용하여 TensorFlow를 이용해 이미지 분류 모델을 만들고 테스트할 수 있습니다.
import tensorflow as tf
# 데이터 불러오기 및 전처리
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1))
test_images = test_images.reshape((10000, 28, 28, 1))
train_images, test_images = train_images / 255.0, test_images / 255.0
# 모델 구성
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(10, activation='softmax')
])
# 모델 컴파일 및 학습
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5)
# 테스트
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
이러한 방법으로 Jupyter Notebook을 사용하여 Python을 기반으로 한 기계 학습 모델을 만들고 테스트할 수 있습니다.
참고 문헌:
- Jupyter Notebook Documentation
- Pandas Documentation
- Matplotlib Documentation
- Scikit-learn Documentation
- TensorFlow Documentation