[전자책] 전문가를 위한 파이썬(2판) - 간단하고, 명료하고, 효율적인 파이썬 프로그래밍, 2판 O'reilly 오라일리 (한빛미디어)
루시아누 하말류 / 한빛미디어 / 2024년 12월
평점 :
장바구니담기


따끈한 책을 받았다.

일단 두께를 보고 놀랐다. 우아. 저걸 언제 다 보나. 오래전 <터보 C 정복>을 봤을 때의 그 느낌... (첨부사진은 로지텍 마우스의 뒷태와 함께 찍은 모습)




 

사실 나는 파이썬을 이틀만에 배웠다. C를 오래 썼었는데, 그렇다고 C를 아주 잘 하는 것은 아니었다.

그래도 하던 가닥이 있어서 print("Hello")를 시작한 다음날 공공데이터를 받아서 matplotlib로 시각화하는 것까지 마쳤으니....이렇게 저렇게 다양하게 시각화 해보면서 '파이썬 재밌구만' 했던 기억이 새록새록...

그래도 사람들이 "파이썬이 배우기 쉽다면서요?", "파이썬이 쉽다고 해서 배워요." 이런 말을 할 때 덧붙이는 말이 있다. "다들 일본어가 쉽다고 하잖아요... 처음 배울 땐 쉬울지 몰라도 일본어 잘하려고 하면 엄청 어려워요. 그래도 외국어잖아요." 이게 파이썬에도 적용될 것이다.

ㅎㅎㅎ 나의 파이썬 실력은 그때로부터 크게 늘지는 않았다. 항상 쓰던 것들만 쓰게 되고 깊이 써볼 기회도 많지 않아서...책 두께를 보고 "아니, 파이썬으로 할 말이 이렇게 많단 말야?"하고 놀란 건 이상한 일이 아니다. '파이썬답게'라는 말의 깊은 뜻을 아직 다 파악하지 못하고 있는 상태이다.

베타리더 강O재님의 한마디가 인상적이었다. 기대된다. 나도 아름다움을 느껴보고 싶다. 처음 파이썬을 접했을 때 재밌었던 것처럼.


이 책은 초보를 위한 책은 아니다. 제목 그대로 전문가를 위한 책이다. 기본 문법 설명같은 건 나오지 않는다. 책에 가장 먼저 등장하는 코드가 이렇게 생겼다. 왕초보가 이 책을 만나면...이 책이 내 의지와 상관 없이 베개로 변하는 마법을 보실 수도 있다. (뭐 그렇다고 절대사지마라! 이런 건 아닙니다~)


각 장을 시작할 때마다 이 장은 1판에 비해서 무엇이 달라졌는지를 설명하고 있는 저자의 친절함 덕문에 1판을 이미 본 사람들은 변경사항만 처음부터 끝까지 죽 훑어봐도 좋겠다. (3판이 나올 때도 이런 친절함을 버리진 않겠지)


이런 내용들은 그 이유를 깊이 생각해본 적은 없는데, 강의할 때 수강생들에게 설명하는 멘트가 그대로 나와있네. (뇌피셜로 헛소리 한 게 아니라서 다행이다.)


이 책을 처음부터 끝까지 다 봤다고 하면 너무 뻔한 거짓말이고...파이썬을 잘 다루고 싶은 사람이라면 한쪽에 두고

1. 궁금한 게 있을 때 사전처럼 찾아보는 용도

2. 옛날에(?) 영어공부 할 때 사전을 한 장씩 외워서 찢어 먹었듯이 하루에 하나씩 새로운 것을 익히는 용도로

아주 유용하게 사용할 수 있을 것 같다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
Do it! 코드 없이 배우는 데이터 분석 with 오렌지3 Do it! 시리즈
권서림 지음 / 이지스퍼블리싱 / 2024년 12월
평점 :
장바구니담기


이지스퍼블리싱 서평단으로 선정되어 도서를 지원받아 쓴 글입니다


오렌지에 남다른 애정을 갖고 있어서 오렌지 책이 나올 때마다 모두 살펴본다. 그런데 지금까지 마음에 들었던 책은 딱 한 권 뿐이었다. "오렌지 쉬워요. 이렇게만 따라만 하면 결과가 짜잔 나와요" 식의 책은 항상 부족했다. 오렌지는 그렇게 쉽지만은 않다.

애정하는 이지스퍼블리싱에서 나온 책이라서 꼼꼼하게 봤다. 우선은 분량이나 어투에서 "쉽죠? 날 따라해봐요 요렇게~"가 아니라서 안심이 되었다. 그런 책은 이미 많이 나와 있으므로 또 나올 필요는 없을 것 같다.




