따라하며 배우는 파이썬과 데이터 과학 (파이썬으로 시작하는 데이터 과학과 기계학습 | 개정판)

따라하며 배우는 파이썬과 데이터 과학 (파이썬으로 시작하는 데이터 과학과 기계학습 | 개정판)

$38.97
Description
이 책은 파이썬 언어를 빠르게 익히고자 하는 독자들을 위한 책이다. 또한 파이썬을 이용하여 데이터 분석과 기계학습, 딥러닝까지 폭넓게 알아보고자 하는 독자들을 위하여 집필되었다.
파이썬은 간결한 코드로도 엄청나게 많은 일을 할 수 있으며, 이것이 지금의 영예를 누릴 수 있게 된 가장 중요한 이유이다. 특히 최근의 컴퓨터 과학 분야에서 가장 중요한 영역이라 할 데이터 과학에 최적인 언어이면서, 기계학습과 인공지능 분야의 소프트웨어 개발을 가장 효율적으로 해낼 수 있는 언어이다.
저자들은 독자들에게 파이썬의 문법을 설명하는 일 이상을 하고 싶었다. 그러한 이유로 파이썬의 강력한 능력을 드러내어, 더 깊고 풍부한 프로그래밍의 세계로 독자를 안내하기 위해 이 책을 기획하였다. 독자들에게 파이썬 언어의 핵심을 전달하는 일과 함께 수치 데이터, 텍스트와 이미지 데이터를 전문가처럼 다룰 수 있도록 돕는 것이 이 책의 목적이다. 또한 파이썬의 큰 특징인 객체지향 프로그래밍 기법을 이해할 수 있도록 틈틈이 예제 코드와 설명도 추가하였다.

개정판의 특징
- 파이썬을 처음 익히는 독자들을 위한 친절하고 상세한 설명과 많은 예시 그림을 수록하였다.
- 각 장은 핵심주제에 맞는 짧은 절로 나뉘어져 있어 간결하게 핵심을 파악할 수 있다.
- 초판에서 부족했던 데이터 시각화를 위하여 시본 라이브러리를 익힐 수 있는 장을 추가하였다.
- 독자들이 이해한 내용을 스스로 연습하고 확인해 볼 수 있는 LAB과 도전문제를 수록하였다.
- 파이썬의 기초부터 시작하지만 실무에 활용 가능한 데이터 처리, 시각화 기술을 다루고 있다.
- 기계학습과 인공지능 분야의 기초를 독자들이 쉽게 이해할 수 있도록 하였다.
- 기계학습의 주요 라이브러리인 sckit-learn과 최신 버전의 텐서플로 2.0을 사용하였다.
저자

천인국

1983年 서울대학교 전자공학과 공학사
1985年 한국과학기술원 전기및전자공학과 공학석사
1993年 한국과학기술원 전기및전자공학과 공학박사
1985年~1988年 삼성전자 종합연구소 주임 연구원
1993年~현재 순천향대학교 컴퓨터 공학과 교수
2005年 캐나다 UBC 방문 교수

목차

PART 1 파이썬 기초체력 다지기
Chapter 01 데이터 과학과 파이썬의 세계로
1.1 데이터에 숨겨진 보물 찾기 : 데이터 과학의 세계로 출발
1.2 데이터 처리 과정과 프로그램
1.3 프로그래밍을 꼭 알아야 하나
1.4 파이썬 개발 도구 설치하기
1.5 파이썬 개발도구에서 ‘Hello World’를 출력해보자
1.6 무작정 계산부터 해보자
1.7 대화식 모드와 스크립트 모드를 알아보자
1.8 터틀 그래픽으로 눈에 보이는 결과를 만들어 보자
1.9 파이썬이 정말로 편리한 이유 : 모듈 설치하기
LAB 1-1 자주 사용하게 될 print() 함수를 연습해 보자
LAB 1-2 터틀 그래픽으로 삼각형을 그려 보자
핵심 정리
주관식 문제
심화문제

Chapter 02 값을 담아 다루어 보자
2.1 데이터를 저장하는 공간 : 변수
2.2 변수의 이름은 어떻게 짓나
LAB 2-1 신체 질량 지수를 파이썬으로 계산하기
LAB 2-2 피자의 면적을 계산해보자
LAB 2-3 터틀 그래픽으로 피자그리기
LAB 2-4 복리 이자 계산하기
2.3 변수를 사용해서 좋은 점이 뭘까
2.4 변수의 자료형을 알려면 : type() 함수
2.5 컴퓨터 수치 표현의 한계, 그리고 컴퓨터의 한계
2.6 문자열을 만드는 방법
2.7 왜 오류가 발생할까 : 자료형의 변환
2.8 사용자로부터 정수 입력받기
LAB 2-5 로봇 기자가 야구기사를 쓰다
2.9 객체와 메소드 그리고 함수
LAB 2-6 부동산 광고 만들기에 도전하자
핵심 정리
주관식 문제
심화문제

