본문 바로가기

분류 전체보기

(108)
[Python Data Manipulation] Pandas 사용법 캐글 미니코스에서 판다스를 공부해보았다 UCI 데이터 사이언스 과목 청강할때 그때그때 필요한 내용을 공부하면서 사용해본적은 있지만 개념을 정확히 모르고 사용하니 쓸때마다 알아가는 느낌이 아니라 매번 검색해야해서 답답했다 캐글 코스를 들으면 금방 정리할 수 있을 것 같아 듣고 나중에 보기 위한 내용정리! 판다스는 이렇게 import 해서 사용한다 1 import pandas as pd cs 판다스를 사용하기 위해서는 가장 중요한 두개의 object가 있는데 바로 DataFrame과 Series이다 먼저 DataFrame은 테이블이라고 생각할 수 있다 이 테이블은 index를 0,1,2로 기본적으로 만들지만 따로 index를 지정해줄수도 있다 Series는 DataFrame과는 다르게 value들의 수열이라..
[Python Data Visualization] Seaborn 사용법 코세라 머신러닝 강의를 다 듣고 실제로 데이터에 적용시켜보고 싶어서 캐글에 도전하게 되었다 캐글 python data visualizaion course에서 알게된 seaborn library의 사용법을 정리해보려고 한다 한번 정리해서 두고두고 찾아봐야지 www.seaborn.pydata.org matplotlib를 기반으로 하는 Seaborn 라이브러리는 matplotlib을 많이 사용해보지는 않았지만 matplotlib에 비해 사용법이 훨씬 간단하다고 느꼈다 Visualizing Statistical Relationships 데이터 셋의 값들이 서로 어떤 영향을 끼치고 의존하는가에 대한 분석을 위해 필요한 api relplot() 함수를 가장 많이 쓴다 relplot 함수는 인자로 kind를 가지는데..
[C++] 백준 9202번 : Boggle 문제 상근이는 보드 게임 "Boggle"을 엄청나게 좋아한다. Boggle은 글자가 쓰여 있는 주사위로 이루어진 4×4 크기의 그리드에서 최대한 많은 단어를 찾는 게임이다. 상근이는 한 번도 부인을 Boggle로 이겨본 적이 없다. 이렇게 질 때마다 상근이는 쓰레기 버리기, 설거지와 같은 일을 해야 한다. 이제 상근이는 프로그램을 작성해서 부인을 이겨보려고 한다. Boggle에서 단어는 인접한 글자(가로, 세로, 대각선)를 이용해서 만들 수 있다. 하지만, 한 주사위는 단어에 한 번만 사용할 수 있다. 단어는 게임 사전에 등재되어 있는 단어만 올바른 단어이다. 1글자, 2글자로 이루어진 단어는 0점, 3글자, 4글자는 1점, 5글자는 2점, 6글자는 3점, 7글자는 5점, 8글자는 11점이다. 점수는 자..
[C, python] 백준 2294번 : 동전 2 문제 n가지 종류의 동전이 있다. 이 동전들을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그러면서 동전의 개수가 최소가 되도록 하려고 한다. 각각의 동전은 몇 개라도 사용할 수 있다. 사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. 입력 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어질 수도 있다. 출력 첫째 줄에 사용한 동전의 최소 개수를 출력한다. 불가능한 경우에는 -1을 출력한다. 풀이 c c언어로 dp를 사용하여 풀어보았습니다. dp 배열을 최대값으로 초기화 시켜준 후 줄여가는 방식을 ..
[MongoDB] window에서 MongoDB 실행하기 우분투 서버에서 mongodb를 nodeJS를 이용하여 사용해보았지만 이번에 윈도우에서 실행해보아야 할 일이 생겨 새롭게 설치해보았다 https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-windows/ Install MongoDB Community Edition on Windows — MongoDB Manual docs.mongodb.com 참고하여 설치한 페이지! 설명이 자세히 나와있다 먼저 다음과 같은 명령어를 통해 윈도우가 몇 비트인지 확인해주었다 1 2 wmic os get caption wmic os get osarchitecture cs 컴퓨터와 맞는 버전의 MongoDB for Windows를 설치해주면 된다 설치가 끝나면 데이터를 저장할 ..
[파이썬을 이용한 Ray Tracing 구현] 5. shade와 그림자 생성 마지막으로 shade와 그림자를 생성하는 방법에 대해 작성하겠습니다. 먼저 그림자는 intersect point와 light source 사이에 다른 도형이 있다면 그 픽셀은 빛을 받지 못하므로 그 light source로 얻게되는 밝기를 더해주지 않았습니다. 미리 구현해놓았던 ray trace 함수를 사용하였습니다. 다만 전과 다른 점은 view point 대신 light의 중점을 넣어주었고 ray vector의 방향이 light의 중점에서 intersection point로 나아가는 vector가 되었다는 점입니다. shader는 phong과 lambertian이 각각 다른 방법을 사용하였습니다. 공통적으로 필요한 정보는 intersection point에서의 normal vector입니다. 구에서의..
[파이썬을 이용한 Ray Tracing 구현] 4. ray vector 구하기와 intersect 판정 ray vector는 half line을 사용하여 구현하였습니다. 시작점인 viewpoint를 p라고 하고, view direction을 d라고 하였을 때 ray vector r(t) = p + t*d로 나타낼 수 있습니다. 이 때 구해야 할 값은 t값이 됩니다. t값을 구하기에 앞서 먼저 각 픽셀별로 view direction을 구해주어야 합니다. view direction을 구하기 위해서는 pixel-to-image mapping 방법을 사용해 주었습니다. u = l + (r-l)(i+0.5)/n_x v = b + (t-b)(j+0.5)/n_y 위는 pixel-to-image mapping 방법에 대한 이해를 도와주는 그림입니다. 주어진 직사각형이 image plane이 되고 우리는 그 image p..
[파이썬을 이용한 Ray Tracing 구현] 3. xml 파싱 및 클래스 생성 그림으로 나타내기 위한 정보들을 xml을 통해 넘겨받았습니다. xml에는 camera, image, shader, surface, light에 관한 정보들이 들어있습니다. 다음은 하나의 구를 저장하는 xml의 예시입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 5 4 3 -5 -4 -3 5 4 3 0 1 0 5 2.5 2.5 300 300 .2 .3 .8 1 1 0 50 0 0 0 1 3 4 5 1 1 1 Colored by Color Scripter cs xml parsing을 쉽게 하기 위해 ElementTree를 사용해보았습니다. 우리에게 필요한 객체 중 하나인 camera를 생..