분류 전체보기 (126) 썸네일형 리스트형 시계열 분석 - 0. 기본 정의 및 전제, 용어 정리 등 시계열 자료는 시간의 순서대로 관측된 데이터의 계열을 의미한다. 예시로 주식가격, 일일 평균기온 등을 들 수 있다.시계열 분석의 목적은 관측된 시계열 자료를 이용하여 미래를 예측하는 데 있다.시계열 모형 학습을 위한 전제조건은 관측치의 분포(평균, 분산 등)가 시간에 따라 변하지 않고 일정해야 한다. 이를 만족하는 데이터를 정상성(stationary) 시계열 데이터 라고 한다.시계열의 구성요소는 다음과 같다.level: 일정 시간 구간에서의 시계열의 평균trend: 시계열의 전반적인 증가 및 감소 추세seasonality: 시계열의 반복 주기noise: 설명 가능한 noise와 설명 불가능한 noise (white noise: 평균이 0인 i.i.d한 확률변수) 로 구성.level, trend, seas.. (Python) 백준 2583 - 영역 구하기 https://www.acmicpc.net/problem/2583 아이디어가로, 세로의 길이가 각각 m,n이고 원소가 0인 배열을 생성한 후, 입력받은 범위의 값을 -1로 변환배열의 0인 원소들을 특정 값으로 변환한 후 탐색을 시행, 인접 칸이 0일 시 같은 값으로 변환변환한 횟수를 별도의 배열에 저장한 후, 정렬하여 출력 코드import sysinput = sys.stdin.readlinem,n,k = map(int,input().split())a = [[0]*n for _ in range(m)]for _ in range(k): x1,y1,x2,y2 = map(int,input().split()) for i in range(y1,y2): a[i][x1:x2]=[-1]*(x2-x1)dy,dx=[1,-1.. (Python) 백준 13305 - 주유소 https://www.acmicpc.net/problem/13305 아이디어가격 배열을 순회하면서 해당 가격이 가장 저렴한 구간을 구한다.기름 가격과 가격이 가장 저렴한 구간의 곱을 합한다. 코드total = int(input())dist, cost = [[*map(int,input().split())] for _ in range(2)]selected = [0]*(total-1)min_cost = cost[0]argmin = 0for i in range(total-1): if min_cost > cost[i]: min_cost = cost[i] argmin = i selected[argmin] += dist[i] print(sum([x*y for x,y in zip(cost, selected)])) 프로젝트 회고 - 3. EDA 회귀 모델링에 앞서 탐사적 데이터 분석을 시행하였다. 이 파트는 팀원 별로 파트를 분담해서 진행하였던 관계로, 이 포스트에서는 내가 맡았던 부분 위주로 서술하기로 한다. 거래 데이터 거래량 거래량이 매우 적은 시기가 존재한다. 장기간 거래가 발생하지 않은 아파트를 어떻게 처리할 지 고민할 필요가 있다. 단위면적 당 거래금액 전용면적을 구간화하긴 했으나, 같은 구간 내에 면적 간 차이가 있는 만큼, 가격을 그대로 사용하기 보다는 단위면적 당 거래금액을 사용하는 것이 조금 더 타당하다고 생각했다. 17년도 3분기 부터 계속 가격이 증가하다가 거래량이 급감한 21년 4분기 부터 상승세가 멈춘 걸 확인할 수 있었다. 서울 및 서울 근교의 아파트 가격이 다른 지역에 비해 눈에 띄게 높다 결측치, 연속 결측치 데이.. 프로젝트 회고 - 2. 데이터 수집 및 전처리 (2) 앞서 말했듯이, 아파트 거래 데이터 및 네이버 아파트 단지 정보 만으로 아파트 가격을 설명하기에는 부족하다고 생각하였다. 같은 건설사, 같은 전용면적, 같은 방 및 욕실 개수, 비슷한 세대수 및 주차대수 등을 가지고도 지역에 따라 아파트 가격이 천차만별이기 때문이다. 아파트 가격을 설명하기 위해서는 지역 이라는 변수를 절대 무시할 수가 없다. 그렇다고 지역 자체를 변수로 쓰는 건 고려하지 않았다. 그 이유는 어느 지역의 아파트가 비싼지는 굳이 분석을 하지 않아도 이미 잘 알려져 있으며, 프로젝트의 목적은 어느 특정 지역의 아파트 가격이 비싸고 싼 지가 아니라, 어떤 특성을 가지고 있는 지역의 아파트 가격이 비싸거나 싼 지를 밝히는 것에 가깝기 때문이다. 따라서, 지역 자체를 변수로 활용하는 것이 아닌, .. 프로젝트 회고 - 1. 데이터 수집 및 전처리 (1) 분석을 위한 데이터 수집을 하기 위해 어떤 정보가 있어야 하는지 고민해보니, 크게 2가지 데이터가 필요했다. 1. 거래 정보: 어떤 아파트가 언제, 얼마에 거래되었는지 2. 아파트 정보 : 아파트가 어떤 특성을 가지고 있는지 거래 정보 데이터 수집 거래 정보는 공공데이터포털 (https://www.data.go.kr/data/15057511/openapi.do) 에서 구할 수 있었다. 기간(월 단위) 및 지역 코드 별로 조회가 가능하며, 하루 API 요청 횟수는 1,000건이다. 대한민국에 존재하는 지역 코드는 총 458개이며, 분석 대상 기간은 총 75개월이므로, 약 34,000 이상의 API 요청이 필요했다. 팀원 별로 아이디를 5개 이상 생성해서 진행하여 시간을 줄일 수 있었다. 데이터 구성 데이터.. 프로젝트 회고 - 0. 주제 선정 및 문제 정의 약 2달여 간의 프로젝트가 저번 주를 마지막으로 끝났다. 짧지 않은 기간이었기도 했고, 주어진 발표 시간이 짧다 보니 못다한 이야기들도 많은 만큼, 추가적으로 정리할 만한 사항이 많았던것 같아 그 동안의 진행사항을 남겨보면 좋을 것 같다는 생각이 들었다. 주제 주제: LLM과 회귀모형을 이용한 부동산 전문 챗봇 제작 설명: 아파트 단지 정보 및 거래 정보를 독립변수, 가격을 종속변수로 한 회귀모형을 제작하여, 어떤 요소들이 아파트 가격에 영향을 미치는지 파악, 이 정보를 LLM에 입력하여 부동산 시장을 설명할 수 있는 챗봇을 제작 기간: 23.11.2 ~ 24.1.11 (10주) 인원: 3명 목표 챗봇이 어떤 걸 설명하게 하는 것이 목표인지 설정할 필요가 있었다. 사실, 사람들이 가장 부동산에 관심있어 .. 그래프 이론 - 4. 이분 그래프 정의 그래프의 정점의 집합을 둘로 분할하여, 각 집합에 속한 정점끼리는 서로 인접하지 않도록 분할할 수 있을 때, 그러한 그래프를 특별히 이분 그래프 (Bipartite Graph) 라 부른다. 판정 그래프의 정점들을 BFS 혹은 DFS로 탐색하면서 판단할 수 있다. 1. 방문하지 않은 정점을 찾는다. 2. 방문하지 않은 정점의 방문여부는 1로 체크한 후, 탐색을 시작한다. 인접한 정점의 방문여부를 체크한다. 인접 정점의 방문여부가 현재 정점의 방문여부와 같을 시, 해당 그래프는 이분그래프가 아니므로 시행을 종료한다. 해당 정점을 방문하지 않았을 시, 현재 정점의 방문여부에 -1을 곱한 값으로 체크한다. 3. 만약 모든 정점의 순회가 중단되지 않았다면 해당 그래프는 이분그래프 이다. 코드 https://.. (Python) 프로그래머스 - 단어 변환 아이디어 단어들 간 겹치는 글자가 단어의 길이-1 일 시, 해당 단어들은 인접한다고 정의 인접 리스트(해당 문제에서는 dictionary)를 생성한 후, BFS를 시행 코드 from collections import deque def solution(s, t, w): w+=[s] g={i:[] for i in w} v={i:0 for i in w+[t]} n,m=len(w),len(s) for i in range(n): for j in range(i,n): if sum([x==y for x,y, in zip(w[i], w[j])])==m-1: g[w[i]]+=[w[j]] g[w[j]]+=[w[i]] q=deque([s]) v[s] = 1 while q: c=q.popleft() if c==t:return.. (SQL) 프로그래머스 - 헤비 유저가 소유한 장소 https://school.programmers.co.kr/learn/courses/30/lessons/77487 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 Nested query 를 이용해 2번 이상 등장한 HOST_ID를 찾아낸다 코드 MySQL, Oracle SELECT ID, NAME, HOST_ID FROM PLACES WHERE HOST_ID IN (SELECT HOST_ID FROM PLACES GROUP BY HOST_ID HAVING COUNT(HOST_ID)>1) ORDER BY ID; 이전 1 2 3 4 ··· 13 다음 목록 더보기