Python

    FastAPI 시작하기 + API 내에서 다른 API로 요청하는 방법

    FastAPI 시작하기 + API 내에서 다른 API로 요청하는 방법

    FastAPI FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크입니다. (FastAPI 공식 문서) 공식 문서에 따르면 FastAPI의 주요 특징으로는 빠름, 빠른 코드 작성, 적은 버그, 직관적, 쉬움, 짧음, 견고함, 표준 기반이 있는데, 공식 문서를 읽어보며 조금 사용해 본 입장에서 가장 매력적으로 느껴졌던 특징은 빠른 코드 작성과 쉬움이었다. 그리고 엄청 가벼웠다. 추가로, FastAPI는 비동기 방식으로 요청을 처리한다. Python은 파이썬 스크립트(웹 어플리케이션)가 웹 서버와 통신하기 위한 인터페이스인 WSGI(Web Server Gateway Interface)를 사용한다. 하지만 WSGI는 동기 방식..

    [파이토치로 배우는 자연어처리] 레스토랑 리뷰 감성 분류하기 - (3) 감성 분류 모델 만들기

    [파이토치로 배우는 자연어처리] 레스토랑 리뷰 감성 분류하기 - (3) 감성 분류 모델 만들기

    이 글은 한빛미디어의 '파이토치로 배우는 자연어처리' 글을 읽고 정리한 것입니다. 저번 포스트까지 텍스트 데이터를 정제하고, 단어-인덱스를 매핑하는 사전을 만들고, 사전을 바탕으로 리뷰 문장을 벡터화하는 과정을 마쳤다. 이번 포스트에서는 이렇게 가공해 둔 문장을 가지고 모델을 만들어 학습시키고 성능을 측정해 보도록 하겠다. GitHub - mori8/NLP-Pytorch-practice: PyTorch Zero To All(by Sung Kim) 강의와 '파이토치로 배우는 자연어 처리' 책 PyTorch Zero To All(by Sung Kim) 강의와 '파이토치로 배우는 자연어 처리' 책을 읽고 정리하기 위한 저장소 - GitHub - mori8/NLP-Pytorch-practice: PyTorch ..

    [파이토치로 배우는 자연어처리] 레스토랑 리뷰 감성 분류하기 - (1)데이터 전처리

    이 글은 한빛미디어의 '파이토치로 배우는 자연어처리' 글을 읽고 정리한 것입니다. 퍼셉트론과 지도 학습 훈련 방법을 사용해 옐프(Yelp) 의 레스토랑 리뷰가 긍정적인지 부정적인지 분류하는 작업을 해보자. 데이터를 로드하고 전처리하는 전체 코드는 여기서 확인할 수 있다. Dataset: 옐프 리뷰 데이터셋 이 실습에서는 2015년에 옐프가 주최한 레스토랑 등급 예측 대회에서 사용되었던 레스토랑 리뷰 데이터를 간소화한 뒤 훈련 샘플과 테스트 샘플로 분류해 둔 데이터셋 중 10%를 사용한다. 전체 데이터셋 중 일부만 사용하는 이유는 크게 2가지가 있다. 작은 데이터셋을 사용하면 훈련-테스트 반복이 빠르게 이루어져 실험 속도를 높일 수 있다. 전체 데이터를 사용할 때보다 모델의 정확도가 낮다. 낮은 정확도는 ..

    [kaggle courses] Pandas - Renaming and Combining

    [kaggle courses] Pandas - Renaming and Combining

    https://www.kaggle.com/residentmario/renaming-and-combining 이름 바꾸기 - rename, rename_axis rename()은 인덱스나 열의 이름을 바꿀 때 사용한다. 아래의 예제처럼 dictionary 안에 key 값은 기존 이름, value 값은 바꾸고자 하는 이름을 넣어 columns 파라미터에 할당하면 된다. rename()은 다양한 방법의 입력 포맷을 지원하지만, 보통 dictionary를 사용하는 게 가장 편하다. reviews.rename(columns={'points':'score'}) 인덱스 이름을 바꾸는 방법은 열 이름을 바꾸는 방법처럼 dictionary에 기존 이름과 바꾸고자 하는 이름의 쌍을 만든 뒤 index 파라미터에 할당하면 ..

    [kaggle courses] Pandas - Data Types and Missing Values

    [kaggle courses] Pandas - Data Types and Missing Values

    https://www.kaggle.com/residentmario/data-types-and-missing-values Dtypes - dtype, dtypes, astype DataFrame이나 Series의 각 column의 데이터 타입을 가리켜 dtype이라고 부른다. 특정 column의 타입을 가져오기 위해 dtype 속성을 사용할 수 있다. 예를 들어, reviews DataFrame의 price 열의 데이터 타입을 알고 싶다면, 아래와 같이 작성하면 된다. reviews.price.dtype # output: dtype('float64') DataFrame 전체 columns의 데이터 타입 또한 알 수 있다. reviews의 dtypes 속성을 찍어보면, DataFrame의 각 column의 ..

    [kaggle courses] Pandas - Grouping and Sorting

    [kaggle courses] Pandas - Grouping and Sorting

    https://www.kaggle.com/residentmario/grouping-and-sorting 그룹별 분석 - groupby, agg groupby()로 같은 값끼리 하나의 인덱스로 묶을 수 있다. reviews.groupby('points').points.count() points 80 397 81 692 ... 99 33 100 19 Name: points, Length: 21, dtype: int64 groupby()로 같은 포인트 값을 갖는 와인 리뷰끼리 그룹을 생성한 뒤, points column으로 묶고 count()로 각 그룹별 빈도수를 체크했다. 위 결과는 value_counts()와 동일한 결과이기도 하다. groupby()는 기준에 따라 같은 값을 갖는 레코드끼리 DataFra..

    [kaggle courses] Pandas - Summary Functions and Maps

    [kaggle courses] Pandas - Summary Functions and Maps

    https://www.kaggle.com/residentmario/summary-functions-and-maps 0. 데이터의 개요 알아보기 Pandas는 데이터를 재구조화하여 보여주는 간단한 개요 함수들을 제공한다. describe() 메서드같은 경우는 주어진 열에 대해 높은 수준의 정보를 제공한다. describe()는 데이터의 타입마다 각기 다른 식의 개요를 보여준다. 여기서 사용하는 예시 DataFrame인 reviews는 아래와 같다. reviews.points.describe() count 129971.000000 mean 88.447138 ... 75% 91.000000 max 100.000000 Name: points, Length: 8, dtype: float64 위의 결과는 데이터 타..