전체 글 168

[백준 11723번] 집합 (C++/ Python)

흠.. 맨처음에 봤을 때 그냥 map에 넣고빼고 하는건가..? 해서 C++로는 map으로 풀고 나서 알고리즘 분류가 비트마스킹이길레 python은 비트 배열로만 했다. C++ 풀이 #include using namespace std; map m; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int M; cin >> M; for(int i = 0 ; i> cmd; if( cmd == "all" || cmd =="empty"){ if(cmd == "all"){ for(int i = 1; i> tmp; if(cmd == "add"){ if(m.find(tmp) == m.end()..

[PART 3] Ch 02. Pytorch로 선형회귀 모델 만들기

requires_grad= True로 줌으로써 이 변수는 나중에 편미분을 해야한다고 알려줌. 이게 뭐해준걸까 ? 1개의 연산을 한번에 진행한 것이다. torch.ones(3,10)으로 바꾸면 [[1,1,1,1,1,1,1,1,1,1]*3개]가 되는것이고, 각각의 row에 대해서 Wx+b를 수행해서 10+5가 3개 만들어진다. 즉, 각각의 row를 data라고 할 때, 3번의 연산을 한번에 수행한 것이다. 여기에서 view함수는 reshape함수와 비슷하다. 즉, view(-1,1)은 데이터가 얼마나 들어올진 모르겠지만 (1,100)이던 뭐던, 잘 모르겠고 벡터화 좀 시켜줘라 (1,15) => (15,1) float()을 해주는 이유는 numpy에서는 float64를 이용하는데, torch에서는 float3..

[Jupyter Notebook] 커널 추가하기

가상환경을 만들었고, 필요한 패키지를 해당 가상환경에 설치했다. 이를 주피터 노트북에서 그 가상환경대로 사용하고 싶다면 커널을 적용해줘야하는데, 이는 따로 설정이 필요하다. 간단하다 보자. 1. conda activate [해당가상환경] : 일단 가상환경을 활성화 시켜주고 2. pip install ipykernel : ipykernel 패키지를 설치해 준 후에 3. python -m ipykernel install --user --name [가상환경이름] --display-name "[주피터에 보여질 이름]" ex) python -m ipykernel install --user --name RL101 --display-name "RLAtoZ" :해당 가상환경을 ipykernel로 설치해줄거다. 4. 커..

Pandas로 하는 시계열 데이터분석 (2) [TimeZone, Visualize]

TimeZone localize로 설정한 것과 replace로 tzinfo를 바꾼것에서 시간차이가 나니 localize를 써서 바꾸자. 그 시간에 맞게끔 timezone 을 바꾸면서 datetime도 같이 조정해 주고싶다면 .astimezone으로 바꾸면 된다. 둘이 2018-12-31 15:00 과 2019-1-1 00:00 이 같다고 나옴. timezone이 다른것을 보정해서 bool 연산을 해준다.(신기하네) 최근 금요일을 구하는데, timedelta로 더하는게 위와같은 오류(주석)를 없애준다. DataFrame의 시각화 Apple 주식의 Volume과 Adj Close를 가져와서 그려보면 둘간의 scale차이떄문에 Adj Close가 Constant처럼 보인다. 하지만 분명히 변동성을 가지고있음...

[PART 03] CH02. 심층 신경망을 활용한 함수근사(선형근사)

"선형" 가정이 타당한가 ? 가치함수 V나 행동가치함수 Q를 주어진 데이터로부터 함수근사를 이용해서 잘 추산할 수 있을까?가 목적인데 선형으로 가정하고 근사하는게 타당할까 ? 모델에 어떠한 가정도 하지 않고 순수하게 데이터로부터 함수를 배우는 방법이 존재하는가? 심층신경망 Tree, Random Forest모델도 데이터로부터 함수를 배울 수 있다. 그러나 함수근사기법에서 심층 신경망 만큼 잘 배우는 것은 없다고 봐도 무방하다. 심층 신경망 종류 다층 퍼셉트론 모델(Multilayer Perceptron : MLP) MLP의 "Forward" 계산과정 선형과 비선형 operator의 합성함수라고 생각 σ : identity 비선형 모델링도 할 수 있음. 활성함수(Activation function) ReL..

Pandas로 하는 시계열 데이터분석 (1)

시계열데이터에 관심이 생겨서 보게됐다. 시계열 데이터는 시간 데이터를 인덱스로 하는 연속된 데이터 보통 시간이 String으로 되어있을 경우가 많은데 DateTime 인덱스로 처리하는게 더 강력하다. Time Resampling 자신에게 필요한 시간단위로 Resampling 하는것. groupby로 Resampling할 수도 있지만 Time Resampling이 더 유용하다. Time Shifting 데이터를 임의 시간마니큼 앞, 뒤로 이동시킬 수 있음 Rolling and Expanding 데이터에 노이즈가 포함될 수 있음. (데이터가 빠지거나 / 중복되거나 / outlier거나 등등) 이럴경우 데이터의 트렌드를 구하기 위해서 뭉뚱그려 smoothing하는 경우가 있는데 rolling mean을 사용함..

[백준 11279번] 최대 힙

11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net C++ 풀이 C++에선 priority_queue로 최대힙을 지원하니 사용하면 된다. #include using namespace std; priority_queue pq; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; for (int i = 0 ; i> tmp; if(tmp ==0) { if(!pq.emp..

[백준 9095번] 1,2,3 더하기 (C++ / Python)

아이디어는 간단하다. n이 1~10까지 밖에 안되니 n이 10일때 3^10(59049)정도의 연산을 하기때문에 완전탐색으로 풀이가 가능하다. 그러므로 dfs를 통해 모든 경우의 수를 따져보면서 합이 target n보다 커지면 return해버리고 같아지면 count를 1증가시킨다. C++ 풀이 #include using namespace std; vector v; int N, target; int cnt; void dfs(int sum) { if(sum ==target){ cnt +=1; return; } else if (sum > target) return; //sum을 1,2,3씩 증가시켜본다. dfs(sum+1); dfs(sum+2); dfs(sum+3); } int main(void) { ios::..

[Pandas]read_csv UnicodeDecodeError

대략 아래와같이 문제가 발생했다. UnicodeDecodeError가 떴었고, 아래 블로그에서 encoding = 'CP949' 를 추가하래서 해결했다. train_info = pd.read_csv('./open_data/train.csv',encoding = 'CP949') [파이썬] read_csv 사용 시 'UnicodeDecodeError' 인코딩 오류 대처하기 파이썬으로 어느 CSV 파일을 불러오는 중인 어느 날...​요렇게 평상시처럼 파일을 읽어들이는데...df_t... blog.naver.com