목록수학 (24)
jm_p_op
1. 데이터(D)를 n차원에 펼쳐둔다2. 확인하는 데이터(d) 와 가장 가까운 데이터부터 k번 데이터까지 확인한다.3.그중 다수결의 원칙으로 결정한다.knn.train(D)result=knn(d,k=k) k=1이면 가장 가까운 데이터를 확인해준다.데이터를 모두 사용함으로, 학습시킬수록 사용메모리가 커진다.

p의 확률을 n번 실행될때 x번 실행될 확률(f)은 이항분호를 따른다. 기댓값 : np 분산 : np(1-p) f(x) = f(x) = factorial(n) * p^x * (1-p)^(n-x) / factorial(x)factorial (x-k) 이항분포의 n을 극한으로 보낸다면 포아송 분포를 따른다 p의 확률을 n번 실행될때 평균적으로 x번 실행될 확률(f)은 포아송분포를 따른다. 기댓값 : λ=np 분산 : λ=np f(x) = λ^x * e^(- λ ) / factorial(x) λ가 충분히 크다면 정규분포를 따름 기댓값 : μ = np 분산: λ = σ^2 f(x)=e^(-(x- μ )^2 / 2 σ ^2) / σ route(2*pie)
문득 list에 요소를 더할땐 append 쓰면서 list끼리 합칠땐 + 연산자를 사용한다. +연산자는 새로운 list를 제작함으로 시간복잡도가 늘어난다. a=[1,2] b=[3,4] a.extend(b) print(a) #[1,2,3,4] 왠만하면 extend쓰자;;;;;
코테중 함수명이 기억 안난다면 직접 만들어 써야 하니 연습(실제 코드 짤땐, 검색으로 찾아서 쓰면된다....) def itertool(selection:list,lim:int,count=1,not_select=0) -> list: #미선택포함 if count>lim: output=[[]] else: output=[] #선택만 output=[[]] if lim>=count: for i in range(not_select,len(selection)): type=i+1 # 비독립 type=i # 중복제거 type=0 # 독립 for case in itertool(selection,lim,count=count+1,not_select=type): output.append([i]+case) return output..
https://www.acmicpc.net/problem/14502 지도를 어떻게 저장할것인가? =>dictionary : key=tuple dictionaty.copy()를 사용하여 값 변동시 원래값 남도록 함 all_case() : 막는 모든 경우의 수 : 중복 없이 3번으로 한정되어있어 재귀형식을 안씀=> 코테니까 빠르게 풀자 palce_value() : 바이러스가 퍼질 공간과 아닌 공간 찾기 확인할 공간(_maps)이 없어질때까지 pop함, place는 확인한 공간갯수, not_va을 통하여 바이러스 퍼지면 0을 만들고 곱해서 확인할 갯수 체크 import sys def places_value(maps): answer=0 _maps=maps.copy() while _maps: start,value..

[a,b]구간 안에서 특정조건(최대,최소,등등)을 찾기 위해 중간에 임의의 지점(pivot)을 확인하여 범위를 줄이는 작업 이때 피봇하는 양을 최대한 줄이는것이 핵심이다. f'(x)>0이고 f(x)>=m을 만족하는 x를 찾는다고 할때, 탐색 구간의 중간을 기점으로 m이 존재하는 공간을 탐색해 간다면, m에 가까워 질것이다. (이때 오차 범위를 dx,dy, 등등 여러가지 방법으로 잡을수 있다.) 아래로 볼록 형식에서 최소값을 찾기 위하여, [a,b,c1,c2]의 값을 구한후, a,b중 가장 큰것을 제거하고 새로운 c를 추가 하는 방식으로 범위를 좁히는 방식 자르는 구간이 랜덤하다면, 결국 목적지까지 피봇되는 횟수가 운에 따라 엄청 많아질것이다. 첫 피봇팅 후, 다음 피봇을 할때 전의 데이터를 유지한다면 비..

시작점에서 목표지점까지 최단경로를 찾는 알고리즘이다. 짧게 걸리는 것부터 찾아가며 목표지점까지 가는 알고리즘 장점 : 최단경로보다 더 걸리는 공간들은 계산들을 줄일수가 있다. 확인할 리스트에서 가장 가까이 있는것 찾기(초기는 하나만 있음으로 상관 없음) 가장 가까이 있는것에서 다음 이동 경로 리스트를 추가 1~2 반복 확인 지역에 목표지점이 있고, 검색지역이 그 값보다 클때 반복을 멈춘다 위와 같이 계속 돌리면 된다. 허나 이떄 조심해야되는것이 만약 C1=>C2 에서 0.2초가 걸린다고 하자 이땐 C2의 값을 2.2로 수정이 필요하다. 검색지역을 추가할때 정렬된 형식이 아니라면, 매번 최소값을 찾기위해 리스트를 완전 탐색해줘야한다. 이를 줄이기 위하여 정렬된 상태로 만들고, 추가되는 값을 정렬된 공간사이..

과거 프로젝트를 보았을때 데이터를 때려 넣어서 분석을 진행하였다. 초기 목적이 주거 지구와 성업 지구가 구별되는 뚜렷한 경향성이 였지만, 지금 통계 데이터를 보니 많은 것들을 놓치고 있었다. 뚜렷한 차이가 없다는것은 역으로 말하자면 비슷한 경향을 가지고 있다는것이고, 4지역중에서 강북구 외로는 3지역이 비슷한 상황을 가지고 있다. 가해운전자 연령 cctv 유무 cctv 유무에 대한 데이터 넣고 왜 안쓴거야...., 수집했던 데이터가 아까웠나......, 또한 가해 운전자 연령 분포를 보면 나이별 비율이 비슷함을 알수가 있다. 만약 나이별 운전자수를 알수 있다면 비율적으로 어디가 높은지또한 알수 있었을것이다. 거의 4년 (공익 -2년) 된 과제지만 이력서를 쓰면서 부족했던 내자신을 되돌아 본다.