HOME > 상세정보

상세정보

함수형 파이썬 프로그래밍 : 파이썬으로 배우는 쉬운 함수형 프로그래밍

함수형 파이썬 프로그래밍 : 파이썬으로 배우는 쉬운 함수형 프로그래밍 (8회 대출)

자료유형
단행본
개인저자
Lott, Steven 오현석, 역
서명 / 저자사항
함수형 파이썬 프로그래밍 : 파이썬으로 배우는 쉬운 함수형 프로그래밍 / 스티븐 로트 지음 ; 오현석 옮김
발행사항
서울 :   에이콘,   2017  
형태사항
434 p. ; 24 cm
총서사항
Acorn+PACKT technical book
원표제
Functional Python programming : create succinct and expressive implementations with functional programming in Python
ISBN
9788960779761 9788960772106 (Set)
일반주기
색인수록  
일반주제명
Python (Computer program language)
000 00000cam c2200205 c 4500
001 000045971424
005 20190219132402
007 ta
008 190219s2017 ulk 001c kor
020 ▼a 9788960779761 ▼g 94000
020 1 ▼a 9788960772106 (Set)
035 ▼a (KERIS)BIB000014461507
040 ▼a 241018 ▼c 241018 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2017z20
100 1 ▼a Lott, Steven
245 1 0 ▼a 함수형 파이썬 프로그래밍 : ▼b 파이썬으로 배우는 쉬운 함수형 프로그래밍 / ▼d 스티븐 로트 지음 ; ▼e 오현석 옮김
246 1 9 ▼a Functional Python programming : ▼b create succinct and expressive implementations with functional programming in Python
260 ▼a 서울 : ▼b 에이콘, ▼c 2017
300 ▼a 434 p. ; ▼c 24 cm
440 0 0 ▼a Acorn+PACKT technical book
500 ▼a 색인수록
650 0 ▼a Python (Computer program language)
700 1 ▼a 오현석, ▼e
900 1 0 ▼a 로트, 스티븐, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 P999 2017z20 등록번호 121247970 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

함수형 프로그래밍에서 디자인 패턴과 기법을 빌려 간결하고 이해하기 쉬운 파이썬 프로그램을 작성하고자 하는 프로그래머를 위한 도서로, 최근 인기가 높아진 함수형 프로그래밍 기법을 파이썬으로 적용하는 방법을 알려준다.

먼저 함수형 프로그래밍에 대해 소개하고, 일급 시민 함수와 고차 함수 등 기본적인 함수형 프로그래밍 개념을 파이썬으로 활용하는 방법을 설명한 다음, 제네레이터나 이터레이터 등을 활용해 성능과 개발 편의성을 동시에 잡을 수 있는 함수형 프로그래밍 기법을 알려준다. 그 과정에서 데이터 탐색과 관련된 다양한 예제를 통해 데이터를 정리하고 준비하는 함수형 프로그래밍 기법이 인공지능이나 머신 러닝에서 활용할 때 아이디어를 간결하고 우아하게 코딩할 수 있는 좋은 도구가 될 수 있음을 보여준다.

어떤 문제를 함수형으로 접근하면 매우 성능이 뛰어난 알고리즘을 만들 수 있는 경우가 있다. 파이썬에서는 메모리와 처리 시간을 높일 가능성이 있는 큰 중간 데이터 구조를 만들어 내기가 쉽다. 함수형 프로그래밍 디자인 패턴을 활용하면, 큰 리스트를 같은 내용을 쉽게 표현하면서도 훨씬 더 작은 메모리를 차지하고 실행 시간도 더 짧은 제네레이터 식으로 바꿀 수 있다.

파이썬은 배우기 쉽고 확장성과 생산성이 높은 언어로 다양한 분야에서 활용된다. 파이썬의 여러 기능 중에는 함수형 프로그래밍과 잘 어울리는 것이 많다.

