Professional Documents
Culture Documents
2021-35779 천지은
20
2
데이터 처리
# 그래프 그리기
import seaborn as sns
import matplotlib.pyplot as plt
sns.pairplot(df, hue='species');
plt . show( )
# 데이터 보기
import pandas as pd
df = pd . read_csv( ' .. /dataset/iris . csv ' , names =
[ "sepal_length" , "sepal_width" ,
"petal_length" ,"petal_width" , ;,species" ] )
print (df . head( ) ) sepal
3
데이터 처리와 사용한 함수
원 - 핫인코딩 소프트맥스
import pandas as pd
import seaborn as sns
import matplotlib . pyplot as plt
import numpy as np # 라이브러리란 특정 기능을 담은 작은 프로그램 ( 모듈 , module)
import tensorflow as tf # matplotlib 과 seaborn 은 파이썬에서 그래프를 그리는 라이브러리
# 넘파이는 수치 계산을 위해 만들어진 라이브러리로 데이터 분석에 많이 사용
# seed 값 설정
np.random.seed(3) # 넘파이 (numpy) 라는 라이브러리를 np 라는 이름으로 불러오라는 뜻
tf.random.set_seed(3)
# 데이터 입력
df = pd.read_csv( ' .. /dataset/ iris . csv ' , names = [ " sepal_length # 실행할 때마다 같은 결과를 출력하기 위해 설정하는 부분으로 랜덤 테이블
5
" , "sepal_width", "petal_length", "petal_width", "species"]) 중에서 몇 번째 테이블을 불러와 쓸지를 정하는 것 . 넘파이 라이브러리를
사용하면서 텐서플로 기반으로 딥러닝을 구현할 때는 일정한 결과값을 얻기
# 그래프 확인
sns.pairplot(df, hue='species'); 위해 넘파이 seed 값과 텐서플로 seed 값을 모두 설정 .
plt . show( )
# 데이터 분류
dataset = df.values
X = dataset[ : ,0:4) .astype(float)
Y_obj = dataset [ : , 4 )
# 문자열을 숫자로 변환
e = LabelEncoder( ) Y 값이 문자열이라 문자열을 0 과 1 의 숫자로 바꿔 주기 위해
e.fit(Y_obj) LabelEncoder( ) 함수 , tf . keras . utils . to_categorical( ) 함수 활용 ,
Y = e.transform(Y_obj)
Y_encoded = tf . keras . utils . to_categorical(Y)
Epoch 1/50
150/150 [======l-Os 3ms/sample - loss: 1.2541
- accuracy: 0.3733
Epoch 2/50
150/150 [ =====] _ Os 1ms/sample - loss: 0.9932
- accuracy: 0.4200
Epoch 3/50
150/150 [========l-Os 1ms/sample - loss: 0.7919
- accuracy: 0.6400
( 중략 )
Epoch 49/50
예측 정확도가 98.67% 로 측정
150/150 [==] - Os 1ms/sample - loss: 0.0884
7
150 개의 샘플을 한 번씩 테스트한 결과
- accuracy: 0.9667 148 개의 품종을정확히 맞히는확률
Epoch 50/50
150/150 [==] - Os 999us/sample - loss: 0.0894
- accuracy: 0.9733
Accuracy: 0.9867