yoongrammer
목차 다음 순열(next permutation) 알고리즘 next permutation 은 현재 순열보다 큰 다음 순열을 찾는 알고리즘입니다. [1, 2, 3]이 최초 숫자 배열로 주어진 경우 사전순으로 배열된 모든 가능한 순열은 아래와 같습니다. 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 [1, 2, 3] = 다음으로 큰 순열은 [1, 3, 2]입니다. [1, 3, 2] = 다음으로 큰 순열은 [2, 1, 3]입니다. ... [3, 2, 1] = 가장 큰 순열이기 때문에 다음으로 큰 순열은 없습니다. 동작 방식 다음 순열을 얻으려면 피벗 포인트(Pivot Point)를 사용합니다. 피벗 포인트는 교환, 분할 등의 작업을 수행하기 위한 기준이 되는 위치나 값입니다. next perm..
목차 머신 러닝으로 시계열(Time Series) 데이터 예측하기 머신 러닝은 시계열 데이터를 예측하는데 자주 사용됩니다. 시계열(Time Series)란? Time series(시계열)란 일정 시간 간격으로 측정된 데이터의 시퀀스를 말합니다. 시간은 보통 초, 분, 시간, 일, 주, 월, 분기, 연도 등의 단위로 표현되며, 주식 가격, 기온, 수익률, 판매량, 웹 사이트 트래픽 등과 같은 많은 현실 세계의 데이터가 시계열로 표현됩니다. 다음은 책 판매량에 대한 시계열 데이터입니다. book_sales.head() plt.plot(book_sales) plt.ylabel('Book') plt.xlabel('Date') plt.title('Time Plot of Book Sales') Linear Regr..
목차 판다스(Pandas) 데이터 선택하기 (Selection) Pandas는 DataFrame 또는 Series 개체의 특정 부분을 검색하고 조작할 수 있는 다양한 데이터 선택 방법을 제공합니다. select를 설명하기 위해 사용하는 DataFrame은 다음과 같습니다. Selecting Columns DataFrame에서 열의 하위 집합을 선택하려면 다음 구문을 사용해야 합니다. df[column_list] column_list: 선택하려는 열 이름의 목록 다음은 A행을 가져오는 예입니다. df['A'] # output 2023-02-18 0.509482 2023-02-19 0.966399 2023-02-20 0.857979 2023-02-21 0.701611 2023-02-22 0.102038 20..
목차 판다스(Pandas) 데이터 구조 알아보기 판다스(Pandas)는 python으로 만들어진 데이터 처리 및 분석을 위한 라이브러리입니다. 판다스 데이터 구조를 알아보기 위해선 아래와 같이 모듈을 import 합니다. import pandas as pd import numpy as np 데이터 구조 Pandas에서 데이터를 저장하기 위한 객체로 DataFrame과 Series가 있습니다. DataFrame Pandas에서는 데이터 테이블을 DataFrame이라고 합니다. DataFrame은 column label과 row label(=index)를 가지고 있는 2차원 배열 구조입니다. 열에는 다양한 유형의 데이터(문자, 정수, 부동 소수점, 범주형 데이터 등)를 저장할 수 있습니다. DataFrame..
목차 Lower bound & Upper bound 개념 및 구현 Lower bound와 Upper bound는 경곗값을 찾는 알고리즘입니다. Lower bound와 Upper bound는 이진 탐색을 기반으로 하기 때문에 데이터가 정렬되어 있어야 합니다. 이진 탐색을 기반으로 하기 때문에 두 알고리즘의 시간 복잡도는 O(log n) 입니다. (n: 배열 길이) Lower bound Lower bound는 특정 값의 시작 위치를 찾는 알고리즘입니다. 동작 방식 Lower bound의 동작 방식은 다음과 같습니다. 초기에 left는 배열의 시작 위치로 right는 배열의 길이로 셋팅합니다. 배열의 중간 값(mid)을 가져옵니다. 중간 값과 검색 값을 비교합니다. 중간 값이 검색 값보다 작다면 left 값을..