이 책에서는 최근 인기가 높아진 함수형 프로그래밍 기법을 파이썬으로 적용하는 방법을 알려준다. 먼저 함수형 프로그래밍에 대해 소개하고, 일급 시민 함수와 고차 함수 등 기본적인 함수형 프로그래밍 개념을 파이썬으로 활용하는 방법을 설명한 다음, 제네레이터나 이터레이터 등을 활용해 성능과 개발 편의성을 동시에 잡을 수 있는 함수형 프로그래밍 기법을 알려준다. 그 과정에서 데이터 탐색과 관련된 다양한 예제를 통해 데이터를 정리하고 준비하는 함수형 프로그래밍 기법이 인공지능이나 머신 러닝에서 활용할 때 아이디어를 간결하고 우아하게 코딩할 수 있는 좋은 도구가 될 수 있음을 보여준다.

★ 이 책에서 다루는 내용 ★
■ 파이썬의 제네레이터 함수와 제네레이터 식을 사용해 엄격하지 않은 방법으로(지연 계산을 활용) 컬렉션을 다루는 방법
■ itertools, functools, multiprocessing, concurrent.futures 등 파이썬 라이브러리 모듈을 사용한 효율적인 함수형 프로그램 작성 방법
■ 객체지향적인 전위 표기법과 후위 표기법을 통해 파이썬 문자열을 활용하는 방법
■ 튜플 종류를 활용해 상태가 있는 클래스 사용을 피하는 방법
■ 합성 함수를 만들기 위해 데코레이터를 설계하고 구현하는 방법
■ max(), min(), map(), filter(), sorted()와 같은 함수를 사용하는 방법
■ 고차 함수를 작성하는 방법

★ 이 책의 대상 독자 ★
이 책은 함수형 프로그래밍에서 디자인 패턴과 기법을 빌려 간결하고 이해하기 쉬운 파이썬 프로그램을 작성하고자 하는 프로그래머를 위한 것이다. 함수형 스타일을 사용하면 일부 알고리즘을 우아하게 기술할 수 있다. 그러한 알고리즘을 사용하는 경우에는 파이썬 프로그램의 가독성을 높이고 유지 보수를 쉽게 하기 위해 함수형 스타일을 채택할 수 있고, 채택 해야만 한다.

어떤 문제를 함수형으로 접근하면 매우 성능이 뛰어난 알고리즘을 만들 수 있는 경우가 있다. 파이썬에서는 메모리와 처리 시간을 높일 가능성이 있는 큰 중간 데이터 구조를 만들어 내기가 쉽다. 함수형 프로그래밍 디자인 패턴을 활용하면, 큰 리스트를 같은 내용을 쉽게 표현하면서도 훨씬 더 작은 메모리를 차지하고 실행 시간도 더 짧은 제네레이터 식으로 바꿀 수 있다.

