카테고리 126

활성함수의 역할과 종류 이해하기

📈활성 함수의 역할 activation function은 출력값을 변환해주는 역할을 하는 함수입니다. 이렇게 할 경우 input에 대한 결과값을 얼마나 출력할 지를 조절할 수 있습니다. 또한 비선형 함수를 사용하여 여러 개의 층을 쌓을 수 있도록 만들어 줍니다. 📌왜 비선형함수일까? 선형 함수를 사용할 경우 층을 쌓는 의미가 사라집니다. 그 이유를 예를 들어 보겠습니다. $h(x)=cx$라는 선형함수 식을 활성함수로 사용할 경우 $y(x)=h(h(h(x)))$로 여러 층을 쌓은 결과가 $y=c^3x$가 됩니다. $c^3$을 $a$로 치환하면 $y=ax$인 선형 함수로 돌아와 버립니다. 따라서 층을 구성하는 의미가 없게 되므로 반드시 비선형함수를 사용해야 합니다. 📈활성 함수의 종류 activation f..

Logistic Regression - 당뇨병예측

로지스틱 회귀를 활용해 피마 인디언 당뇨병을 예측해보려고 합니다. UCI Machine Learning에서 제공하는 피마 인디언 당뇨병 데이터를 갖고 Classfication 실습을 해보았습니다. https://archive.ics.uci.edu/ml/index.php 📌데이터 수집 및 전처리 코드는 Colab에서 작성하였고 Drive에 csv파일을 올려두었습니다. 필요한 라이브러리들을 모두 불러와줍니다. 데이터 처리를 위한 Pandas, Numpy 시각화 라이브러리 plotly 머신러닝 프레임워크인 sklearn 교차 검증을 위한 cross_val_score, KFold 평가를 위한 accuracy_score, precision_score, recall_score import pandas as pd i..

맥주 추천시스템 구현 - 8. 웹 배포하기(Pythonanywhere)

✅git repository 만들기 git repository를 생성합니다. 생성한 후 화면입니다. 파이참에서 작업한 디렉토리를 이 repository에 올리겠습니다. ✅github push하기 git에 올리려는 디렉토리에서 다음 순서로 명령어를 실행합니다. 주의할 점은 .gitinit 파일을 생성한 뒤, 올리지 말아야 할 파일들은 제외합니다. 이것을 언어나 환경에 맞게 자동으로 맞추어주는 사이트도 있습니다. https://www.toptal.com/developers/gitignore 위 사이트에서 나온 텍스트 내용을 .gitignore에 Copy & Paste합니다. 추가로 Django의 settings.py에서 Debug모드를 False로 바꾸고, ALLOWED_HOSTS = ['*']로 변경합니다..

맥주 추천시스템 구현 - 7. 웹 구현하기(Django)

🔨URL 설정하기 우선 프로젝트 폴더의 urls.py를 수정합니다. 현재 프로젝트 이름은 myproject입니다. ''로 경로가 없으면 beer 앱의 경로로 넘어갑니다. from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('', include('beer.urls')), ] 이번엔 beer 앱의 urls.py를 수정합니다. '' 경로로 접근 시 views.py의 index 함수를 실행합니다. ver1, ver2 역시 마찬가지로 views.py의 ver1, ver2 함수를 실행합니다. from django.urls import path fr..

맥주 추천시스템 구현 - 6. 웹 설정하기(Django)

🔨패키지 설치 및 환경설정 구현한 추천시스템을 웹으로 구현하고 배포까지 진행해보려고 합니다. 에디터는 Pycharm을 사용했고 Django로 구현할 예정입니다. New project 선택 후 새로운 프로젝트를 생성합니다. Django와 Pandas, scikit-learn 패키지를 가상환경에 설치합니다. 명령어를 터미널에서 실행합니다. pip install django pip install pandas pip install scikit-learn 그리고 새로운 프로젝트를 생성합니다. 프로젝트 이름은 myproject로 지었습니다. 디렉토리에 myproject 폴더가 추가되었습니다. 프로젝트를 처음 생성했으므로 다음 명령어로 database를 초기화 시켜주겠습니다. manage.py 파일을 사용하기 위해 ..

맥주 추천시스템 구현 - 5. CF 기반 추천시스템 구현

