참고 서적
도서명: Data Science from Scratch (밑바닥부터 시작하는 데이터 과학) 저자 : Joel Grus 출판 : 프로그래밍 인사이트 |
Ch 1. Introduction
1.1 데이터 시대의 도래
데이터를 통해 할 수 있는 것,
데이터 정의
1.2 데이터 과학이란?
데이터 과학자: 지저분한 데이터에서 통찰(insight), 유용한 규칙을 발견하려는 사람
예시) 페이스북 주위 사람들을 쉽게 찾을 수 있게 연결하기위해 사용자의 고향과 위치정보를 요청함
Target 온라인, 오프라인 구매 내역 데이터로 예측모델 만듦
1.3 동기부여를 위한 상상: 데이텀 주식회사
우리가 이 책을 통해서 상상의 주식회사, 데이텀에 입사했다고 가정해보자.
데이텀에서 맞딱트리는 업무들로 우리는 데이터 과학에 관한 개념을 하나씩 풀어나가볼 것이다.
1.3.1 핵심 인물 찾기
부사장이 데이터 과학의 핵심인물이 누구인지 알아오라는 업무를 내렸다.
우리는 데이텀 네트워크 데이터를 받았고, 딕셔너리 형태로 구성된 사용자 명단을 받았다.
사용자 명단을 살펴보자.
users = [
{ "id": 0, "name": "Hero" },
{ "id": 1, "name": "Dunn" },
{ "id": 2, "name": "Sue" },
{ "id": 3, "name": "Chi" },
{ "id": 4, "name": "Thor" },
{ "id": 5, "name": "Clive" },
{ "id": 6, "name": "Hicks" },
{ "id": 7, "name": "Devin" },
{ "id": 8, "name": "Kate" },
{ "id": 9, "name": "Klein" }
]
이 코드는 id 라는 key와 , name 이라는 key에 각각 해당 value가 입력되어있는 딕셔너리를 users라는 리스트에 저장한 것이다.
아래는 파이썬 자습서에 작성된 딕셔너리의 정의이다.
- 딕셔너리는 종종 다른 언어들에서 “연관 메모리(associative memories)” 나 “연관 배열(associative arrays)” 의 형태로 발견된다.
- 숫자들로 인덱싱되는 시퀀스와 달리, 딕셔너리는 키 로 인덱싱되는데, 모든 불변형을 사용할 수 있다
- 문자열과 숫자들은 항상 키가 될 수 있습니다.
- 튜플이 문자열, 숫자, 튜플들만 포함하면, 키로 사용될 수 있다
- 튜플이 직접적이나 간접적으로 가변 객체를 포함하면, 키로 사용될 수 없다.
- 리스트는 키로 사용할 수 없는데, 리스트는 인덱스 대입, 슬라이스 대입, append() 나 extend() 같은 메서드들로 값이 수정될 수 있기 때문이다.
딕셔너리 사용 예시
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'jack': 4098, 'guido': 4127, 'irv': 4127}
>>> list(tel)
['jack', 'guido', 'irv']
>>> sorted(tel)
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
>>> 'jack' not in tel
False
자세한 코드 설명은 2장, 파이썬 속성 강좌에서 살펴볼 것이다.
다음으로 친구 관계 데이터인 friendship_pairs가 있다.
friendship_pairs = [(0, 1), (0, 2), (1, 2), (1, 3), (2, 3), (3, 4),
(4, 5), (5, 6), (5, 7), (6, 8), (7, 8), (8, 9)]
(0,1)은 id가 0인 사람은 id가 1이라는 사람과 친구라는 뜻이다.
이와 같은 friendship_pairs 관계도를 이미지로 나타내면 다음과 같다.