★ 이 책의 구성 ★
1장, '함수형 프로그래밍 소개'에서는 함수형 프로그래밍을 특징짓는 몇 가지 기법을 소개한다. 각각을 파이썬으로 구현하는 몇 가지 방법을 식별하고, 파이썬 애플리케이션을 만들기 위해 함수형 프로그래밍의 디자인 패턴을 도입하며, 그 장점을 살릴 수 있는 몇 가지 방법을 설명한다.
2장, '함수형 기능 소개'에서는 함수형 프로그래밍 패러다임의 여섯 가지 주요 특징을 살펴본다. 각각을 파이썬으로 구현하는 방법을 자세히 살펴본다. 또한 특징 중 일부는 파이썬에 잘 들어맞지 않는다는 것을 보여줄 것이다. 예를 들면, 많은 함수형 프로그래밍 언어에는 컴파일과 최적화를 지원하기 위한 복잡한 타입 지정 규칙이 있지만, 파이썬은 그렇지 않다.
3장, '함수, 반복자, 제네레이터'에서는 불변적인 파이썬 객체와 제네레이터 식을 활용하고, 함수형 프로그래밍의 개념을 파이썬에 도입하는 방법을 보여준다. 내장 파이썬 컬렉션을 살펴보고, 이를 함수형 프로그래밍의 개념에서 크게 벗어나지 않고 활용하는 방법도 살펴본다.
4장, '컬렉션으로 작업하기'에서는 내장 파이썬 함수를 사용해 데이터의 컬렉션에 대한 작업을 수행하는 방법을 보여준다. 이 장은 any(), all()과 같은, 값의 컬렉션을 축약해 단일 값을 만들어 내는 상대적으로 간단한 함수 몇 가지에 초점을 맞출 것이다.
5장, '고차 함수'에서는 map()과 filter()와 같이 일반적으로 사용하는 고차 함수를 살펴본다. 또한 다른 고차 함수도 몇 가지 다루고, 우리 스스로 고차 함수를 작성하는 방법에 대해서도 설명할 것이다.
6장, '재귀와 축약'에서는 재귀를 사용하는 알고리즘을 설계하는 방법을 보여주고, 이를 고성능 for 루프를 사용해 최적화하는 방법을 설명한다. 또한 collections.Counter()를 포함한 여러 가지 축약 함수도 살펴본다.
7장, '튜플을 사용하는 다른 기법'에서는 불변 튜플과 이름 있는 튜플을 상태가 있는 객체 대신 활용하는 여러 가지 방법을 보여준다. 불변 객체는 훨씬 단순한 인터페이스를 제공한다. 그래서 애트리뷰트를 잘못 사용하거나 객체를 일관성이 없거나 잘못된 상태로 만들 가능성에 대해 걱정하지 않아도 된다.
8장, 'itertools 모듈'에서는 itertools 표준 라이브러리 모들이 제공하는 몇 가지 함수를 살펴본다. 이들을 활용하면 컬렉션이나 제네레이터 함수를 다루는 프로그램을 쉽게 작성할 수 있다.
9장, '더 많은 itertools 사용 기법'에서는 itertools 모듈이 제공하는 조합 함수에 대해 설명한다. 이러한 함수들은 조금 덜 유용하다. 이 장에서는 이러한 함수를 부주의하게 사용함으로써 조합으로 인한 폭발적인 복잡도 증가가 발생하는 경우를 보여주는 예제를 다룬다.
10장, 'functools 모듈'에서는 함수형 프로그래밍을 위해 그 모듈에 있는 함수를 활용하는 방법을 보여준다. 이 모듈에 있는 함수 중 몇 가지는 데커레이터를 만들 때 사용하기 적합하므로 11장에서 다룬다. 하지만 나머지 함수는 함수형 프로그램을 설계하고 구현할 수 있는 몇 가지 방법을 제공한다.
11장, '데커레이터 설계 기법'에서는 데커레이터를 합성 함수 제작을 위한 방법으로 사용할 수 있다는 것을 보여준다. 이러한 사용 방법은 상당한 유연성을 가지고 있지만, 개념적인 한계도 존재한다. 또한 지나치게 복잡한 데커레이터가 유용성을 제공하기 보다는 혼동을 야기할 수 있는 몇 가지 이유를 살펴본다.
12장, '다중 프로세스와 스레드 모듈'에서는 함수형 설계를 잘 하면, 그 결과로 처리 부하를 분산시킬 수 있다는 사실을 알려준다. 불변 객체를 사용한다는 것은 잘못 동기화한 쓰기 연산으로 인해 객체가 오염되는 일이 없다는 뜻이다.
13장, '조건식과 연산자 모듈'에서는 파이썬의 엄격한 평가 순서를 깰 수 있는 방법을 보여준다. 하지만 그러한 방면에서 우리가 할 수 있는 일은 한계가 있다. 또한 operator 모듈을 살펴보고, 몇 가지 간단한 처리를 수행할 때 그 모듈을 사용하면 더 명확하게 프로그램을 짤 수 있음을 보여준다.
14장, 'PyMonad 라이브러리'에서는 PyMonad 라이브러리의 기능을 일부 살펴본다. PyMonad는 몇 가지 함수형 프로그래밍 기능을 추가 제공한다. 또한 이 라이브러리를 활용하여 모나드를 배울 수 있다. 일부 함수형 언어에서는 최적화 시 원하지 않는 순서로 뒤섞일 수 있는 연산의 순서를 정확하게 지정하기 위해 모나드를 사용해야만 한다. 하지만 파이썬은 이미 식과 문장의 엄격한 실행 순서를 지키기 때문에 모나드를 배우는 것은 실용성을 위해서라기보다는 교육적인 목적을 위해서다.
15장, '웹 서비스에 대한 함수적 접근'에서는 웹 서비스를 요청을 응답으로 변경하는 여러 가지 함수를 내포하는 컬렉션으로 정의할 수 있다는 사실을 확인한다. 또한 동적으로 사용자 요청에 응답하는 웹 콘텐츠를 만들 때 함수형 프로그래밍의 개념을 활용할 수 있는 방법을 살펴본다.
16장, '최적화와 개선'에서는 성능과 최적화를 위한 조언을 제공한다. 구현하기 쉽고, (올바른 맥락에서 활용하기만 하면) 성능을 극적으로 향상시켜줄 수 있는 메모라이제이션(memorization) 등의 기법을 강조할 것이다.