목차는 데이터 분석의 필요성, 분석 절차, 오렌지 설치하기, 데이터 전처리, 탐색적 데이터 분석으로 흐름을 그대로 따라가고, 오렌지의 장점이라고 할 수 있는 회귀, 분류, 군집화, 이미지 분석, 텍스트 분석으로 이어진다. 익숙한 흐름이다. 처음부터 차근차근 따라서 공부하기 좋은 구성으로 되어 있다. 설명도 비교적 친절한 편이다. [질문 있어요] 코너를 통해 조금 자세히 알아야 할 내용에 대해서 설명을 붙였고, 단원마다 퀴즈를 통해 복습을 하게 되어 있다. 그래도 풀리지 않는 의문들은 [Do it! 스터디룸] 카페를 통해 해결할 수 있다.



단순히 위젯을 "이렇게 이렇게 연결하면 이런 결과가 나와요" 하고 보여주지 않고 알고리즘들에 대한 설명도 적절한 그림과 함께 제시되어 있다. 이런 점들은 오렌지로 머신러닝에 대한 기초를 다지고 텍스트코딩으로 넘어가려는 목적을 가진 독자들에게도 도움이 될 것이다.


한편 아쉬운 점도 보인다. 모델을 학습시킨 후, 실제로 적용할 때는 Predictions 위젯을 사용하게 되고, 적용 시에 입력되는 데이터에는 타깃값이 없다. 타깃값을 모르기 때문에 그 값을 예측하는 목적으로 이 모델을 사용하기 때문이다. 따라서 Predictions 결과창에는 평가지표가 나오지 않는 것이 보통이다. 평가지표는 타깃값을 이미 알고 있어야만 구할 수 있는 값이므로... 그런 내용에 대해서는 처음에 아주 살짝 설명하고, 이후에는 끝까지 Test and Score로 대체한 것은 좀 아쉽다. 그리고 오렌지에서 이미지를 다룰 때에는 embedding 과정을 거치며 이는 픽셀의 RGB값을 사용하기 보다는 보다 고차원적인 측징을 추출해 낸다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
월 20달러로 고용하는 데이터 분석가 with 챗GPT - 코드 한 줄 없이 기초 통계부터 분석, 예측까지 누구나 프로처럼, 생활 AI
테리엇.Bob Lee 지음 / 한빛미디어 / 2024년 10월
평점 :
장바구니담기


이번 달에 읽은 책은 <월 20달러로 고용하는 데이터 분석가 with 챗GPT>이다.

데이터분석 강의를 하는 나로서는 제목이 끌려서 고른 책.

기존의 AI와 생성 AI의 차이점은 이제 많은 사람들이 알고 있을 것 같다. 할루시네이션을 주의해야 한다는 것도.

이 책은 챗GPT를 사용하기 위해 계정을 만드는 것부터 하나 하나 알려준다.

기본적인 프롬프트를 입력하는 방법부터 Data Analyst를 이용하는 방법, GPTs를 만들고 활용하는 방법도 차근차근 설명한다. 다음은 Data Analyst를 활용하는 사례이다.

PDF파일의 내용을 요약하고, PPT개요를 구성해서 다운로드 할 수 있는 파일 형태로 저장해주도록 할 수도 있다. 물론 다시 손보지 않아도 될 정도로 예쁘게 만들어 주는 것은 아니고 가장 기본적인 내용들을 채워준다. 내용을 다듬거나 더 풍성하게 하는 것은 사용자의 몫.

일단 책의 진행이 처음부터 두 사람의 대화로 이루어져 있는데, 두께가 좀 있는 책인데 계속 대화식으로 진행되니 나는 읽으면서 좀 답답한 면이 있었다. 앞부분은 대부분이 이미 알고 있는 내용들이라서 일단 큰 제목들만 훑었다. 하지만 아주 많은 사람들이 챗GPT를 한 번도 사용해 본 적이 없고, 어디에서 사용하는 건지, 어떻게 사용하는 건지조차 알기가 어려워서 그렇다는 말도 들었다. 그런 사람들에게는 친구나 상사가 옆에 딱 달라붙어 하나하나 가르쳐주는 것 같은 느낌을 받을 수도 있겠다. 즉, 챗GPT를 단 한 번도 사용해 본 적이 없는 사람에게도 진입 장면이 없다.

 

