전체 글 175

파이썬 머신러닝 - epochs history 로 차트 만들어 확인

만들어진 모델을 fit을 통해 학습한 결과를 변수에 저장하고 .history 를 통해 출력되는 loss, metrics 값을 알 수 있습니다. 이걸 차트로 표현합니다. # 학습한 모델을 변수에 저장 hist = model.fit(X_train,y_train,batch_size = 10 , epochs= 20) # 출력하면 loss,metrics 등의 딕셔너리로 출력 hist.history # 차트로 표시하기 import matplotlib.pyplot as plt plt.plot(hist.history['loss']) plt.xlabel('# epochs') plt.ylabel('# loss') plt.show

개발/머신러닝 2022.12.28

파이썬 머신러닝 - 텐서플로우를 이용한 regression 문제 모델링

지난번에는 아웃레이어의 엑티베이션 함수에 시그모이드를 이용하였습니다. 이번에는 텐서플로우를 이용한 ANN 의 마지막 아웃레이어를 리니어로 모델링하여 리그레션 문제를 모델링해보겠습니다. 1. 데이터 파일을 가져옵니다. import pandas as pd df = pd.read_csv('Car_Purchasing_Data.csv', encoding='ISO-8859-1') 2. 데이터를 분석하여 X,y축을 설정합니다. # 데이터의 NaN확인 df.isna().sum() # 데이터의 컬럼 확인 df.columns # X축 설정 X = df.loc[:,'Gender':'Net Worth'] # y축 설정 y = df['Car Purchase Amount'] 3. 설정한 데이터를 보고 문자열이 있으면 인코딩을 진..

개발/머신러닝 2022.12.28

파이썬 머신러닝 - 텐서플로우를 이용한 그리드서치

이번에는 텐서플로우를 이용한 그리드 서치를 해보겠습니다. 데이터는 그 전 포스트의 자료를 그대로 사용하겠습니다. 이번에는 입력을 받으면 자동으로 모델링을 해주기 위해서 함수를 만들겠습니다. 먼저 다음을 임포트해주세요. from keras.wrappers.scikit_learn import KerasClassifier from sklearn.model_selection import GridSearchCV from keras.models import Sequential from keras.layers import Dense 1. build_model 함수 def build_model(optimizer) : # 모델링 model = Sequential() # 데이터의 컬럼 수가 11개 이기때문에 첫 시작을 1..

개발/머신러닝 2022.12.27

파이썬 머신러닝 - 텐서플로우를 이용한 ANN , Dummy variable trap,batch_size , epochs

먼저 텐서플로우는 파이썬에서 딥러닝과 머신러닝을 위한 라이브러리 입니다. 우리는 이 텐서플로우로 ANN을 만들어보도록 하겠습니다. 먼저 기존의 머신러닝과는 다르게 ANN은 딥러닝 으로 구글의 코랩 이라는 서버를 빌려 작동을 시키겠습니다. ( 이유는 코랩이 보다 사양이 높기 때문입니다. 머신러닝과는 다르게 여러번의 수행이 필요합니다. ) https://colab.research.google.com/?hl=ko Google Colaboratory colab.research.google.com 구글 코랩에서 파이썬 파일을 실행하여 작동하도록 하겠습니다. 1. 먼저 데이터를 가져오도록합니다. - 다만 이때 데이터파일을 코랩 서버 경로에 옮겨야하기때문에 구글드라이브를 이용하여 파일을 업로드합니다. - 업로드된 파..

개발/머신러닝 2022.12.27

파이썬 머신러닝 - Neural Networks

그동안 배운 머신러닝들을 이용하다보면 실제 상황에서는 적용하기가 힘들고 머신러닝의 정확도가 떨어져 사용하기 어려움에 있었습니다. 이러한 문제를 해결하고자 많은 사람들이 연구한 결과물 중에서 사람의 뉴런을 참고하여 만든 방식인 뉴럴 네트워크에 대해 알아봅시다. 뉴럴네트워크 , 번역하자면 신경망 구조 입니다. 위 사진에서 input 은 데이터를 의미합니다. 여러분들이 머신러닝을 진행할때 X 값을 정하고 train 과 test로 나눈 데이터들을 저 input에 넣어 진행하도록 합니다. hidden 부분은 계층(layer)가 모여있는 구간입니다. 여기서 layer란? 오른쪽 사진 어떠한 입력치와 가중치를 통해 구한 합을 액티베이션 함수를 통해 나타낸 ANN(Article Neural Networks)들의 모임 ..

개발/머신러닝 2022.12.27