정보제공 : Aladin

저자소개

스티븐 로트(지은이)

컴퓨터가 크고 비싸며 드물던 70년대부터 프로그래밍을 시작했으며, 프리랜서 소프트웨어 개발자 및 아키텍트로서 다양한 규모의 수많은 프로젝트를 수행했다. 10년 이상 비즈니스 문제를 해결하기 위해 파이썬을 사용해왔다. 현재 파이썬을 활용해 마이크로서비스와 ETL 파이프라인을 구현하고 있으며, 『객체지향 파이썬 프로그래밍』(에이콘, 2017), 『함수형 파이썬 프로그래밍』(에이콘, 2017), 『유쾌한 파이썬』(에이콘, 2015), 『Python Essentials』(packt, 2015) 등을 저술했다.

오현석(옮긴이)

비사이드소프트(BSIDESOFT) 이사로 일하면서 매일 고객의 요청에 따라 코드를 만들고 있는 현업 개발자다. 어릴 때 처음 접한 컴퓨터에 매혹된 후 경기과학고등학교, KAIST 전산학 학사와 프로그래밍 언어 전공 석사를 취득하며 계속 컴퓨터를 사용해왔다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부하면서 즐거움을 찾는다. 시간이 아주 많이 남을 때는 시뮬레이션 게임을 하면서 머리를 식히며, 어떻게 하면 막둥이를 프로그래밍의 세계로 끌어들일 수 있을지 고민 중인 아빠이기도 하다. 『Kotlin in Action』(에이콘, 2017), 『배워서 바로 쓰는 스프링 프레임워크』(한빛미디어, 2020), 『Programming in Scala 4/e』(에이콘, 2021), 『한 권으로 읽는 컴퓨터 구조와 프로그래밍』(책만, 2021) 등 20권 이상의 책을 번역했다.

정보제공 : Aladin

목차

1장, 함수형 프로그래밍 소개 
__패러다임 구별하기 
__명령형 패러다임 구분하기 
__함수형 패러다임 사용하기 
__함수형 혼합체 사용하기 
__객체 생성 살펴보기 
__거북이의 스택 
__함수형 프로그래밍의 고전적인 예제 
__탐색적 자료 분석 
__요약 

2장, 함수형 기능 소개 
__일급 계층 함수 
____순수 함수 
____고차 함수 
__변경 불가능한 데이터 
__엄격한 평가와 엄격하지 않은 평가 
__명시적 루프 상태 대신 재귀 사용 
__함수형 타입 시스템 
__낯익은 영역 
__어려운 개념 남겨두기 
__요약 

3장, 함수, 반복자, 제네레이터 
__순수 함수 작성하기 
__일급 계층 객체인 함수 
__문자열 사용하기 
__tuple과 namedtuple 사용하기 
____제네레이터 식 사용하기 
____제네레이터의 한계 
____제네레이터 식 조합하기 
__제네레이터 함수를 사용해 원자료 정리하기 
__list, dict, set 사용하기 
____상태가 있는 매핑 사용하기 
____bisect 모듈을 사용해 매핑 만들기 
____상태가 있는 집합 사용하기 
__요약 

4장, 컬렉션으로 작업하기 
__함수의 다양성에 대한 정리 
__반복 가능 객체로 작업하기 
____XML 파일 구문 분석하기 
____파일을 상위 수준에서 구문 분석하기 
____시퀀스의 원소를 둘씩 짝 짓기 
____iter() 함수를 명시적으로 사용하기 
____단순한 루프 확장하기 
____제네레이터 식을 스칼라 함수에 적용하기 
____축약으로 any()와 all()을 사용하기 
____len()과 sum() 사용하기 
____통계에 합계와 원소 개수 활용하기 
__zip()을 사용해 시퀀스를 구조화하거나 펼치기 
____튜플로 묶은 시퀀스를 다시 풀기 
____시퀀스 펼치기 
____평평한 시퀀스 구조화하기 
____평면 시퀀스 구조화하기 - 다른 방법 
__순서를 바꾸기 위해 reversed() 사용하기 
__enumerate()를 사용해 인덱스 번호 포함시키기 
__요약 

