[데이터 과학] 통계 (Statistics)
통계란? 일상생활이나 여러 가지 현상에 대한 자료를 한눈에 알아보기 쉽게 수치로 나타내는 것이다. 어떠한 웹 사이트에서 각 사용자들이 몇 명의 친구를 갖고 있는지 설명해 달라고 요청했다고 하자. 데이터 수가 작다면 사용자와 친구간의 데이터를 그대로 보여주면 되겠지만, 데이터가 많다면 데이터를 다루는 것도 불편하고 이해하기도 힘들 것이다. 이럴 때 통계를 사용하면 데이터를 정제해서 중요한 정보만 전달해줄 수 있다. from collections import Counter # 사용자의 친구수를 히스토그램으로 나타내기 num_friends = [100.0, 49, 41, 40, 25, 21, 21, 19, 19, 18, 18, 16, 15, 15, 15, 15, 14, 14, 13, 13, 13, 13, 12..
벡터(Vector) 란?
1. 벡터란 간단히 말하면, 벡터(vector) 는 벡터끼리 더하거나 상수(scalar) 와 곱해지면 새로운 벡터를 생성하는 개념적인 도구이다. 더 자세하게는, 벡터는 어떤 유한한 차원의 공간에 존재하는 점들이다. 대부분의 데이터, 특히 숫자로 표현된 데이터는 벡터로 표현할 수 있다. 수많은 사람들의 키, 몸무게, 나이에 대한 데이터가 주어졌다고 해보자. 그렇다면 주어진 데이터를 (키, 몸무게, 나이) 로 구성된 3차원 벡터로 표현할 수 있을 것이다. 또 다른 예로, 시험을 네 번 보는 수업을 가르친다면 각 학생의 성적을 (시험1 점수, 시험2 점수, 시험3 점수, 시험4 점수)로 구성된 4차원 벡터로 표현할 수 있을 것이다. 벡터를 가장 간단하게 표현하는 방법은 여러 숫자의 리스트로 표현하는 것이다. ..
big O vs big Ω vs big Θ
O (Big O)학계에서 big-O 는 시간의 상한을 나타낸다. 배열의 모든 값을 출력하는 알고리즘은 O(N) 으로 표현할 수도 있지만, 이 외에 N 보다 큰 big-O 시간으로 표현할 수도 있다. 예를 들어, O(N2),O(N3),O(2N)O(N^2), O(N^3), O(2^N)O(N2),O(N3),O(2N) 도 모두 옳은 표현이다. 다시 말해 실제 알고리즘의 수행시간은 적어도 이들 중 하나보다 빠르기만 하면 된다.Ω (Big Omega)학계에서 Ω 는 하한을 나타낸다. 해당 알고리즘은 Ω 수행 시간보다 빠를 수 없다.Θ (Big Theta)학계에서 Θ 는 O 와 Ω 둘다를 의미한다. 즉, 어떤 알고리즘의 수행시간이 O(N) 이면서 Ω(N) 이라면, 이 알고리즘의 수행 시간을 Θ(N) 으로 표현할 수..