전체 글 62

03. FastAPI - Request Body(JSON), Form(HTML) 처리

FastAPI - Request Body, Form 처리클라이언트로부터 데이터를 받을 때는 전송 방식에 따라 Request Body(JSON) 또는 Form(FormData) 타입으로 적절히 처리해야 한다.일반적으로 간단한 데이터는 URL 쿼리 파라미터(Query Parameters)를 통해 전달할 수 있지만,텍스트 길이 제한(브라우저/서버의 URL 길이 제한)으로 인해 많은 양의 데이터를 전송하려면Request Body 또는 Form을 통해 요청해야 한다.이때 전송 방식에 따라 HTTP 요청의 Content-Type이 다르게 설정된다.Request Body → Content-Type: application/jsonForm → Content-Type: application/x-www-form-urlenc..

02. FastAPI - Request Parameter

02. FastAPI - Request Parameter1️⃣ Path Parameterpath에 정보를 담아서 Request로 전달✅ 예시 코드from fastapi import FastAPIfrom typing import Optionalapp = FastAPI()@app.get("/products/{product_id}")async def get_product(product_id: int): return {"product_id": product_id}요청: http://localhost:8081/products/3/products/까지가 path, 이후 숫자 3이 parameter로 전달됨product_id가 int형으로 선언되어 있어 문자열 전달 시 에러 발생ex) http://localho..

01. FastAPI - 시작하기

FastAPI 시작하기1️⃣ 가상 환경 만들기 (conda)먼저 FastAPI를 설치할 가상환경을 만들어 주자.Anaconda Prompt를 열고 아래 명령어 입력:conda create -n fastapi python=3.10Proceed ([y]/n)? 나오면 y 입력 가상환경이 'FastAPI'라는 이름으로 생성되었고, 아래 명령어로 진입:conda activate fastapi2️⃣ FastAPI 설치가상환경에 진입했다면 아래 명령어로 FastAPI를 설치:pip install fastapi 특정 버전으로 설치하고 싶다면 아래처럼 입력:pip install fastapi==0.111.13️⃣ FastAPI 실행main.py 파일을 만들어 아래와 같이 작성:# FastAPI importfrom fa..

추천 알고리즘 - TF-IDF, CountVectorizer 활용한 코사인 유사도 기반 텍스트 분석

본 자료는 다음 링크의 내용을 참고하였습니다.Reference : https://www.kaggle.com/code/ibtesama/getting-started-with-a-movie-recommendation-system영화 추천 시스템Demographic Filtering (인구통계학적 필터링)Content Based Filtering (컨텐츠 기반 필터링)Collaborative Filtering (협업 필터링)1. Demographic Filtering (인구통계학적 필터링)import pandas as pdimport numpy as np# 영화 data 로드df1 = pd.read_csv('../data/tmdb_5000_credits.csv')df2 = pd.read_csv('../data/..

05. (비지도학습)_K-Means

5. K-Means군집화, 유사한 특징을 가지는 데이터들을 그룹화데이터를 K개의 클러스터(그룹)로 군집화하는 알고리즘,각 데이터로부터 이들의 속한 클러스터의 중심점(Centroid)까지의 평균 거리를 계산import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('../data/KMeansData.csv')dataset.head() hourscore07.337313.715523.435533.068943.3379비지도 학습이기 때문에 y 값 없이 X만 가져옴X = dataset.iloc[:, :].values# X = dataset.values# X = dataset.to_numpy() # 공식 홈페이지 ..

04. (지도학습)_Logistic Regression(로지스틱 회귀)

4. Logistic Regression(로지스틱 회귀)공부 시간에 따른 자격증 시험 합격 가능성주어진 데이터를 정해진 범주 (category) 에 따라 분류, 예측 결과가 숫자가 아닐 때선형 회귀 방식을 분류에 적용한 알고리즘,데이터가 어떤 범주에 속할 확률을 0 ~ 1 사이의 값으로 예측더 높은 범주에 속하는 쪽으로 분류범주 : True/False, Yes/No, 합격/불합격import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('../data/LogisticRegressionData.csv')dataset.head() hourpass00.5011.2021.8032.4042.60X = datase..

03. (지도학습)_Polynomial Regression(다항 회귀)

3. Polynomial Regression(다항 회귀)공부 시간에 따른 시험 점수 (우등생)import numpy as npimport matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('../data/PolynomialRegressionData.csv')dataset.head() hourscore00.2210.5420.8630.9441.26X = dataset.iloc[:, :-1].values # 공부시간 컬럼 데이터y = dataset.iloc[:, -1].values # 점수 컬럼 데이터X, y(array([[0.2], [0.5], [0.8], [0.9], [1.2], ..

01. (지도학습)_Linear Regression(선형 회귀)

1. Linear Regression(선형 회귀)공부 시간에 따른 시험 점수import matplotlib.pyplot as pltimport pandas as pddataset = pd.read_csv('../data/LinearRegressionData.csv') # 데이터 로드dataset.head() # 상위 5개 데이터 확인 hourscore00.51011.2821.81432.42642.622X = dataset.iloc[:, :-1].values # 처음부터 마지막 컬럼 직전까지의 데이터 (독립 변수 - 원인)y = dataset.iloc[:, -1].values # 마지막 컬럼 데이터 (종속 변수 - 결과)X, y(array([[ 0.5], [ 1.2], [ 1.8]..

플로이드 워셜 알고리즘 - 미래 도시

미래 도시 (Python)📝 문제 설명미래 도시에는 1번부터 N번까지의 회사가 있는데 특정 회사끼리는 서로 도로를 통해 연결되어 있다.방문 판매원 A는 현재 1번 회사에 위치해 있으며, X번 회사에 방문해 물건을 판매하고자 한다.미래 도시에서 특정 회사에 도착하기 위한 방법은 회사끼리 연결되어 있는 도로를 이용하는 방법이 유일하다.또한 연결된 2개의 회사는 양방향으로 이동할 수 있다. 공중 미래 도시에서 특정 회사와다른 회사가 도로로 연결되어 있다면, 정확히 1만큼의 시간으로 이동할 수 있다.또한 오늘 방문 판매원 A는 기대하던 소개팅에도 참석하고자 한다.소개팅의 상대는 K번 회사에 존재한다. 방문 판매원 A는 X번 회사에 가서 물건을 판매하기 전에 먼저소개팅 상대의 회사에 찾아가서 함께 커피를 마실 ..