반응형

한빛미디어 12

[구글 빅쿼리] 빅쿼리에 대해 입문할 수 있는 책

데이터 직무의 자격요건 혹은 기술스택을 보면 어지간해서는 꼭 빅쿼리가 있었다. 처음에는 AWS Athena처럼 클라우드에서 쿼리문 날려서 결과를 받아보는 것이지 않나 하는 생각이었지만, 그래도 기술스택에 '명시'가 되어 있기에 간단하게 봐 두자는 생각으로 이 책을 집었다. 우선 책이 매우 얇다. 250페이지 정도. 그렇기 때문에 약간 클라우드를 안써본 사람이라면 조금 버벅댈 부분이 몇 군데 있다. 처음에 빅쿼리 콘솔 화면을 보여준 후에 곧바로 데이터를 넣고, 꺼내고, 쿼리 작성 등을 해 나간다. 빅쿼리에서 사용하는 SQL문은 여느 DB의 SQL문하고 크게 다르지 않다. 물론, 빅쿼리에서만 쓸 수 있는 ARRAY나 STRUCT 등의 다른 점은 있다. 책을 따라 데이터를 로딩시키려고 하다 보면 안 될 것이다..

독서/서평 2022.10.24

SQL로 데이터를 다채롭게 뽑아보는 연습에 딱좋은 책

읽게 된 계기 데이터 분석 이나 데이터 엔지니어에게 SQL은 필수라고 한다. 그러나, 나는 SQL은 기본적인 CRUD만 할 줄 알았고 그것만 잘 하면 된다고 착각하고 있었다. 한 번은 코딩테스트에 SQL 문제가 나왔었는데 이게 그냥 CRUD만 가지고 안되는 수준이었어서 관심을 갖고 SQL을 다채롭게 활용해볼 수 있는 방법을 배우는 책을 찾았다. 그게 이 책이다. 이 책의 특징 PostgreSQL, Hive, SparkSQL, Redshift, BigQuery 5개의 DB에 대한 쿼리문을 제공한다. 즉, 같은 결과를 내기 위해 쿼리문이 조금씩 다를 순 있지만, 그 쿼리문을 모두 확인할 수 있다. 그리고, 데이터를 실제에는 어떻게 분석하고 바라보는지에 대한 설명과, 그 설명의 근거 자료를 찾기 위한 SQL문..

독서/서평 2022.09.05

[혼공머신러닝] 6장 k평균 알고리즘 정리

안녕하세요 Dibrary입니다. 이번에는 혼자공부하는 머신러닝의 6장 내용인 'k평균 알고리즘'에 대해 정리해보겠습니다. k평균 알고리즘은 아래와 같이 동작합니다. 무작위로 k개 클러스터의 중심을 정합니다. 각 샘플에서 가장 가까운 클러스터의 중심을 정합니다. 그게 곧 해당 클러스터의 샘플이 됩니다. 클러스터에 속함 샘플의 평균값으로 클러스터의 중심을 변경합니다. 클러스터 중심에 변화가 없을 때 까지 2번으로 돌아가서 반복합니다. 즉, 한 마디로 '인접 요소를 가장 잘 대변하는 점 하나를 찍고, 그게 맞으면 평균점이 되는데, 그게 아니라면 평균점이 될 때까지 이걸 반복한다' 는 것이죠. 파이썬은 굉장히 편리하다고 느끼는 게, 이 k평균 군집 역시 파이썬 sklearn 모듈을 사용해서 할 수 있습니다. 먼..

[혼공머신러닝] 5장 트리 알고리즘 정리

안녕하세요 Dibrary입니다. 이번에는 트리 알고리즘을 정리해보겠습니다. 먼저 트리라는 자료구조는 하나의 루트로부터 시작해서 계속 가지를 쳐 나가는 것입니다. 이렇게 말이죠. 다만 2개씩만 하는 경우에 한해서 이진트리라고 특별히 이름 짓습니다. (이는 데이터를 빠르게 찾는데 굉장히 유용하기 때문에 알고리즘에서 주로 사용됩니다.) 이 트리형태로 해답을 찾아 나가는데, 각 트리의 노드가 해답을 찾아나가는 '질문'으로 된 것이 결정트리 입니다. 이런 것이죠. 질문이 꼭 하나로만 구성될 필요도 없습니다. 파이썬은 sklearn 모듈을 사용해서 결정트리를 사용할 수 있습니다. 먼저 임의의 데이터를 가져와보겠습니다. 이 데이터 중에 class를 target으로 잡고, 나머지 3가지 항목을 해당 target을 구하..

[혼공머신러닝] 4장 로지스틱회귀 정리

안녕하세요 Dibrary입니다. 이번에는 혼자 공부하는 머신러닝의 4장, 로지스틱 회귀에 대해 정리해보겠습니다. 로지스틱 회귀는 '회귀'라는 단어가 들어가긴 하지만 분류 모델입니다. 학습하는 선형 방정식이 회귀처럼 생겼을 뿐이죠. 이 분류가 될 확률을 구한다고 할 때, 확률은 0~1 사이의 값이죠. (1은 100%를 의미.) 근데, 확률이 0인 경우는 잘 안나와야겠죠? 확률이 높을 수록 분류가 잘 될 것이구요. 그러한 특성을 가진 그래프를 '시그모이드 함수'라고 합니다. 그려보면 위와 같습니다. 잘 안보이신다구요? grid를 추가해 보겠습니다. x축의 0값을 기준으로 왼쪽으로 가면 0으로 수렴하고, 오른쪽으로 갈 수록 1에 수렴합니다. 임의 데이터를 가지고 로지스틱 회귀를 해 보겠습니다. 이렇게 입력하면..