5장, 고차 함수 
__max()와 min()을 사용해 최댓값, 최솟값 알아내기 
__파이썬의 람다 식 사용하기 
__람다와 람다대수 
__map() 함수를 사용해 함수를 컬렉션에 적용하기 
____map()에 람다 형식 사용하기 
__map()을 여러 시퀀스에 활용하기 
__filter()를 사용해 데이터를 받아들이거나 거부하기 
__filter()를 사용해 이상값 식별하기 
__iter() 함수와 끝을 표시하는 특별한 값 사용하기 
__sorted()를 사용해 데이터 정렬하기 
__고차 함수 작성하기 
__고차 매핑과 필터 작성하기 
____매핑하면서 데이터 풀기 
____매핑하면서 추가 데이터를 감싸기 
____매핑하면서 데이터를 펼치기 
____걸러내면서 데이터 구조화하기 
__제네레이터 함수 작성하기 
__Callable로 고차 함수 만들기 
____좋은 함수형 설계를 보장하기 
__디자인 패턴 살펴보기 
__요약 

6장, 재귀와 축약 
__수를 계산하는 간단한 재귀 
____꼬리재귀 호출 구현하기 
____재귀를 그대로 남겨두기 
____처리하기 어려운 꼬리재귀 다루기 
____재귀를 사용해 컬렉션 처리하기 
____컬렉션에 대한 꼬리 호출 최적화 
____축약과 겹치기 - 많은 값을 한 가지 값으로 줄이기 
__그룹 만들기 축약 - 많은 값을 좀 더 적은 값으로 줄이기 
____Counter로 매핑 만들기 
____정렬을 사용해 매핑 만들기 
____키 값에 따라 데이터를 그룹화하거나 분할하기 
____더 일반적인 그룹화 축약 작성하기 
____고차 축약 함수 작성하기 
____파일 구문 분석기 작성하기 
________CSV 파일 구문 분석하기 
________헤더가 있는 일반 텍스트 파일 구문 분석하기 
__요약 

7장, 튜플을 사용하는 다른 기법 
__변경 불가능한 이름 있는 튜플을 레코드로 사용하기 
__함수형 생성자로 이름 있는 튜플 만들기 
__상태가 있는 클래스 사용을 피하기 위해 튜플 사용하기 
____통계적인 순위 할당하기 
____상태를 바꾸는 대신 감싸기 
____상태를 바꾸는 대신 다시 감싸기 
____스피어맨 순위 상관계수 계산하기 
__다형성과 파이썬다운 패턴 매치 
__요약 

8장, itertools 모듈 
__무한 반복자로 작업하기 
____count()로 개수 세기 
____cycle()을 사용해 순환되는 원소를 계속 반복하기 
____repeat()로 단일 값 반복하기 
__유한한 반복자 사용하기 
____enumerate()로 수 할당하기 
____accumulate()로 현재까지의 합계 구하기 
____chain()으로 반복자 조합하기 
____groupby()로 반복자 분할하기 
____zip_longest(), zip()을 사용해 반복 가능 객체 합치기 
____compress()로 걸러내기 
____islice()로 부분 집합 선택하기 
____dropwhile()과 takewhile()로 상태를 사용해 걸러내기 
____걸러내기 위한 두 가지 접근 방법인 filterfalse()와 filter() 
____starmap()과 map()을 사용해 함수를 데이터에 적용하기 
__tee()를 사용해 반복자 복제하기 
__itertools 요리법 
__요약 

9장, 더 많은 itertools 사용 기법 
__데카르트 곱 열거하기 
__곱을 축약하기 
____거리 계산하기 
____모든 픽셀과 모든 색 얻기 
____성능 분석 
____문제를 다시 배열하기 
____두 가지 변환 조합하기 
__값의 컬렉션 순열 구하기 
__모든 조합 구하기 
__요리법 
__요약 

10장, functools 모듈 
__함수 도구 
lru_cache로 결과 캐시하기 
__완전한 순서가 정해져 있는 클래스 정의하기 
____수 클래스 정의하기 
__partial()로 인자 중 일부만 적용하기 
__데이터 집합을 reduce()를 사용해 축약하기 
____map()과 reduce() 조합하기 
____reduce()와 partial() 사용하기 
____원데이터를 정리하기 위해 map()과 reduce() 사용하기 
____groupby()와 reduce() 사용하기 
__요약 