웹대시보드 프로젝트 - 8일차 (EC2 배포 에러 )

github에 push 할때마다 서버에서 자동으로 pull 하는 방법을 적용하여 테스트하는데 문제가 발생하였다. ( 자동배포는 https://mokokodevelop.tistory.com/97 ) 서버가 죽는 현상이 발생하였고 , 다시 실행시키면 대시보드 자체는 문제없이 돌아가는 듯 했으나.. 큰 실수를 범하게 되는데 웹대시보드에 쥬피터노트북에서 파일들을 가공한 데이터들의 가공과정을 그대로 집어넣어서 실행시키고 있었다. 이렇게 되면 시스템에 과부하가 걸리는 것 뿐만 아니라 올바른 개발과정이라고 할 수 없다. 웹 대시보드 개발이기 때문에 데이터 분석은 쥬피터에서, 그 만들어진 가공물로 개발하는 것이기때문에 위와 같은 행위를 해서는 안되는 것이었다. 그래서 기존의 있던 data_init 파일을 아예 삭제하고..

개발/프로젝트 2022.12.26

웹대시보드 프로젝트 7일차 - 이미지 url 에러

EC2 에 오류를 수정하여 무사히 업로드를 마치고 다른 컴퓨터에서 확인하던 도중 이상한 점을 발견하였습니다. 제가 작업한 컴퓨터에서는 이미지가 제대로 화면에 표시가 되는데 다른 컴퓨터에서는 전혀 보이질 않는 현상이 있었습니다. 사진을 주소로 가져오도록 해놓았는데 이 주소에 문제가 생겨서 제대로 보이질 않았고, 제가 작업한 컴퓨터에서는 크롬에서는 보이나 다른 브라우저에서는 똑같은 현상이 있는 것으로보아 크롬은 캐시데이터가 저장되어 있어 그런 것으로 추정해봅니다. 일단 문제를 해결해야했기 때문에 이미지를 직접 png파일로 저장하는 과정을 거쳐 화면에 정상적으로 출력하도록 하였습니다. # image 폴더를 추가하고 사진을 저장하였습니다. # team_url from PIL import Image def tea..

개발/프로젝트 2022.12.26

웹대시보드 프로젝트 - 6일차 (EC2에서 에러 해결하기)

5일차 까지 만든 프로젝트결과물에서 날짜 선택을 데이터의 첫 날짜 부터 마지막 날짜 까지로 선택하게 만들고 홈에서는 어떤 데이터를 이용하였는지 간략하게 적었으며, 사이드바에서 이미지 url에 오류가 있어 수정하였습니다. 그리고 EC2 서버에 업로드 하여 실행을 하였으나 , 실행되지 않고 서버가 다운되는 현상이 발견되었습니다. 원인을 분석하던 도중 games_detail의 데이터와 teams를 merge 함수를 이용해 합쳤을때 오류가 나는 것을 확인하였습니다. EC2 프리티어버전에서는 용량이 크면 서버가 다운 될 수도 있다는 말에 games_detail에 데이터를 절반으로 줄여 다시 실행하니 작동이 되었습니다. 따라서 games_detail 절반값인 games_detail_half.csv 을 만들어 진행하..

개발/프로젝트 2022.12.23

웹대시보드 프로젝트 5일차 - 선수탭 작성 (차트 추가 , 데이터 분석)

5일차에서는 선수탭을 작성하기 시작하였습니다. 원하는 날짜 or 팀 으로 데이터를 분석하고, 차트로 나태내었습니다. - 날짜별 - 평균 , 2점슛 , 3점슛 등등 - 팀별 - 평균, 2점슛 3점슛 등등 1. player.py import streamlit as st import data_init import pandas as pd import matplotlib.pyplot as plt import plotly.express as px import platform from matplotlib import font_manager, rc import numpy as np import plotly.graph_objects as go def player(player_name) : plt.rcParams['axe..

개발/프로젝트 2022.12.23

웹대시보드 프로젝트 4일차

3일차에서 말했던 대로 멀티셀렉트박스를 이용하여 구성을 바꾸고 선수탭을 작업하기 시작하였습니다. 다만 여기서 데이터컬럼명을 rename하는 과정에서 빼먹은 부분이 있어 그부분을 수정하였습니다. 1. app.py import streamlit as st from home import home from team import team from player import player import matplotlib.pyplot as plt import platform from matplotlib import font_manager, rc def main() : plt.rcParams['axes.unicode_minus'] = False if platform.system() == 'Linux': rc('font',..

개발/프로젝트 2022.12.21