데이터의 시각화 데이터에는 비즈니스가 담겨 있다. 데이터 시각화의 목적은 비즈니스의 인사이트를 파악하는 것. 언제나 요약된 정보가 표현되기 때문에, 요약을 하는 관점에 따라 해석의 결과가 달라진다. 어떤 식으로든 요약을 한다면 정보의 손실이 발생한다는 걸 유념해야 한다. matplotlib,seaborn data.dropna(axis = 0, inplace = True) dropna는 Nan을 없애는 함수. how=any 혹은 all을 하는데, 디폴트는 any. axis=0이면 행을 삭제하는 것. 차트 그리기 plt.plot(df['컬럼명']) plt.show() 이때 X축은 해당 값의 인덱스 기준이다. 인덱스 기준이라서 값이 들쭉날쭉 할 수 있다. 물론 X축과 Y축을 지정할 수도 있다. plt.plot..
다익스트라 알고리즘은 하나의 정점에서 다른 정점으로 갈 때, 최단 경로를 알려주는 알고리즘이다. 여러개의 정점이 존재하는 그래프에서, 간선에 다음 노드로 가는 거리가 표시된다. 그 이후, 각 상황마다 갈 수 있는 짧은 경로를 선택한 뒤, 전에 있던 경로와 비교 갱신하여 최단 거리를 찾는다. 정확한 순서는 다음과 같다. 1. 출발 노드 설정 2. 출발 노드를 기준으로 각 노드의 최소 비용을 저장(위에서는 P와 U. 나머지는 inf 처리하는데 그냥 충분히 높은 값을 주면 된다.) 3. 방문하지 않은 노드 중에서 가장 비용이 적은 노드를 선택(여기서는 P) 4. 해당 노드를 거쳐서 특정한 노드로 가는 경우를 고려하여 최소 비용을 갱신(즉, P에서는 X,Q로 갈 수 있는데 X로 가는 방식이 3+1과 2+4가 있..
그래프에서 사이클이란 간단하다. 쉽게 말해서 자기 자신으로 돌아올 수 있는지를 찾는 것. 방법에는 union-find와 dfs의 백엣지 검출이 있다. 이때 정점 n개, 간선 n-1개인 그래프는 트리이기에 정점 n개, 간선 n개인 그래프가 되어야 하나의 사이클이 존재한다. 트리에서는 visited 배열 없이도 DFS 탐색의 적용이 가능하다. 직전 노드가 어디인지만 표시해주면 된다. 사이클 검출 방식 사이클에서 그래프를 찾기 위해 n-1개의 간선을 탐색 한 후, 다시 vistied한 정점을 발견한다면 그 정점에 의해 사이클이 형성된다. 사이클에 포함된 정점들이 어떻게 되어 있는 건지 알려면 정점이 어디서 부터 온 것인지를 저장해놓으면 된다. 따라서 dfs로도 사이클을 검출할 수 있다. def has_cycl..