[혼공머신러닝] 1장, 2장 정리

안녕하세요 Dibrary입니다. 이번에는 '혼자 공부하는 머신러닝+딥러닝' 책을 공부하면서 간단히 내용을 정리해보겠습니다. 혼공학습단에 선정되기도 했고, 어차피 머신러닝, 딥러닝에 대해 간략한 개괄정도밖에 몰랐어서 이참에 좀 제대로 정리해두고자 합니다. 머신러닝 = 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야 딥러닝 = 머신러닝 알고리즘 중 인공신경망을 기반으로 한 방법들을 지칭 이 책은 구글의 Colab에서 실행해보는 것으로 구성되어 있습니다. 제가 띄운 화면인데, 정말 심플하죠? Jupyter를 띄운것이랑 거의 차이가 없습니다. 단지, 몇 가지 설정을 통해 GPU나 TPU 등을 써볼 수 있다는 장점이 있습니다. 간단하게, 데이터가 눈에 띄게 2가지로 분류된 것을 볼 수 있습니다. 즉,..

[빅데이터로 일하는 기술] 빅데이터 실무 가이드 사례

이 책은 과거 국비교육을 들을 때 받은 책이다. 당연히 빅데이터에 관심이 많았던 나는 받자마자 곧장 읽어보았는데, 아무래도 그때 당시에는 잘 모르는 내용이 훨씬 많았던 책이다. 지금 하둡까지를 공부하고 나서 다시 읽어보니 꽤 괜찮은 책이다. 먼저 빅데이터가 왜 대두 되었는지, 빅데이터를 쓸 수 밖에 없는 환경은 무엇인지 이런 산업 발전을 차례대로 설명한다. 대표적인 사례는 스마트폰으로 인한 데이터 생산량의 폭증이다. 각자 데이터를 무한대로 발생하는 단말기를 가지고 생활하는 시대가 되어서 해당 데이터를 활용하기에 적합한 사회가 되었으나, 이 데이터를 다루려면 기존 방식으로는 불가능하다는 것이다. 특히, 음성이나 이미지 관련 비정형 데이터가 더 많이 사용되어감에 따라 기존 데이터베이스로 다루려면 더 복잡한 ..

독서/서평 2022.04.18

[Fluent Python] 2장 - 데이터 구조체 정리

안녕하세요 Dibrary입니다. '전문가를 위한 파이썬' 2장 정리 내용 입니다. 컨테이너 시퀀스 = list, tuple, collections, deque 균일 시퀀스 = str, bytes, bytearray, memoryview, array.array 컨테이너 시퀀스는 객체의 참조를 담고 있습니다. 균일 시퀀스는 값을 직접 담고 있습니다. 값과 참조의 차이를 코드로 살펴보겠습니다. list를 예로 들면, alpha값이 변하니까 alpha를 가지고 있던 tmp의 값도 변하네요. (참조하고 있었기 때문이죠) 원래 튜플은 불변형인데, 이렇게 하면 변경이 됩니다. (즉, 이렇게 사용하면 안 됩니다.) 튜플도 컨테이너 시퀀스라서 참조를 담고 있기 때문에 변경이 되네요. 반면 str은 아래처럼 작성시 그저 ..

[Django 파이썬 웹 프로그래밍] 내가 아는 가장 쉬운 장고(Django)책

듣기로만 했던 장고. 기존 회사에서 개발을 할 때 필요한 무료 라이브러리 때문에 8개월을 들여서 배운 파이썬은 웹과는 거리가 멀었었다. 아무렴 그때당시는 웹을 JAVA로 하고, 필요한 기능만 파이썬으로 연동해서 사용했었기 때문이다. 그런데, 파이썬으로도 웹을 다루는 회사들이 많아졌음을 깨달았고, 시대에 뒤쳐지는 것이 아닐까 싶은 걱정 때문에 부랴부랴 서점에서 장고 책을 찾았다. 과연 프레임워크인 만큼 나에게 맞는 책을 찾는 게 쉽지 않았다. 그런 와중에 이 책이 보였다. (솔직히 표지 디자인은 음.... 별로다 ㅎ) 확실하게 말할 수 있는 것은 나에게는 정말 딱 맞는 기본서였다. 이 책의 구성은 전반적인 IT책과 비슷하다. 웹 개념설명 장고프레임워크의 구조 및 설명과 예시 미니 웹 프로그램 만들기 프로그..

독서/서평 2022.04.13

[전문가를 위한 파이썬] 사소한 파이썬의 특장점까지 짚어보자

흔히 파이썬은 '쉬운 언어'라고 많이 알려져 있다. 지금 유행하는 코딩열풍을 밑에서부터 보면, 초등학교부터 코딩 개념을 가르치는데 블럭 형태의 놀이같은 것이나 혹은 파이썬을 배운다. 그만큼 쉽다는 인식이 많은데 사실 어떤 언어든 '절대치'는 존재한다고 생각한다. C/C++언어는 초기에 어렵지만 나중에 능숙해지면 초기의 장벽만큼 어렵게 느껴지지는 않을 수 있는데, 파이썬은 그 반대로 초기에는 쉬워보이나 나중에 만나는 것들의 장벽이 초기보다 어렵다는 것이다. 개인적으로는 이 책을 보기 전에 이미 파이썬의 난이도는 쉽지 않다는 것을 알고 있었다. 특정 개발 도중에 파이썬을 C++과 연동해야 했었는데, 아주 어려웠었다. C++에서 사용하던 메모리 관리 등을 파이썬에서도 해보니 오히려 C++이 더 쉽게 느껴질 정..

독서/서평 2022.03.18
반응형