분류 전체보기194 CS(Computer Science) - DB 관련 기초 용어들 github 자료와 메모 자료들을 정리하던 도중, CS 관련 지식들을 정리해놓은 자료들을 발견했다.아주 기초적이고 쉬운 내용들이지만, 복습 겸 블로그에 다시 정리하고자 한다. DB 관련 기초 용어에 대해 정리해보겠다. 1. NoSQL Not Only SQL의 약자. 기존의 RDBMS와 다른 형태의 데이터로 저장하는 기술을 의미한다. 데이터가 기존의 복잡하고 소량의 데이터에서, 단순하고 다량의 로그데이터 형태의 데이터로 변모함에 따라 NOSQL의 중요성이 부각되었다. RDBMS가 관계형 연산을 수행한데 반해, 노스큘은 데이터간의 관계를 정의하지 않음. 노스큘은 매우 대용량의 데이터를 다루는데 적합한 방법이라고 할수있음. 또한 분산형 구조에 매우 적합하게 설계되어 있음. 분산시에는 데이터를 상호 복사하여 저.. 2018. 5. 23. CS(Computer Science) - 객체지향의 5대 원칙 github 자료와 메모 자료들을 정리하던 도중, CS 관련 지식들을 정리해놓은 자료들을 발견했다.아주 기초적이고 쉬운 내용들이지만, 복습 겸 블로그에 다시 정리하고자 한다. 그 중 객체지향 5대 원칙(SOLID)에 대해 정리하도록 하겠다. SRP - Single Responsibility Principle : 단일책임의 원칙 - 1클래스는 1개의 책임만을 가져야 한다. 클래스를 변경하는 이유는 1가지여야 한다.- 메소드로도 확장이 가능한 개념이다. 1메서드는 1개의 기능만을 담당해야 한다.- 1개의 책임을 진다는 것은, 예를 들어 Teacher라는 클래스가 있으면, 티처에 해당하는 1개의 책임만을 부여해야 한다.- 티칭이라는 책임을 부여하였으면, 러닝이라는 책임을 부여하면 안된다. OCP - Open .. 2018. 5. 23. [Recommender System] - 추천 시스템에 사용되는 알고리즘들 이전 포스팅에 이어 계속하여 추천 시스템에 대해 살펴보자. [Recommender System] - 추천 시스템의 전반적인 내용 (1)[Recommender System] - 추천 시스템의 전반적인 내용 (2) 1. 통계 기반 모델링에서 사용되는 알고리즘 지난 포스팅에서 카이제곱 분포를 이용한 검정방법에 대해 잠시 언급했었다. 설명했던 대로 추천 시스템에서 통계 기반 모델링이라는 것은 '이상' 징후를 보이는 아이템을 추출해내는 작업이라고 볼 수도 있겠다. 카이제곱 검정의 경우 구현하기도 어렵지 않고, 데이터를 전문적으로 하는 사람이라면 알고 넘어가야 하는 이론이기 때문에 조금 더 얘기해보자. 카이제곱을 통계적 모델링에 활용하는 방법은, χ2 = Σ (관측값 - 기댓값)2 / 기댓값 의 수식을 가지는 카이.. 2018. 5. 12. [Recommender System] - 추천 시스템의 전반적인 내용 (2) 이전 포스팅에 이어 계속하여 추천 시스템에 대해 살펴보자. 본 포스팅에서부터는 e-commerce에 다소 초점이 맞춰진 내용들로 구성되어 있다. [Recommender System] - 추천 시스템의 전반적인 내용 (1) 4. 과거 추천 시스템의 동향 추천 시스템 중에서도, 가장 역사가 오래되었으면서도 필자의 관심사가 집중된 e-commerce를 기반으로 추천 시스템의 전반적인 내용을 설명하겠다. 우선 e-commerce의 경우 크게 3가지 분류의 데이터인 Implicit Score, Explicit Score, Contents를 시스템 구축에 활용할 수 있다. 이 중 Contents는 아이템 자체에 대한 정보를 의미한다. 영화의 경우 감독명, 출연진 리스트 등이 있을 수 있고 커머스의 경우 상품의 색상.. 2018. 5. 12. [Recommender System] - 추천 시스템의 전반적인 내용 (1) 새 직장에서 본격적으로 일을 시작한 뒤 나의 메인 업무는 Recommender System이 되었다. 사실 이전부터 이 쪽 분야에 큰 흥미가 있었던지라, 어떻게 보면 운이 좋았다고 할 수도 있겠다. 원래 집에서는 잘 듣지도 않던 노래를 인공지능 스피커까지 구매하여 듣고, 각종 쇼핑몰 앱을 설치했으며 동영상 콘텐츠 스트리밍 유료결제까지 고민하고 있다. 문화생활도 할 겸, 추천 시스템과 친해지기 위한 노력의 일환이랄까. 하지만 학문적 베이스가 없는 나의 얕고 넓은 지식이, 추천 시스템을 만들고 고도화 하는 일을 하기에는 걸림돌이 될 수 있겠다는 생각이 들었다. 물론 데이터 과학을 통해 비즈니스를 창출할 수 있는 영역 중에 가장 넓은 폭의 지식과 다양한 경험이 필요한 분야라고는 생각하지만, 비즈니스맨이 아닌 .. 2018. 5. 12. Python으로 regression 학습 구현하기 Machine Learning에서 가장 중요한 것 중 cost function과 theta update이 있다. 일례로, Deep learning으로 RMSE를 낮추는 prediction 모델링을 한다고 할 때 더 고급 알고리즘을 사용하거나, Batch normalization 기법을 적용하는 것 보다 learning rate나 threshold, batch size를 수정해보는 것이 훨씬 좋은 결과를 얻는 경우가 많다. 사실 해보지 않으면 잘 모른다. 해봐도 모르는 경우가 많다. 그래서 이 내용들을 제대로 이해하려면 한 번쯤 직접 구현해보는 것이 좋다고 생각했고, 파이썬으로 basic한 머신러닝 이론들을 구현하는 Implementation 프로젝트를 시작했다(github 링크). 본 포스팅에서는 간단한.. 2018. 5. 6. 파이썬 기초 문법 - 5 (format, map, isinstance 함수) 1. format 함수 format 함수는 str 타입과 관련된 함수이다. Cython을 기준으로 한 문법이며, c언어로 문자열을 출력할 때 printf 에 %를 붙이는 것과 유사한 출력 포맷이다. 원래는 파이썬으로 출력문을 작성할때 c언어와 매우 유사한 구조였지만, format 함수로 인해 이런 방식으로 코딩을 많이 하는 편이다. ##### format 함수 inputpath = '/hello/world' # :0>2 는 2자리보다 커지지 않게 숫자 앞을 0으로 채우는것 inputFormat = '{0}/{1}/{2:0>2}/{3:0>2}/time-{4:0>2}.*' print(inputFormat.format(inputpath, 2018, 2, 4, 12.1231131)) print(inputForm.. 2018. 4. 4. BeautifulSoup4를 이용한 파이썬 크롤링 데이터 분석에 활용할만한 충분한 데이터를 가지고 있지 않은 경우, 우리가 할 수 있는 가장 만만한 방법은 웹 데이터를 이용하는 것이다. 많은 경우, ResufulAPI 서버에서 자원을 얻어서 활용하기도 하지만, 사실 그건 데이터를 이미 가지고 있는 것과 마찬가지다. 그래서 크롤링을 활용해서 실제 데이터 분석에 활용하는 경우가 점점 많아지고 있다. 1. 웹에 대한 이해 크롤링을 시작하려면 먼저 웹의 기본 원리에 대한 이해가 필요하다. 웹이란 기본적으로 인터넷의 하위 개념이다. 인터넷으로 불리는 공간에서의 통신 방법은 규약이 필요하다. 서로 이해할 수 있는 언어로 이루어져 있어야 하고, 물리적인 연결 및 전송도 필요하다. 그러한 통신 규약 중 하나가 HTTP라는 것이다. 우리가 '웹' 이라고 부르는 것은 일.. 2018. 3. 26. 영화 이야기 : 누벨 바그 - 下 이전 글 보기 드디어, '바쟁의 아이들'이 본격적으로 영화제작에 돌입한다. 이들이 만든 영화들은 기존의 [심리학적 리얼리즘]과는 거리가 먼, 상상력과 다양한 표현들을 이용했다고 볼 수 있다. 관객이 극 자체에 몰입을 하게 해주면서도 자신이 '관객'이라는 점을 잊게끔 연출하는 방식을 기존의 심리학적 리얼리즘이라 부르는데, 바로 이런 연출 방식이 현재까지도 주류를 이루는 영화들의 대부분의 연출방식이다. 심리학적 리얼리즘(혹은 할리우드 내러티브)를 사용한 영화를 관람하는 관객들은, 수동적인 자세로 자기 자신을 잊고 영화에 빠져들게 된다. 당연히 이런 감각들은 상업적으로 의도된 것이라 볼 수 있다. 누벨 바그 영화는 바로 그런 점에 전면으로 반박한 것이다. 관객은 능동적으로 영화를 탐닉해야 하며, '보는 것'에.. 2018. 3. 18. 영화 이야기 : 누벨 바그 - 上 극장 혹은 집에서 영화를 본 뒤, 단편적인 감상에 끝나는 것으로 만족하지 않는 수준의 영화팬이라면 누구나 한 번 쯤 '누벨 바그' 라는 단어를 들어보았을 것이다. 평소에 들어보지 못한 말이어도, 애지간한 영화 몇편을 논평한 영화 평론가들의 글에서 심심찮게 볼 수 있는 용어이다. 흔히들 떠올리는 누벨 바그는 프랑스를 위시한 유럽 등지에서 보여지는 다소 괴팍한(?) 영화들이다. 배우가 대사를 하다 말고 갑자기 카메라를 뻔히 바라보며, 관객에게 말을 거는 등의 영화이다. 일반적으로 누벨 바그에 대해 가진 그러한 이미지들은 얼추 맞는 말이다. 굉장히 압축해서 표현하자면, 누벨 바그라는 영화용어는 '주류에 반하는 영화' 라고 할 수 있겠다. 사실, 이 용어는 약 반세기 전에 프랑스의 한 기사에 의해 등장한 말이다.. 2018. 3. 18. 이전 1 ··· 11 12 13 14 15 16 17 ··· 20 다음