1/3 지점부터는 본격적으로 데이터 분석에 관한 이야기가 나온다. 용어에 대한 설명도 깨알같이 하고, 데이터의 종류, 그래프의 종류, 데이터 샘플링에 관한 이야기. 이 책에서 언급하고 있는 기능들을 다 사용해 보려면 제목처럼 '월 20달러(부가세 포함 22달러)'를 지불해야 하는 부담은 있다.^^

 

분석의 절차에 대해서도 알려주기는 하지만 사실 독자는 챗GPT에게 분석 절차나 주의할 점 등을 물어볼 수 있다. 챗GPT는 항상 친절하다. 어떤 때는 기대했던 것 이상의 답변을 준다. (수다스럽다) 이때 필요한 것이 프롬프트를 잘 쓰는 능력이다. 그리고 또 하나 앞에서도 언급했던 할루시네이션을 잘 구별해 내는 능력이다. 데이터 분석의 초보자에게는 할루시네이션의 늪에 빠지지 않기 위해 좋은 책이 필요한 것 아닐까. 비록 할루시네이션이 있다고 해도 때로는 챗GPT가 내가 생각하지 못했던 새로운 관점을 보여주기 때문에 충분히 활용할 가치는 있다. 게다가 이제는 '검색' 기능이 추가되지 않았나.

 

데이터를 파일 형태로 업로드하고 기술 통계량 확인, 중복 데이터 처리, 결측값 처리, 이상치 처리, 데이터 샘플링 등 전처리를 한 결과를 파일 형태로 다운로드 할 수도 있다.

본격적인 데이터 분석이 시작되는 부분부터는 본인이 관심 있는 데이터세트를 가지고 직접 실습을 따라하면 된다. 앞에서도 얘기했듯이 두 사람의 대화 형태로 계속 이어가기 때문에 내 입장에서는 읽기에 조금 답답한 면이 있었다.

내가 생각하는 챗GPT를 이용한 데이터 분석의 가장 큰 미덕은, 원시데이터로부터 기술통계량을 뽑아내는 것이 프롬프트 한 줄이면 된다는 것, 각 항목이 무엇을 의미하는지 모르면 대화형으로 바로 다시 질문할 수 있다는 것, 전체 데이터를 다 읽지 않아도 데이터로부터 인사이트를 뽑아준다는 것, 파이썬, AWS, MySQL, Django 등이 뭔지 전혀 몰라도 분석과 예측이 가능하다는 것이 아닐까 싶다. 물론 이보다 장점이 더 많다. 단, 결과를 사용하는 것은 사용자의 몫이다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
일잘러의 비밀, 엑셀 대신 파이썬으로 업무 자동화하기 - 엑셀 반복 업무로 지친 직장인, 파이썬으로 칼퇴하자!, 개정판 일잘러의 비밀
포스코인재창조원 지음 / 한빛미디어 / 2024년 9월
평점 :
장바구니담기



평소에 엑셀을 많이 쓰지는 않는다. 매달 쓰는 가계부나 매년 종합소득세 신고용으로 반복적으로 정리할 때 사용하는 것이 거의 다라고 할 수도 있다(이미 수식화+서식화 되어 있어서 수입금액만 적으면 얼마쯤 환급받을 수 있는지까지 다 계산해준다). 한때는 엑셀/파워포인트 강의도 했었는데...(한참 전 일이다)

그런데 엑셀에는 기대했던 것보다 많은 기능이 있고, 내가 그 기능을 안 쓰는 것이 아니라 뭐가 있는지 몰라서 못 쓰는 걸 수도 있다는 생각이 들었다. 이 책을 고른 것은 엑셀을 엄청 잘 쓰고 싶다거나 파이썬으로 내가 쓰고 있는 기능들을 자동화하기 위해서라기 보다는, "우선 어떤 기능들이 있는지 알아보고 적용할만한 부분이 있는지 찾아보자"는 이유에서였다. 게다가 요즘 파이썬을 배우고 있는 꼬맹이가 엑셀도 좀 가르쳐 달라고 해서 파이썬 자동화를 가르치면 파이썬에 속도가 붙지 않을까 하는 기대도 있다.


파이썬 설치와 기본 문법


시작은 파이썬이다. 전체의 1/4 살짝 넘는 분량이다. 이 부분은 파이썬을 모르는 사람에게는 꼭 필요한 부분이기도 하지만 나는 그냥 건너 뛰었다. 복잡한 내용은 빼고 가장 기본이 되는 내용들을 담았다. 왕초보용 간략한 기초 파이썬 교재 정도라고 봐도 될 것 같다. 파이썬 개요, 자료형, 제어문, 함수를 다룬다.


