본문 바로가기

개발/Python&머신러닝12

[FastAPI] FastAPI (2) - PostgreSQL CRUD API 만들기 들어가며 지난 시간에 FastAPI 프로젝트를 구축하고 실행까지 진행했다. 이번에는 PostgreSQL DB를 연동하고 간단한 CRUD API를 만들 것이다. (FastAPI Document가 넘넘 잘 되어있어서 많이 참고했다!) API 동작 결과는 Postman 으로 확인한다. 패키지 설치 fastapi 에서는 orm으로 sqlalchemy 를 사용한다고 한다. (관련 패키지 설치) $ poetry add psycopg2 $ poetry add psycopg2-binary $ poetry add sqlalchemy 프로젝트 구조 core > db 폴더 추가 health ├── README.md ├── app │ ├── __init__.py │ ├── core │ │ ├── __init__.py │ │ .. 2021. 10. 10.
[FastAPI] FastAPI (1) - 설치 입사 과제할 때 맛보기로 사용해본 후 다시 공부하게 되었다. 들어가며 다른 FastAPI 설치 방법과는 다르게 manage-fastapi 사용했다. (출처는 아래) fastapi best structure 라는 키워드로 검색했을 때 제안해준 라이브러리이다. https://github.com/ycd/manage-fastapi GitHub - ycd/manage-fastapi: CLI tool for FastAPI. Generating new FastAPI projects & boilerplates made easy. :rocket: CLI tool for FastAPI. Generating new FastAPI projects & boilerplates made easy. - GitHub - ycd/man.. 2021. 9. 9.
Poetry 설치 및 사용방법 회사 업무에서 처음 접한 툴이다. 개발 환경을 깨꿈히 만들 수 있다. 넘나 간편하다. Poetry 공식 문서에서는 아래와 같이 정의한다. Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. 간단히 살펴보자. 설치 $ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python .zshrc 파일을 열어보면 poetry 경로가 자동으.. 2021. 8. 28.
Python read_excel 에러 ValueError: Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead. - 아래 코드 실행 $ pip install openpyxl 2021. 4. 2.
Diabetes-Linear-Regression github.com/yiho119/Diabetes-Linear-Regression yiho119/Diabetes-Linear-Regression Contribute to yiho119/Diabetes-Linear-Regression development by creating an account on GitHub. github.com Linear-Regression - 모든 데이터로부터 나타나는 오차의 평균을 최소화할 수 있는 최적의 기울기와 절편을 찾는 것 Polynomial-Regression Ridge Lasso 2021. 3. 7.
Iris-Classification Iris 품종 분류하기 github.com/yiho119/Iris-Classification yiho119/Iris-Classification Contribute to yiho119/Iris-Classification development by creating an account on GitHub. github.com Pipeline - scaler와 model이 적용된 파이프라인을 생성해봤다. - 새로운 방법론을 습득했다. 학교 다닐 때 이런 것을 왜 안해봤나 싶다. - 기존 프로젝트에도 적용해보고싶은 욕심이 생겼다. Random Search 2021. 3. 6.
머신러닝: 분류 모델 성능 측정 지표 Precision (정밀도) - 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율 - 정밀도의 값은 0에서 1까지의 값을 가지며 값이 클수록 정밀도가 높은 것을 의미함 Recall (재현율) : - 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율 - 재현율의 값은 0에서 1까지의 값을 가지며 값이 클수록 재현율이 높은 것을 의미함 Accuracy (정확도) - True-True뿐만 아니라 False-False라고 예측한 경우도 고려하는 지표 - 정확도의 값은 0에서 1까지의 값을 가지며 값이 클수록 정확도가 높은 것을 의미함 F1-score - Precision과 Recall의 조화평균 - F1-score의 값은 0에서 1까지의 값을 가지며 값이 클수록 F1-score가 높.. 2021. 3. 6.
Train(학습), Validation(검증), Test(테스트) 데이터, train_test_split 전체 데이터를 학습에 전부 사용하지 않고 나누어 사용하는 이유 - 학습 데이터를 사용해 생성한 모델의 정확도를 검증하기 위해 - 학습한 모델의 성능이 좋고 나쁨을 판단하기 어려움 - 전체 데이터를 사용했을 때 과적합의 문제가 발생할 수 있음 => 그렇기에 train 데이터와 test 데이터를 분류해서 학습 데이터로 모델을 생성하고, 테스트 데이터로 모델을 평가함 train_test_split를 사용한 train/test 데이터셋 분리 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # iris 데이터 laod X, y = load_iris(return_X_y=True) # X: 입력 데이터.. 2021. 3. 6.
머신러닝: 지도학습, 비지도학습, 강화학습 ▶ 지도학습 : 정형화된 데이터로 정답이 정해져 있는 데이터를 학습하는 것 ▶ 비지도학습 : 비정형화된 데이터로 데이터의 특성을 파악하는 것 ▶ 강화학습 : 스스로 학습하며 보상을 최대화하는 행동을 찾는 것 2021. 3. 6.
머신러닝(Machine Learning) 머신러닝(Machine Learning)이란? "머신러닝"은 인공지능(AI)의 한 분야로, 데이터 분석을 위한 모델 생성을 자동화 하여 소프트웨어가 데이터를 바탕으로 학습하고 패턴을 찾아낸다. 이를 통해 사람의 개입을 최소화 하고 빠르게 의사 결정을 내릴 수 있도록 지원한다. ▶ 도메인 지식이 있지 않아도 데이터의 특성을 학습하고 학습한 모델의 성능을 향상시키는 것 ▶ 일반적인 데이터에 대해서도 평균 이상의 성능을 나타낼 수 있는 것 ※ 대표적인 5가지의 task Classification label이 있는 데이터를 label에 맞게 잘 분류하기 위해 학습하는 일 Clustring label이 없거나 category가 무엇인지 알지 못하는 데이터를 군집별로 나누는 일 Regression 데이터의 특성에 .. 2021. 3. 6.