-
초간단한 AI모델 만들기(구글Colab)-Iris.csvAI&ML 2023. 2. 2. 23:13반응형
안녕하세요. 오늘은 간단한 머신러닝을 활용하여 AI모델을 만들어보기로 할께요. AI모델이라고 하면 굉장히 어렵게 느껴지죠. 그렇습니다^^ 저도 아직 배우는 중이라 딥한 내용은 많은 공부가 필요합니다. 하지만, 간단한 AI모델을 실제로 만들어보면, 어느정도 감이 잡힐거에요.
이전에는 개발자 마인드가 강해서 항상 환경을 로컬에 설치해서 테스트를 하는 습관이 있었는데요. 요즘은 어떤시대인가요? 네 그렇습니다. 클라우드의 시대죠.^^ 복잡한 셋팅을 하는데 시간을 낭비하지말고, 이미 만들어진 환경을 가져다 쓰면 되는 시대입니다. 저같은 경우 데이터 분석및 모델 학습을 위해서 Spark 클러스터를 생성해서 테스트를 하면되지만, 간단하게 테스트할때는 이미 만들어진 구글Colab을 사용하는데, 아주 간편하고 쉬워서 좋아요.
구글Colab이라고 치면 아래와 같은 온라인에서 머신러닝 학습을 할수 있는 환경을 만들어줍니다.
아래에 새노트를 클릭하여 코드를 작성할 수 있습니다.
위 그림처럼 Iris.csv 파일을 업로드합니다. 이파일은 아래 사이트에서 받을 수 있습니다.
https://www.kaggle.com/datasets/saurabh00007/iriscsv?resource=download
붓꽃데이터 (iris.csv) 설명
SepalLength : 꽃받침의 길이
SepalWidth : 꽃받침의 폭
PetalLength : 꽃잎의 길이
PetalWidth : 꽃잎의 폭
Name : 붓꽃의 종류
Iris-setosa
Iris-versicolor
Iris-virginica머신러닝을 처음배울때 이 데이터를 가지고 학습하면 이해하기가 쉽습니다.
이제 데이터를 업로드 했으면, 구글Colab에서 코딩을 해봅시다.
필요한 라이브러리를 import 합니다.
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score import pickle
Iris 데이터를 로딩합니다.
df = pd.read_csv("Iris.csv")
train 데이터와 test 데이터로 나눕니다.
X = df.drop(["Id", "Species"], axis=1) y = df["Species"] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.8, random_state=42)
Decision Tree classifier 알고리즘을 사용하여 학습을 합니다.# Train the Decision Tree classifier clf = DecisionTreeClassifier() clf.fit(X_train, y_train)
테스트 데이터로 예측값을 가지고 와서 정확도를 scoring 한다.
0.933333...의 정확도를 보이네요.
이 모델을 pkl 파일로 내보내기 해보겠습니다.
# Make pickle file of our model pickle.dump(clf, open("model.pkl", "wb"))
이렇게 하면 왼쪽 패널에 model.pkl 파일이 생성된것을 볼수 있습니다.
오른쪽 마우스를 클릭해서 다운로드 받을수 있습니다.
구글Colab을 이용하면 실습한 파이썬 코드를 구글 드라이브에 저장할수 있어, 나중에 다시 활용하기도 좋습니다.
다음 포스트엔 이 다운받은 모델을 활용해서 서비스를 만들어 볼게요.
반응형'AI&ML' 카테고리의 다른 글
Github Actions을 이용한 간단한 Docker 빌드/배포 자동화 (0) 2023.02.07 Hugging Face 로 AI 모델 맛보기!! (0) 2023.02.05 일타강사 챗GPT(Chat GPT)를 이용하여 파이썬(python)공부하기! (3) 2023.02.02 챗GPT(Chat GPT)를 이용한 SQL쿼리 작성! (0) 2023.02.01 챗GPT(Chat GPT)를 이용한 블로그 만들기 (0) 2023.01.29