나에게 필요한 지식과 기술을 검색해 보세요.

코딩 뇌를 깨우는 파이썬

문제 해결 능력을 키우는 컴퓨팅 사고부터 알고리즘, 데이터 분석, 머신러닝까지

지은이

존 V. 구태그

옮긴이

박해선

출간일

2023.09.04

레벨

초급

평점

4.9(26명)

정가

28,000

총 결제 금액

28,000

전자책 사용 안내

전자책은 웹뷰어와 한빛+ 앱에서 열람할 수 있으며 PDF 다운로드는 지원되지 않습니다.

쪽수

616P

ISBN

9791169217217

브랜드

한빛미디어

잠자는 코딩 뇌를 깨워라

파이썬 기초부터 머신러닝까지 한 권에!

 

프로그래밍 경험이나 지식이 없는 분들을 위해 파이썬과 다양한 라이브러리(넘파이, 맷플롯립, 판다스, 사이킷런 등)를 사용한 문제 해결 비법을 소개합니다. 이 책을 통해 일상에서 마주하는 다양한 문제를 프로그래밍으로 해결하는 기술을 배워보세요. 데이터 모델링과 해석 같은 데이터 과학의 핵심을 배우고, 간단한 머신러닝 기법도 만나봅니다.

 

이 책은 MIT 강의를 기반으로 만들어진 컴퓨터 과학 입문서로 프로그래밍을 전혀 모르는 초보자도 부담 없이 펼쳐볼 수 있습니다. 컴퓨팅 사고와 간단한 알고리즘처럼 프로그래밍 입문에 꼭 필요한 주제로 잠들어 있던 코딩 뇌를 깨우세요. 각 장에 마련된 뇌풀기 문제를 통해 데이터 시각화나 시뮬레이션, 데이터 계산 기법, 머신러닝 같은 실용적인 주제를 살펴보며 프로그래밍 능력을 키워봅시다.

 

700_상세이미지_코딩 뇌를 깨우는 파이썬.jpg

출판사 리뷰

한 권으로 모든 문제를 해결하는 컴퓨터 과학 책은 존재하지 않습니다. 하지만 딱 한 권만 골라야 한다면 이 책이 좋은 선택지가 될 겁니다.

해럴드 에이블슨, 『자바스크립트로 배우는 SICP』, 『컴퓨터 프로그램의 구조와 해석』 저자

 

존 구태그는 스승으로서 뛰어나며, 동시에 작가로서도 뛰어납니다. 이 책은 파이썬을 소개하지만 '파이썬 책'이 아니고, 프로그래밍을 알려주지만 '프로그래밍 책'도 아닙니다. 계산 문제와 데이터 과학 문제를 파이썬으로 해결하는 엄격하면서 읽기 쉬운 입문서입니다.

에드 라조브스카, 워싱턴대학교 컴퓨터 과학과 교수

저자

목차

<1부> 프로그래밍 시작하기

 

1장 시작하기


2장 파이썬 소개

_2.1 파이썬과 파이썬 IDE 설치하기

_2.2 파이썬의 기본 요소

__2.2.1 객체, 표현, 수치 타입

__2.2.2 변수와 할당

_2.3 분기 프로그램

_2.4 문자열과 입력

__2.4.1 입력

__2.4.2 문자 인코딩에 관한 여담

_2.5 while 루프

_2.6 for 루프와 range

_2.7 스타일의 중요성

 

3장 간단한 수치 프로그램

_3.1 완전 열거

_3.2 근사 해법과 이분 검색

_3.3 부동소수점 사용에 대하여

_3.4 뉴턴-랍슨 방법

 

<2부> 효율적으로 프로그래밍하기

 

4장 함수, 유효범위, 추상화

_4.1 함수와 유효범위

__4.1.1 함수 정의

__4.1.2 키워드 인수와 기본값

__4.1.3 가변 길이 인수

__4.1.4 유효범위

_4.2 사양

_4.3 함수를 사용해 코드를 모듈화하기

_4.4 객체로서의 함수

_4.5 메서드

 

5장 구조적인 타입과 가변성

_5.1 튜플

__5.1.1 복수 할당

_5.2 range와 iterator 타입

_5.3 리스트와 가변성

__5.3.1 복제

__5.3.2 리스트 내포

_5.4 리스트의 고차 연산

_5.5 문자열, 튜플, 레인지, 리스트

_5.6 집합

_5.7 딕셔너리

_5.8 딕셔너리 내포

 

6장 재귀와 전역 변수

_6.1 피보나치수열

_6.2 팰린드롬

_6.3 전역 변수

 

<3부> 탄탄한 프로그램 만들기


7장 모듈과 파일

_7.1 모듈

_7.2 사전에 정의된 패키지 사용하기

_7.3 파일

 

8장 테스트와 디버깅

_8.1 테스트

__8.1.1 블랙박스 테스트

__8.1.2 글라스박스 테스트

__8.1.3 테스트 수행하기

_8.2 디버깅

__8.2.1 디버깅 배우기

__8.2.2 실험 설계하기

__8.2.3 어려운 상황에 직면했을 때

__8.2.4 버그를 찾았을 때

 

9장 예외와 assert

_9.1 예외 처리하기

_9.2 제어 흐름 메커니즘으로 예외 사용하기

_9.3 assert

 

10장 클래스와 객체 지향 프로그래밍

_10.1 추상 데이터 타입과 클래스

__10.1.1 매직 메서드와 해싱 가능 타입

__10.1.2 추상 데이터 타입을 사용해 프로그램 설계하기

__10.1.3 학생 관리를 위한 클래스

_10.2 상속

__10.2.1 다단계 상속

__10.2.2 대체 원칙

