[인공지능] 붓꽃(iris)의 품종 분류

정은수·2023년 1월 7일
0

인공지능

목록 보기
4/5

데이터 준비

소스 : https://www.kaggle.com/uciml/iris

SepalLength  (꽃받침의 길이)
SepalWidth   (꽃받침의 폭)
PetalLength  (꽃잎의 길이)
PetalWidth   (꽃임이 너비)
Name     품종명

Iris-setosa, Iris-versicolor, Iris-virginica   세 품종으로 분류 

CSV 파일에는 약 150개의 데이터가 있다

train_test_split()

train용과 test용 데이터 분할

	import pandas as pd
    from sklearn.model_selection import train_test_split
    
    df_iris = pd.read_csv(os.path.join(base_path, 'iris.csv')
	
    # 원래 인덱스가 숫자인것을 'Id' column으로 세팅
    df_iris.set_index('Id', inplace=True)

colunms

	df_iris.columns
    # ['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm', 'Species'] 

데이터 열 추출

    df_data = df_iris[['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm']]

레이블 열 추출

	df_label = df_iris['Species']

test : train 분할

	train_data, test_data, train_label, test_label =\
        train_test_split(df_data, df_label)
    # 1/4로 나눔
    # train_size 파라미터를 통해 분할 범위 조절 가능 ex) train_size=0.7
    # shuffle=True는 defalut 값이다

학습&예측

	clf = svm.SVC()
    clf.fit(train_data, train_label)
    pre = clf.predict(test_data)
    
    metrics.accuracy_score(test_label, pre)

scikit-learn에서 제공하는 examplt들

https://scikit-learn.org/stable/tutorial/basic/tutorial.html#loading-an-example-dataset

	from sklearn import datasets
    
    # 붓꽃 데이터
    iris = datasets.load_iris()
    
    # type
    type(iris)   # sklearn.utils.Bunch
    
    # keys()
    iris.key()
    # dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module'])

소감

이번에도 import가 헷갈린다. import 지옥같다

profile
기록중

0개의 댓글