🔗아이템 기반 협업필터링(CF) 추천시스템 구현에 사용할 알고리즘은 아이템기반 CF입니다. 협업필터링(CF)은 최근접 이웃 협업필터링과 잠재 요인 협업필터링으로 나뉩니다. 그리고 최근접 이웃 협업필터링은 다시 유저 기반과 아이템 기반으로 나뉩니다. 그 중에서도 아이템 기반을 선택한 이유는 다음과 같습니다. 유저 개인의 취향이 너무 다양하다. 그에 반해 리뷰를 남기는 맥주 수는 한정적이다. 따라서 아이템 기반으로 추천하는 것이 적절하다고 판단했습니다. 🎇데이터 정제하기 수집한 맥주 데이터에는 리뷰가 1개인 맥주들이 있습니다. 리뷰를 남긴 유저들도 마찬가지입니다. 이는 추천시스템의 성능을 저하시킬 수 있으므로 최소 10개 이상의 리뷰를 가진 맥주와 유저들만으로 이루어진 데이터셋을 구성합니다. import p..

맥주 추천시스템 구현 - 4. 클러스터링

📊맥주별 클러스터링 시각화 이번엔 맥주 데이터를 5가지 평가 요소를 기준으로 클러스터링 해보았습니다. 향, 외관, 맛 등의 요소에 따라 서로 다른 군집들이 나타날 것 같았기 때문입니다. 우선 필요한 라이브러리들을 import하고 데이터도 불러오겠습니다. 시각화 라이브러리로는 📊plotly를 사용했습니다. import pandas as pd import numpy as np import plotly.express as px import plotly.graph_objects as go import plotly.io as po from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler, MinMaxScaler impor..

맥주 추천시스템 구현 - 2. 데이터 전처리

🍺리뷰 데이터 전처리 1. 여러 개의 파일 병합하기 우선 이전 포스팅에서 수집한 맥주별 csv 파일들을 하나로 합치겠습니다. import pandas as pd # 합친 데이터를 저장할 데이터프레임 data = pd.DataFrame(data=[], columns=['맥주정보', '검색이름', '맥주이름']) # 수집한 파일의 개수 files_cnt = 77 for i in range(files_cnt): # 해당 경로에서 beer_n_1.csv 형식의 파일들만 수집한 뒤 병합합니다. try : tmp = pd.read_csv(r'C:\Users\Ghyeon\beer_n_'+str(i)+'.csv', index_col=0) data = pd.concat([data,tmp]) # 오류 발생 시 넘어갑니다...

맥주 추천시스템 구현 - 1. 데이터 크롤링

🍺 리뷰 데이터 크롤링 💡 어떤 맥주를 수집할 것인가? 추천시스템 구현을 위한 리뷰 데이터를 먼저 수집하려고 합니다. 맥주 데이터를 크롤링 할 곳은 RateBeer라는 전 세계 맥주 리뷰 사이트입니다. BeerAdvocate와 함께 가장 큰 맥주 리뷰 사이트로 유명합니다. https://www.ratebeer.com 우선 필요한 라이브러리들을 가져오고, 수집할 맥주 목록을 정하도록 하겠습니다. import pandas as pd import numpy as np import time import re from selenium import webdriver from selenium.webdriver.chrome.options import Options 수집할 맥주는 국내 편의점에서 구매 가능한 맥주로 한정..

Django - 프로젝트 초기 설정

1. 프로젝트 생성 및 DB 생성 파이참 에디터로 장고 프로젝트를 시작해 보도록 하겠습니다. New Project를 선택 후 프로젝트를 생성합니다. 새로운 가상 환경 위에 프로젝트를 구성합니다. Click을 누르면 프로젝트를 구성합니다. 구성된 초기 파일들은 다음과 같습니다. Alt + F12를 누르면 아래에 다음과 같은 터미널 창이 나타납니다. 저는 윈도우 기준이므로 pip install django 명령어를 통해 설치하도록 하겠습니다. 저는 이미 설치가 되어 있습니다. 다음은 장고 프로젝트를 생성하겠습니다. 명령어는 django-admin startproject myproject .입니다. 저는 프로젝트 이름을 myproject로 하겠습니다. django-admin startproject 후 pyth..

Web/Django 2021.01.21