_10.3 캡슐화와 정보 은닉

__10.3.1 제너레이터

_10.4 고급 예제

 

<4부> 프로그래밍으로 문제 풀기


11장 알고리즘 복잡도의 간략한 소개

_11.1 계산 복잡도에 관한 고찰

_11.2 점근 표기법

_11.3 중요한 몇 가지 복잡도 종류

__11.3.1 상수 복잡도

__11.3.2 로그 복잡도

__11.3.3 선형 복잡도

__11.3.4 로그 선형 복잡도

__11.3.5 다항 복잡도

__11.3.6 지수 복잡도

__11.3.7 복잡도 비교

 

12장 몇 가지 간단한 알고리즘과 데이터 구조

_12.1 검색 알고리즘

__12.1.1 선형 검색과 간접 참조로 원소에 접근하기

__12.1.2 이진 검색과 가정 활용

_12.2 정렬 알고리즘

__12.2.1 합병 정렬

__12.2.2 파이썬의 정렬 기능

_12.3 해시 테이블

 

13장 그래프 출력과 클래스

_13.1 맷플롯립으로 그래프 그리기

_13.2 모기지 그래프 그리기

_13.3 전염병을 위한 인터랙티브 그래프

 

<5부> 프로그래밍으로 현실 세계 이해하기


14장 배낭 문제와 그래프 최적화 문제

_14.1 배낭 문제

__14.1.1 탐욕 알고리즘

__14.1.2 0/1 배낭 문제의 최적 솔루션

_14.2 그래프 최적화 문제

__14.2.1 고전적인 그래프 문제

__14.2.2 최단 경로: 깊이 우선 탐색과 너비 우선 탐색

 

15장 동적 계획법

_15.1 피보나치수열 다시 살펴보기

_15.2 동적 계획법과 0/1 배낭 문제

_15.3 동적 계획법과 분할 정복

 

16장 랜덤 워크와 데이터 시각화

_16.1 랜덤 워크

_16.2 술에 취한 농부의 산책

_16.3 편향된 랜덤 워크

_16.4 위험한 들판

 

<6부> 데이터 이해하기


17장 확률적 프로그램, 확률 그리고 분포

_17.1 확률적 프로그램

_17.2 간단한 확률 계산하기

_17.3 추론 통계

_17.4 분포

__17.4.1 확률 분포

__17.4.2 정규 분포

__17.4.3 연속 균등 분포와 이산 균등 분포

__17.4.4 이항 분포와 다항 분포

__17.4.5 지수 분포와 기하 분포

__17.4.6 벤포드 분포

_17.5 해싱과 충돌

_17.6 잘하는 팀이 얼마나 자주 이기나요?

 

18장 몬테카를로 시뮬레이션

_18.1 파스칼의 문제

_18.2 크랩스 게임 

_18.3 테이블 룩업을 사용해 성능 높이기

_18.4 π 찾기

_18.5 시뮬레이션 모델에 관한 맺음말

 

19장 샘플링과 신뢰도

_19.1 보스턴 마라톤 데이터 샘플링

_19.2 중심 극한 정리

_19.3 평균의 표준 오차

 

20장 실험 데이터 이해하기

_20.1 스프링 운동

__20.1.1 선형 회귀를 사용해 최적의 직선 찾기

_20.2 발사체 운동

__20.2.1 결정 계수

__20.2.2 계산 모델 사용하기

_20.3 지수적으로 분포된 데이터 다루기

_20.4 이론이 없을 때

 

21장 무작위 시험과 가설 검정

_21.1 유의성 검증하기

_21.2 P 값을 주의하세요

_21.3 단측 1표본 검정

_21.4 유의한가요? 유의하지 않은가요?

_21.5 표본 크기는?

_21.6 다중 가설

_21.7 조건부 확률과 베이즈 통계

__21.7.1 조건부 확률

__21.7.2 베이즈 정리

 

22장 거짓말, 새빨간 거짓말 그리고 통계학

_22.1 가비지 인 가비지 아웃(GIGO)

_22.2 테스트의 불완전성

_22.3 오해하기 쉬운 그래프

_22.4 Cum Hoc Ergo Propter Hoc

_22.5 전체를 알려주지 않는 통계 측정

_22.6 샘플링 편향

_22.7 맥락의 중요성

_22.8 사과와 오렌지 비교하기

_22.9 체리 피킹

_22.10 주의해야 할 외삽

_22.11 텍사스 명사수의 오류

_22.12 혼동하기 쉬운 백분율

_22.13 회귀 오류

_22.14 통계적으로 유의한 차이가 실제로 유의하지 않을 수 있음

_22.15 주의 사항

 

<7부> 머신러닝


23장 판다스로 데이터 탐험하기

_23.1 데이터프레임과 CSV 파일

_23.2 시리즈와 데이터프레임 만들기

_23.3 열과 행 선택하기

__23.3.1 loc와 iloc를 사용해 선택하기

__23.3.2 그룹 선택하기

__23.3.3 내용으로 선택하기

_23.4 데이터프레임 조작하기

_23.5 확장 예제

__23.5.1 온도 데이터

__23.5.2 화석 연료 소비량

 

24장 머신러닝 간략히 살펴보기

_24.1 특성 벡터

_24.2 거리 지표

 

25장 군집

_25.1 Cluster 클래스

_25.2 k 평균 군집

_25.3 가상의 예제

_25.4 실전 예제

 

26장 분류

_26.1 분류기 평가하기

_26.2 마라톤 선수의 성별 예측하기

_26.3 K 최근접 이웃

_26.4 회귀 기반 분류기

_26.5 타이타닉 생존자 예측하기

_26.6 마무리

리뷰

전체 평점

4.9

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

28,000

28,000