Chapter 03 연산자로 계산을 해 보자
3.1 수식은 어디에나 있다
3.2 수식과 연산자는 어떻게 쓰는 걸까
3.3 거듭제곱 연산자 : **
LAB 3-1 화씨온도를 섭씨온도로 변환하기
LAB 3-2 몸무게와 키를 입력받아 BMI 계산하기
LAB 3-3 자동 판매기 프로그램을 만들어 보자
3.4 복합 할당 연산자라는 편리한 연산자
3.5 AND, OR, NOT도 연산자로 사용가능하다 : 논리 연산자
LAB 3-4 평균 구하기 - 연산자 우선순위
3.6 이진수를 잘 다루는 컴퓨터에 최적화된 연산자 : 비트 연산자
3.7 연산자 사이에도 먼저 처리하는 것이 있다
3.8 random 모듈과 math 모듈로 다양한 기능을 사용해보자
핵심 정리
주관식 문제
심화문제

Chapter 04 조건을 따져 실행해보자
4.1 프로그램의 기본 제어 구조는 크게 세 가지가 있다
4.2 조건이 맞을 때만 실행되는 if 문
4.3 배타적 조건에 따라 실행하는 if-else 문
4.4 다양한 터틀 그래픽 명령어
4.5 터틀 객체와 스크린 객체
LAB 4-1 입력 숫자에 따라 터틀 그래픽을 제어해보자
LAB 4-2 영화를 볼 수 있는 나이 제한 검사를 하자
LAB 4-3 거북이 제어하기
LAB 4-4 윤년 판단은 어떻게 하지
LAB 4-5 랜덤 함수로 동전 던지기 게임을 만들자
LAB 4-6 원의 내부에 있는 점일까 외부에 있는 점일까
4.6 조건이 거짓일 때 연속하여 다른 조건을 검사
LAB 4-7 로그인 처리하기
LAB 4-8 컴퓨터와 승부차기 게임을 만들어보자
LAB 4-9 입력을 받아서 도형 그리기를 해보자
핵심 정리
주관식 문제
심화문제

Chapter 05 여러 번 반복하는 일을 하자
5.1 왜 반복문이 중요한가
5.2 횟수를 정해놓고 반복시키자
5.3 for 문과 찰떡 궁합인 range() 함수
LAB 5-1 터틀 그래픽으로 여러 개의 원을 그려 보자
LAB 5-2 반복을 사용하여 도형을 그리자
LAB 5-3 N-각형 그리기
LAB 5-4 반복을 이용하여 팩토리얼을 계산하기
5.4 조건에 따라 반복해서 실행하는 while 문
LAB 5-5 사용자로부터 암호를 받아 로그인하기
5.5 일정한 횟수 반복에 while 사용하기
LAB 5-6 입력받은 수를 사용하는 구구단 출력
LAB 5-7 while 문으로 별 그리기를 해보자
LAB 5-8 간단한 코드로 멋진 나선형 도형 그려보기
LAB 5-9 무한 반복문으로 숫자 맞추기 게임을 만들자
LAB 5-10 암산 문제를 만들어보자
5.6 무한 루프와 break로 빠져나가기
5.7 출력을 예쁘게 만드는 포매팅
핵심 정리
주관식 문제
심화문제

Chapter 06 함수로 일처리를 짜임새있게 하자
6.1 짜임새 있는 기능을 만드는 멋진 기능 : 함수
6.2 함수를 만들고 불러서 일을 시켜보자 158
6.3 함수에 일을 시키고 그 값을 받아오도록 하자
6.4 여러 개의 값을 넘겨주고 여러 개의 값을 돌려받자
LAB 6-1 사각형을 그리는 함수 만들어보기
6.5 변수의 범위는 어디까지인가
6.6 함수에 쉽게 일을 시키는 디폴트 인자
LAB 6-2 주급 계산 프로그램
LAB 6-3 n-각형을 그리는 함수 만들어보기
LAB 6-4 리스트에서 최대/최소값을 찾는 함수
LAB 6-5 리스트에서 최대/최소값을 찾아서 두 개를 반환하는 함수
6.7 자신을 호출하는 재귀함수
LAB 6-6 피보나치 함수 계산하기
6.8 모듈을 이용해서 함수를 재사용하자
6.9 모듈과 별명 만들기
핵심 정리
주관식 문제
심화문제