데이터를 다루는 파이썬 라이브러리인 pandas와 matplotlib 설치와 기본 사용법


다음 파트(Part 2, 4장~6장)에서는 엑셀에서 자주 쓰는 함수와 시각화를 위한 그래프 함수를 소개하고 있다. 역시 전체 분량의 1/4정도 된다.

제목만 보고는 구체적으로 어떤 내용을 다루는지 짐작하기 어려웠다. 엑셀을 다루는 거라고 생각했는데 4장과 5장에서는 파이썬 라이브러리 중에 데이터를 다룰 때 많이 사용하는 pandas 설치법과 사용법을 다루고 있었다. 6장은 파이썬에서 시각화할 때 많이 사용하는 라이브러리인 matplotlib를 다룬다.


"엑셀에서는 이러이러한 작업을 할 때 이 함수를 사용하지만, 파이썬에서는 이런 함수를 사용합니다."하며 각 케이스에 대해서 설명을 해주고 있다.


이렇게 비교해서 설명하기 때문에 엑셀함수에 익숙한 사람은 pandas 라이브러리에 조금만 익숙해지면 나머지는 크게 고생하지 않고 적응할 수 있을 것 같다. 좋은 점은 책의 앞부분에 있는 목차에도 이런 함수를 표가 나는 색상으로 표기해 놓아서 목차 겸 인덱스 역할을 잘 하고 있다는 것이다.


사실 pandas에서 rank()함수는 사용할 일이 없었는데, 이 rank()함수에서 순위를 매기는 방법을 지정하는 method가 엑셀에서 사용하던 것과 비슷하게 활용되니 재미있었다. 이게 되었었구나^^

(method 속성: average, min, max, first, dense)

6장까지는 읽어오는 데이터가 단지 엑셀로 저장된 데이터라는 것만 다를 뿐, 파이썬 데이터분석 기초과정과 다르지 않다.


두구두구두구두, 이제 드디어 파이썬 업무 자동화 파트


7장에서는 엑셀 형식을 다룰 수 있는 openpyxl 라이브러리, 파워포인트 파일을 지원하는 python-pptx 라이브러리, 마우스와 키보드를 제어하는 pyautogui를 설치하고 사용하는 법을 소개한다. 새 시트(엑셀, sheet)나 슬라이드(파워포인트, slide)를 추가하거나 삭제할 수도 있다.


엑셀파일에서 명단을 읽어서 지정된 템플릿에 맞춰 파워포인트에서 출력할 수 있는 명찰을 작성할 수도 있다. pandas, matplotlib 라이브러리 사용법을 이미 익혔기에 어렵지 않다. pyautogui는 이전에 사용해본 적이 없는 라이브러리라 신기하고 재미있었다. 엑셀 단축키(예를 들어 win + s)를 조작해서 엑셀을 열고 데이터를 읽어 총점과 평균을 계산해 정렬된 표로 기록하는 <성적 처리 자동화> 예제가 있는데, 단축키를 제어한다는 생각까진 하지 못했었다. 재미있는 라이브러리니 다른 데 많이 응용해봐야겠다.

8장에 나오는 웹크롤링은 데이터분석 과정을 가르치면서 많이 해봤고, 마지막 9장에서는 청구서를 자동으로 발행하는 케이스를 가지고 프로젝트를 한다.


10장에서는 25페이지 정도를 활용해 챗GPT 회원 가입하는 방법부터 코드 생성을 위한 프롬프트를 잘 만드는 방법, 챗GPT가 생성해 준 코드를 실행하는 방법을 소개한다. 내가 만들고자 하는 코드의 목적, 입력과 출력, 제약사항 등에 대해서 명확하게 지정하는 것이 중요한데 예시를 들어 잘 설명하고 있다. 물론 챗GPT가 제시해준 코드가 정확히 동작하게 만들려면 1~9장의 내용을 잘 알고 있어야 한다.

(1) 1~10장을 차례로 따라가 보기

(2) 10장을 먼저 따라해보고 1~9장 공부하기

공부하는 방법은 둘 중 하나일 건데, 본인이 원하는 어느 방법을 선택해도 나쁘지 않다고 본다.

사실 나에게 새로운 것은 7장, 9장 뿐이지만 엑셀의 구조에 대해서 잘 이해하고 있지만 파이썬을 모르던 사람 입장에서는 1장부터 10장까지 하나도 버릴 게 없을 것이다. 그렇게 두껍지 않은 책에 꼭 필요한 내용을 담았다는 느낌이다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
AI를 위한 필수 수학 - AI 시스템에 쓰이는 통계학, 선형 대수학, 미적분학
할라 넬슨 지음, 안민재 옮김 / 한빛미디어 / 2024년 8월
평점 :
장바구니담기


