SVM - 붓꽃 데이터 분류
2024. 1. 15. 13:14ㆍ인공지능/머신러닝 실습(Python)
728x90
반응형
전체 코드
Iris 품종 분류 경진대회 - DACON
분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.
dacon.io
from sklearn.metrics import accuracy_score
from sklearn.svm import SVC
import pandas as pd
import os
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
# 데이터 세트 로드
dir = os.path.dirname(os.path.realpath(__file__))
train = pd.read_csv(dir + '/train.csv')
test = pd.read_csv(dir + '/test.csv')
submission = pd.read_csv(dir + '/sample_submission.csv')
# train 데이터를 피처와 타겟으로 분리
X = train.drop(['id', 'species'], axis = 1)
y = train['species']
# Label Encoding -> 목표 변수를 숫자로 변환
le = LabelEncoder()
y = le.fit_transform(y)
# train을 훈련 데이터와 검증 데이터로 분리
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=1)
# 훈련 데이터로 SVM 학습
svm_model = SVC(kernel='rbf', random_state=1, gamma=0.1, C=10.0)
svm_model.fit(X_train, y_train)
# 검증 데이터로 예측
predict = svm_model.predict(X_val)
# 검증 데이터로 정확도 평가
accuracy = accuracy_score(y_val, predict)
print('Accuracy:', accuracy)
# 테스트 데이터 예측
X_test = test.drop('id', axis=1)
test_predict = svm_model.predict(X_test)
# csv 파일로 예측한 데이터 출력
submission['species'] = le.inverse_transform(test_predict)
submission.to_csv(dir + '/submission.csv', index=False)
728x90
반응형
'인공지능 > 머신러닝 실습(Python)' 카테고리의 다른 글
머신러닝 실습 - 4. 랜덤 포레스트로 붓꽃 데이터 분류 (0) | 2024.01.17 |
---|---|
머신 러닝 실습 - 3. 결정 트리로 붓꽃 데이터 분류 (0) | 2024.01.16 |
로지스틱 회귀 - 붓꽃 데이터 분류 (0) | 2024.01.12 |