Chapter 07 데이터를 리스트와 튜플로 묶어보자
7.1 리스트는 무엇이고 왜 필요한가
7.2 리스트 연산을 해보자
LAB 7-1 입력을 받아 맛있는 과일의 리스트를 만들어 보자
LAB 7-2 2에서 100까지의 소수를 구해보자
7.3 인덱싱과 슬라이싱을 해 보자
7.4 리스트의 원소 값을 자유롭게 조작해 보자
LAB 7-3 도시의 인구 자료에 대한 슬라이싱을 해보자
7.5 리스트의 메소드와 여러 기능들
7.6 리스트를 크기에 따라 정렬해보자
LAB 7-4 오늘의 명언을 골라주는 기능을 만들자
LAB 7-5 도시의 이름과 인구를 튜플로 묶어보자
7.7 바퀴의 재발명?
7.8 리스트 객체의 생성과 참조라는 깊이있는 개념
7.9 리스트 함축은 코드를 짧고 간결하게 만드는데 사용된다
7.10 한번 생성하면 그 값을 고칠 수 없는 자료형 : 튜플
7.11 zip() 함수를 사용한 집적화
7.12 클래스와 객체가 무엇인가
핵심 정리
주관식 문제
심화문제

Chapter 08 연관된 데이터를 딕셔너리로 짝을 짓자
8.1 키와 값을 가진 딕셔너리로 자료를 저장하자
8.2 딕셔너리와 리스트의 비교
8.3 딕셔너리의 다양한 메소드
8.4 람다 함수 = 이름이 없는 함수
LAB 8-1 편의점 재고 관리 프로그램을 만들자
LAB 8-2 영한 사전을 만들어 보자
8.5 순서가 중요하지 않은 대상들이 모이면 : 집합
8.6 집합에 적용할 수 있는 다양한 연산들을 살펴보자
8.7 리스트, 튜플, 집합, 딕셔너리를 비교하자
LAB 8-3 파티에 동시에 참석한 사람 알아내기
8.8 파일로부터 자료를 읽고 저장해보자
LAB 8-4 파일에서 사용된 단어 구하기
8.9 두 수의 약수와 최대공약수 그리고 프로그래밍적인 사고
핵심 정리
주관식 문제
심화문제

PART 2 데이터 과학과 인공지능
Chapter 09 텍스트를 처리해보자
9.1 ChatGPT의 충격
9.2 기본적인 텍스트 처리
9.3 텍스트를 변경하고 포매팅하는 방법
LAB 9-1 글자 수, 단어 수, 평균 단어 길이
LAB 9-2 불용어 제거하기
9.4 불용어를 쉽게 처리하자
LAB 9-3 트위터 메시지 처리
LAB 9-4 단어 빈도 계산
LAB 9-5 영화평 분석
9.5 워드 클라우드
9.6 한글 워드클라우드와 이미지 형태로 만들기
LAB 9-6 위키피디아 워드 클라우드
9.7 정규식을 알아보자
9.8 정규식을 이용하여 특정한 패턴 찾기
9.9 정규식을 이용하여 패턴 대체하기
LAB 9-7 HTML 태그를 제거하자
핵심 정리
주관식 문제
심화문제

Chapter 10 넘파이로 수치 데이터를 처리해보자
10.1 리스트보다 넘파이의 배열이 훨~씬~ 빠르다
10.2 넘파이의 별칭 만들기, 그리고 간단한 배열 연산하기
10.3 강력한 넘파이 배열의 연산을 알아보자
LAB 10-1 ndarray 객체를 생성하고 속성을 알아보자
LAB 10-2 여러 사람의 BMI를 빠르고 간편하게 계산하기
10.4 인덱싱과 슬라이싱을 넘파이에서도 할 수 있다
10.5 2차원 배열의 인덱싱
10.6 넘파이 스타일의 2차원 배열 슬라이싱
LAB 10-3 2차원 배열 연습하기
LAB 10-4 넘파이 배열의 형태를 알아내고 슬라이싱하여 연산하기
10.7 arange() 함수와 range() 함수의 비교
LAB 10-5 2차원 배열에서 특정 조건을 만족하는 행만 추출하기
10.8

출판사 서평

1. ‘이 장에서 배울 것들’에서는 각 장이 시작할 때마다 그 장에서 독자가 알아야 할 핵심 내용을 알려 준다.
2. 각 장은 1~2페이지의 작은 절로 구성되어 있으며, 절의 제목을 통해서 핵심 주제를 알 수 있다.
3. ‘도전문제’를 통해서 독자들은 배운 내용을 한 번 더 복습할 수 있으며, 문제를 해결하는 즐거움을 누릴 수 있다.
4. ‘잠깐’ 칼럼은 잠시 쉬어가는 곳으로 데이터 과학과 관련하여 독자 여러분이 알아두면 좋을 풍부한 시사, 상식 정보를 담고 있다.
5. ‘LAB’은 각 절에서 학습한 내용을 연습해 볼 수 있는 문제를 담고 있다. 문제뿐만 아니라 힌트와 해답 코드가 주어져 있으므로 자신의 풀이와 해답 코드를 비교하며 코딩 실력을 향상시킬 수 있다.
6. ‘핵심 정리’를 통해서 각 장의 핵심을 살펴볼 수 있다.
7. ‘주관식 문제’를 통해서 각 장의 중요한 내용을 복습할 수 있다.
8. ‘심화문제’는 각 장에서 익힌 내용을 깊이 있게 한 번 더 확인하는 데 도움이 될 다양한 문제를 수록하였다.