11장, 데커레이터 설계 기법 
__고차 함수로서의 데커레이터 
____functools의 update_wrapper() 함수 사용하기 
__횡단 관심사 
__합성 설계 
____잘못된 데이터 처리하기 
__매개변수를 데커레이터에 추가하기 
__좀 더 복잡한 데커레이터 구현하기 
__설계의 한계를 인식하기 
__요약 

12장, 다중 프로세스와 스레드 모듈 
____동시성의 진정한 의미는 무엇인가? 
____경계 조건 
____프로세스나 스레드 사이에 자원 공유하기 
____어디서 이익이 누적되는가? 
__다중 프로세싱 풀과 작업 사용하기 
____여러 큰 파일 처리하기 
____로그 파일 구문 분석하기 - 행 수집하기 
____로그 항목을 이름 있는 튜플로 만들기 
____Access 객체의 추가 필드 구문 분석하기 
____자세한 접근 정보 걸러내기 
____자세한 접근 정보 분석하기 
____완전한 분석 프로세스 
__동시 처리에 다중 프로세스 풀을 사용하기 
____apply()를 사용해 단일 요청 만들기 
____map_async(), starmap_async(), apply_async() 사용하기 
____더 복잡한 다중 프로세스 구조 
____concurrent.futures 모듈 사용하기 
____concurrent.futures 스레드 풀 사용하기 
____스레드와 큐 모듈 사용하기 
____동시 처리 설계하기 
__요약 

13장, 조건식과 연산자 모듈 
__조건식 평가하기 
____엄격하지 않은 딕셔너리 규칙 활용하기 
____참인 조건식 컬러내기 
__람다 대신 operator 모듈 사용하기 
____고차 함수를 사용할 때 이름 있는 애트리뷰트 가져오기 
__연산자를 사용한 starmap 
__연산자를 사용해 축약하기 
__요약 

14장, PyMonad 라이브러리 
__다운로드 및 설치하기 
__함수적 합성과 커링 
____커링한 고차 함수 사용하기 
____더 어려운 방식으로 커링하기 
__함수적 합성과 PyMonad 곱셈 연산자 
__펑터와 적용 가능 펑터 
____지연 List() 펑터 사용하기 
__모나드의 개념과 bind() 함수, 이진 오른쪽 시프트 연산자(>>) 
__모나드를 사용해 시뮬레이션 구현하기 
__추가 PyMonad 기능들 
__요약 

15장, 웹 서비스에 대한 함수적 접근 
__HTTP 요청-응답 모델 
____쿠키로 상태 주입하기 
____서버를 함수형으로 설계하기 
____함수적인 관점에서 더 깊이 살펴보기 
____서비스 내포시키기 
__WSGI 표준 
____WSGI 처리 도중에 예외 발생시키기 
____실용적인 WSGI 애플리케이션 
__웹 서비스를 함수로 정의하기 
____WSGI 애플리케이션 만들기 
____원데이터 얻기 
____필터 적용하기 
____결과 직렬화하기 
____데이터를 JSON이나 CSV로 직렬화하기 
____데이터를 XML로 직렬화하기 
____HTML로 데이터 직렬화하기 
__사용량 추적하기 
__요약 

16장, 최적화와 개선 
__메모이제이션과 캐싱 
__메모이제이션 특화시키기 
____꼬리재귀 최적화 
__메모리 최적화 
__정확도 최적화 
____고객의 요구에 맞춰 정확도를 감소시키기 
__사례 분석 - 카이 제곱을 사용한 결정 
____원데이터를 Counter 객체를 사용해 걸러내고 축약하기 
____요약한 데이터 읽기 
____Counter 객체에서 확률 계산하기 
____다른 요약 방법 
__예상 값을 계산하고 분할표 표시하기 
____카이 제곱 값 계산하기 
____카이 제곱 문턱값 계산하기 
____부분 감마 함수 계산하기 
____완전한 감마 값 계산하기 
____임의적인 분포의 확률 계산하기 
__요약

관련분야 신착자료

Ramamurthy, Bina (2021)