출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] '인공지능' 태그의 글 목록 :: 하나둘셋넷
728x90

KT Aivle School 에이블스쿨 기자단] 9.25(월) ~ 10.1(일) 미프, 딥러닝, 코딩 테스트

내용

  • 미프 4일차 기억에 남는 부분 : 수치형 데이터를 만들기 위한 노가다...
  • 딥러닝 1일차 종합실습_carseat
  • 코딩 테스트 메일 도착

미프 4일차 기억에 남는 부분 : 수치형 데이터를 만들기 위한 반복 작업...

원본 데이터

 위의 데이터를 보면 수치형 데이터로 나타나지 않은 부분들이 있기 때문에 데이터 분석을 위하여 모두 수치형 데이터로 바꿀 필요가 있었고,

 "범주형 데이터"  ⇒ "수치형 데이터" 과정은 손가락 아픈 반복 작업이 필요했다

완성
완성을 위해 필요했던 코드

 미프가 다 끝나고 완성한 부분을 간추려 보니, 별거 아니라고 느껴지긴 하지만

 미프를 진행하는 동안에는 같은 작업을 여러 번 계속 하다보니 손가락이 아프게 느껴져 기억에 남는 부분 중 하나가 되었다.

 

딥러닝 1일차 종합실습_carseat

딥러닝 회귀 모델을 사용하여 carseat 종합실습을 진행하였다

데이터 설명
데이터 형태
코드 모습

 

* model을 생성하기 전에 필수는 아니지만 clear_session()을 하는 것이 권장된다.

코드는

from keras.backend import clear_session

clear_session()

 

* 모델을 생성할 때는 Sequential 모델을 사용하고, Dense 레이어를 이용

히든 레이어에는 relu를 activation으로 사용

 

from keras.models import Sequential

from keras.layers import Dense

 

model = Sequential([Dense(18 ,input_shape = (nfeatures,) , activation = 'relu' ),

                    Dense(4, activation='relu') ,

                    Dense(1) ] )

 

 

코딩 테스트 메일 도착

 

아직 코딩 실력이 부족하다고 느끼지만, 어차피 실전을 겪고 깨져봐야 실력이 늘거라 생각해서 시험을 신청했다

728x90
728x90

지도 학습 분류 문제

결정나무 분류

  1. 환경 준비
  2. 데이터 이해
  3. 데이터 준비
  4. 모델링
  5. 기타
  • graphviz
  • 변수 중요도
1. 환경준비
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings

warnings.filterwarnings(action='ignore')
%config InlineBackend.figure_format = 'retina'

# 데이터 읽어오기
data = pd.read_csv(path)
 
2. 데이터 이해
data.head()
data.describe()
data['컬럼명'].value_counts()
data.corr()
 
3. 데이터 준비
1) x, y 분리
target = '타겟 컬럼'

x = data.drop(target, axis = 1)
y = data.loc[:, target]

2) 학습용, 평가용 데이터 분리
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state=1)
 
4. 모델링
# 1단계
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import confusion_matrix, classification_report

# 2단계 선언하기
model = DecisionTreeClassifier(max_depth=5, random_state=1

# 3단계 학습하기
model.fit(x_train, y_train)

# 4단계 예측하기
y_pred = model.predict(x_test)

# 5단계 평가하기
print( confusion_matrix(y_test, y_pred) )
print( classification_report(y_test, y_pred) )
 
graphviz
# 시각화 모듈
from sklearn.tree import export_graphviz
from IPython.display import Image

# 이미지 파일
export_graphviz( model,
                            out_file = 'tree.dot',
                            feature_names = x.columns,
                            class_names = ['No', 'Yes'],
                            rounded = True,
                            precision = 2,
                            filled = True)
# 파일 변환
!dot tree.dot -Tpng -otree.png -Gdpi=300

# 이미지 파일 표시
Images(filename = 'tree.png')
 
변수 중요도 시각화
plt.figure(figsize=(5,5))
plt.barh(list(x), model.feature_importances_ )
plt.show()

 

728x90

+ Recent posts