그래프 표현하기 그래프 표현하기¶ 그래프를 그릴 때는 일반적으로 노드를 동그라미나 사각형으로, 연결선을 선으로 그린다. 위 그래프에서 연결선들의 가중치는 미국 동북부 도시들 간의 대략적인 이동시간을 나타낸다. 이 경우, 노드의 배치는 도시들의 대략적인 지리적 위치를 반영하고 있지만, 일반적으로 그래프의 레이아웃은 임의로 배치된다. 그래프 알고리즘을 구현하기 위해서, 여러분은 그래프를 데이터 구조의 형식으로 나타내는 법을 알아야 한다. 그러나 가장 좋은 데이터 구조를 선택하기 위해서는 그래프가 어떤 작업들을 지원해야 하는지를 먼저 알아야 한다. 이 같은 닭이 먼저냐 달걀이 먼저냐 하는 문제에서, 여러 가지 그래프 알고리즘에 쓰기 좋은 그래프 구조를 먼저 보여주고자 한다. 이후에 이 구조로 다시 돌아와 장단..
그래프란 무엇인가?¶ 많은 사람들이 '그래프'라고 하면 데이터 세트의 표현, 즉 막대 차트나 심전도 같은 것을 연상한다. 이 장에서 다루는 그래프는 그런 것이 아니다. 이 장의 그래프는 이산의, 서로 연결된 원소들이 포함된 시스템을 모델링하기 위한 추상화라고 생각해야 한다. 여기서 원소들은 노드로 표현되고 상호 연결은 연결선으로 표현된다. 예를 들자면 도시 각각을 하나의 노드로, 도시들을 연결하는 도로를 연결선으로 표현해서 도로 지도를 그릴 수 있다. 또는 소셜 네트워크의 경우, 각 사람을 노드로 표현하고 사람들이 서로 '친구'인 경우 그들 사이에 연결선을 그리고, 그렇지 않은 경우 연결선으로 잇지 않는 식으로 표현이 가능하다. 어떤 그래프에서는 연결선들의 길이가 서로 다른데, 이것은 '가중치'나 '비용..
문제 1아래의 코드에서 문자열 s 를 ':' 으로 구분하여 리스트로 저장하라. s = ' abc:de:fghi:jkl\n' 문제 2아래의 코드에서 [5,6] 을 추가하는 두가지 방법을 적용하거나 설명하라. 정답 Untitled13 In [2]: s = ' abc:de:fghi:jkl\n' s.strip().split(':') Out[2]: ['abc', 'de', 'fghi', 'jkl'] In [3]: l = [[1,2], [3,4]] l+[[5,6]] Out[3]: [[1, 2], [3, 4], [5, 6]] In [4]: l = [[1,2], [3,4]] l.append([5,6]) l Out[4]: [[1, 2], [3, 4], [5, 6]]
Plot¶ R 언어에서 표현한 시각화 함수 Plot을 파이썬 언어로 고쳐보자. R 시각화 함수 Plot 출처 https://unfinished-god.com/2019/03/01/r-plot%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%EB%AA%A8%EC%A0%80%EB%AA%A8/ Step0. Plot을 구성하기 위한 Data 만들기¶ In [2]: import numpy as np from sklearn.datasets import load_iris iris = load_iris() In [3]: dir(iris) Out[3]: ['DESCR', 'data', 'feature_names', 'filename', '..
문제 1파이썬의 주석을 다는 방법에는 두 가지가 있다.이 둘을 설명하거나 예제를 들어라. 문제 2파이썬에는 % 기호를 이용해 나머지를 구할 수 있다.이를 이용하여 0~100 사이의 정수 중에 홀수를 출력하거나 리스트로 만들어라 정답 Untitled In [1]: # 이 주석은 결과가 출력이 되지 않습니다. '''이 주석은 결과가 출력됩니다.''' Out[1]: '이 주석은 결과가 출력됩니다.' In [2]: import numpy as np a=np.array(range(101)) a%2==1 list(a[a%2==1]) Out[2]: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49,..
subway 분석 In [1]: import numpy as np import matplotlib.pyplot as plt In [33]: f = open('CARD_SUBWAY_MONTH_201901.csv', encoding='utf-8') head = f.readline() data=[] for line in f: l = line.strip().split(',') l2 = [i.strip('"') for i in l] l2[0]=int(l2[0]) l2[2]=int(l2[2]) l2[4]=int(l2[4]) l2[5]=int(l2[5]) l2[6]=int(l2[6]) l2.append(l2[0]//10000) l2.append((l2[0]//100)%100) # l2[0]%10000//100 l2...
그거거거거ㅏㅓ아ㅓ Roadmap¶다음 순서에 따라 단계적으로 분석을 하며, 쉬운 분석부터 조금씩 더 수준높은 분석을 하도록 하겠다. “19년 1월 서울시 치킨 판매업종 이용 통화량” 데이터 분석 a. 데이터 탐색 -> 초보적인 시각화 b. 데이터를 여러 방향으로 분석 해보기“19년 1월 서울시 중국음식 판매업종 이용 통화량” 데이터 분석“19년 1월 서울시 피자 판매업종 이용 통화량” 데이터 분석1월의 서울시 먹거리(1~3 데이터를 합친 후) 분석2018년 2월 ~ 2019년 1월 까지의 모든 데이터를 합친 후 분석5번분석을 중심으로 인사이트 도출지난 1년간의 먹거리 트렌드가 어떠했는지 알아보고, 앞으로 어떻게 변화 할지 분석Feedback (SK Big Data Hub에서 다양한 종류의 데이터를 매달 ..
2019.02.27 선형회귀 선형회귀 (Linear Regression)¶ 회귀는 데이터가 주어졌을 때, 실수값인 타겟값(또는 목표값)을 예측하는 방법이다. 나이 성별 키 몸무계 35 남 175 67 ... ... ... ... 27 여 163 52 위와 같은 데이터가 주어졌을 때, 키(데이터)에 따른 몸무계(타겟값)를 예측하는 것은 회귀 문제이다. 회귀 중에서도, 직선 또는 곧은 평면(굽은 평면이 아님)으로 타겟값을 예측하는 것을 선형회귀 라고 한다. 아래 그림에서 직선으로 예측한 경우에 해당한다. 속성이 하나 뿐일 때는 위와 같이 직선으로 표현할 수 있지만 속성이 2개일 때는 곧은 평면, 3개 이상에서는 초평면으로 표현한다. 선형회귀에서 굳이 타겟값을 별도로 구분했지만, 다르게 표현하면 타겟값을 포함..