이 책은 통계학, 선형대수, 미적분을 두루 다루고 있으며, 데이터과학/인공지능 학습을 막 시작하려는 사람들과 데이터과학/인공지능을 실제 사례에 어떻게 적용할지 아이디어를 얻고자 하는 사람들 모두에게 추천하고 있는 책이다. 나는 AI를 계속 공부하고 적용하면서 수학적인 밑바탕에 대한 목마름은 항상 있어와서 여전히 이 책 저 책을 뒤적이는 중이다.


비개발 직군에게도 추천할만한 책이라고 써있는데 학습을 막 시작하려는 사람들에게는 책에 나온 설명이 불충분하게 느껴질 수 있다. 광범위한 영역을 다루다 보니 하나의 용어에 대해서는 자세히 다루지는 않는다. 예를 들어, 평균 제곱 오차를 설명하면서 L2노름에 대해 언급만 하고 지나가는데(p.108), L2노름에 대해서 알지 못하면 '이것과 이것은 서로 관계가 있는 것이구나' 하는 것을 메모해 놓고 내용을 더 자세히 찾아서 공부하는 전략을 택할 수밖에 없다. 이 책은 수학의 어떤 개념들이 어느 부분에 사용되고 있는지 큰 그림을 그리면서 봐야하는 책이고, 또 그렇게 보기에 좋은 책이다. 수학에 더 중점을 두고 보고 싶다면 한빛미디어에서 나온 <개발자를 위한 필수 수학>을 먼저 보는 것이 더 나을 것 같다.


회귀, 분류, 군집화, 신경망, 컴퓨터비전, 자연어처리, 확률적 생성 모델, 그래프 모델까지 차례로 살펴보다 보면 책의 2/3 지점에 다다른다. '금융 인공지능'도 7장의 제목에 있어서 반가워 넘겨봤는데 내용은 많지 않아서 살짝 실망도 했다. 9장 그래프 모델은 실제 산업에서 어떤 이론을 근거로 구현이 되는지를 다양하게 살펴볼 수 있어서 좋았다. 좀 더 깊게 공부하고 싶은 부분이다.


10장 운용 과학은 좀 새로웠다. 운용 과학을 5개로 요약하면 수학적 공식화, 최적화, 알고리즘, 소프트웨어, 의사결정이라고 한다. 응용 수학에서 가장 매력적인 분야라고 언급하고 있다. 이쯤에서는 수학, 경제학, 컴퓨터공학 등 여러 학문이 경계 없이 넘나드는 느낌이다. 결국 우리가 원하는 건 우리가 부딪히고 있는 현실의 문제 해결이고, 문제 해결을 위해서는 복잡한 현실을 단순하게 모델링하고 최적화해야 하므로. 본격적으로 수학에 집중하기 시작하는 챕터이기도 하다. 공부할 것이 너무나 많구나....


자연어를 다루는 강의를 할 때마다 벡터공간에 단어들이 어떻게 배치되어 있는지를 보여주고 word2vec에 샘플을 입력해 보면서 단순히 임베딩, 벡터공간, 거리(유사도)에 관한 개념만 설명해왔는데 편향성 해결을 언급한 부분이 재밌었다. 단어 벡터에서 편향을 제거하기 위해 '소프트웨어 엔지니어' 벡터에서 '남자man' 벡터와 '남성male' 벡터를 빼는 hard debiasing 방법을 소개하고 있다. 챗GPT에게 물어봤더니 하드 디바이어싱만 사용하면 벡터의 유용한 의미를 훼손시킬 우려도 있다며 다양한 방법들을 소개해준다. 적용해봐야겠다.


짧은 시간 안에 처음부터 끝까지 다 꼼꼼하게 읽지는 못했지만 한 페이지씩 모두 넘겨보긴 했다. 더 깊이 알기 위해서는 부가 자료를 찾아 좀 더 공부해야 한다. 하지만 다양한 내용을 다루고 있기 때문에 전체적인 맥락을 훑으면서 필요한 부분만 깊이 공부하는 방향으로 스터디 모임을 만들어 교재로 사용하기에는 좋은 책인 것 같다.


챕터가 끝날 때마다 [정리하기] 코너를 통해 정리를 해주는 부분도 도움이 된다.



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo