728x90
1.손글씨 데이터셋 살펴보기
2.정규화
3.서포트 벡터 (Support Vector Machine(SVM))
8.서포트 벡터 머신.ipynb
1.손글씨 데이터셋 살펴보기
🎈 바로 실습
from sklearn.datasets import load_digits
# 객체 생성
digits = load_digits()
🔻 데이터 살펴보기
# 데이터를 확인하기 위해서 키값을 뽑아보자
digits.keys()
# shape를 이용하여 데이터 갯수를 확인 해봅시다.
data = digits['data']
data.shape
🔻 data[0]을 출력해보게 되면 우리는 지금 이게 어떤 값인지 감이 오질 않는다.....
👀 target에 데이터 갯수를 확인 해봅시다.
target = digits['target']
target.shape
🔻 다차원 배열 데이터를 형상화 해보겠습니다.
# 다차원 배열을 형상화 해주는애 !
import matplotlib.pyplot as plt
# 형상화 해보겠습니다.
fig, axes = plt.subplots(2, 5, figsize =(14,8))
for i, ax in enumerate(axes.flatten()):
ax.imshow(data[i].reshape((8,8)), cmap='gray')
ax.set_title(target[i])
2.정규화
🔻데이터를 정규화 시켜 보겠습니다.
🗨 데이터의 값이 작아질수록 컴퓨터의 연산 속도는 빨라집니다.
from sklearn.preprocessing import MinMaxScaler
# 스케일링 객체 생성
scaler = MinMaxScaler()
# 0부터 1사이의 스케일값으로 바꿔준다.
# 값이 작아작아지면 컴퓨터 연산이 빨라진다 !
scaled = scaler.fit_transform(data)
scaled[0]
from sklearn.model_selection import train_test_split
#데이터 학습자료 분류 하기
X_train, X_test, y_train, y_test = train_test_split(scaled, target, test_size=0.2, random_state = 10)
# 학습자료 수 확인하기
print(X_train.shape, y_train.shape)
print(X_test.shape, y_test.shape)
3.서포트 벡터 (Support Vector Machine(SVM))
- 두 클래스부터 최대한 멀리 떨어져 있는 결정 경계를 찾는 분류기로 특징 조건을 만족하는 동시에 클래스를 분류하는것을 목표로 함
🔻
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# SVC 객체생성
model = SVC()
# 학습시키기
model.fit(X_train, y_train)
# 예측하기
y_pred= model.predict(X_test)
# 예측 정확도 확인하기.
accuracy_score(y_test, y_pred)
# 그림 그리기
print(y_test[0], y_pred[0])
plt.imshow(X_test[0].reshape(8,8))
plt.show
🔻 전체를 다 찍어보겠습니다.
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2,5, figsize=(14,8))
for i, ax in enumerate(axes.flatten()):
ax.imshow(X_test[i].reshape(8,8), cmap='gray')
ax.set_title(f'Label: {y_test[i]}, Pred: {y_pred[i]}')
728x90
'개발 > 머신러닝-딥러닝' 카테고리의 다른 글
2023.06.15 ML(머신러닝)의 파이토치 (0) | 2023.06.15 |
---|---|
2023.06.13 ML(머신러닝)의 랜덤 포레스트 (0) | 2023.06.14 |
2023.06.09 ML(머신러닝)의 로지스틱 회귀 (0) | 2023.06.13 |
2023.06.09 ML(머신러닝)의 의사결정나무(Decision Tree)모델 (0) | 2023.06.12 |
2023.06.08 ML(머신러닝)의 선형회귀, 평기지표, log활용 (1) | 2023.06.12 |
댓글