개인 재정 Python을 사용하여 데이터 과학을위한 그래프를 개발하는 방법

Python을 사용하여 데이터 과학을위한 그래프를 개발하는 방법

차례:

비디오: 파이썬 강좌 | Python MOOC | 파이썬 개발환경 개요 2024

비디오: 파이썬 강좌 | Python MOOC | 파이썬 개발환경 개요 2024
Anonim

그래프는 데이터 과학자에게 유용합니다. 그래프 는 Pythopn에서 라인을 사용하여 데이터 포인트 간의 연결을 보여주는 데이터를 묘사 한 것입니다. 그 목적은 일부 데이터 포인트가 다른 데이터 포인트와 관련되지만 그래프에 나타나는 모든 데이터 포인트와 관련이 없음을 보여주는 것입니다.

지하철 시스템의지도를 생각해보십시오. 각 스테이션은 다른 스테이션에 연결되지만 단일 스테이션은 지하철 시스템의 모든 스테이션에 연결하지 않습니다. 그래프는 소셜 미디어 분석에 사용되기 때문에 인기있는 데이터 과학 주제입니다. 소셜 미디어 분석을 수행 할 때 Facebook, Google+, Twitter 또는 LinkedIn과 같은 소셜 허브에서 친구 또는 비즈니스 연결과 같은 관계 네트워크를 묘사하고 분석합니다.

undirected 이며 그래프는 단순히 데이터 요소 사이의 선을 나타내고 는 지시 된 이며, 화살표는 선 표시에 추가됩니다. 그 데이터는 특정 방향으로 흐른다. 예를 들어, 물 시스템의 묘사를 고려해보십시오. 대부분의 경우 물이 한 방향으로 만 흐르게되므로 화살표와 같이 물에 대한 소스와 대상 간의 연결뿐만 아니라 화살표를 사용하여 물 방향을 표시하기 위해 유향 그래프를 사용할 수 있습니다. > -

무 방향성 그래프 개발

무 방향성 그래프는 단순히 노드 간의 연결을 보여줍니다. 출력은 한 노드에서 다른 노드로의 방향을 제공하지 않습니다. 예를 들어 웹 페이지간에 연결을 설정할 때 방향이 내포되지 않습니다. 다음 예제에서는 무향 그래프를 만드는 방법을 보여줍니다.

importx를 nx import matplotlib로 가져옵니다. plpl G = nx로 pyplot. 그래프 () H = nx. add_node_from ([2, 3]) G. add_nodes_from ([2, 3]) G. add_nodes_from ([2, 3]) G. add_nodes_from add_edges_from ([(4, 7), ((5, 6)]) add_edges_from ([(2,3), (4,6) 5, 7), (6, 7)]) G. add_edges_from (H. edges ()) nx. draw_networkx (G) plt. show ()

이 예제는 여러 가지 기법을 사용하여 그래프를 만듭니다. 그것은 Networkx 패키지를 가져 오기 시작합니다. 새로운 무향 그래프를 만들려면 코드는 Graph () 생성자를 호출합니다. 생성자는 여러 개의 입력 인수를 사용하여 특성으로 사용할 수 있습니다. 그러나 속성을 사용하지 않고 완벽하게 사용할 수있는 그래프를 작성할 수 있습니다.이 예제에서는 속성을 사용합니다.

예제에 사용 된 노드가 숫자에 의존하더라도 노드에 숫자를 사용할 필요가 없습니다. 노드는 단일 문자, 문자열 또는 날짜를 사용할 수 있습니다. 노드에는 몇 가지 제한 사항이 있습니다. 예를 들어 부울 값을 사용하여 노드를 만들 수 없습니다.

노드는 처음에는 아무런 연결도하지 않습니다. 이들 사이에 연결 (모서리)을 정의해야합니다. 단일 모서리를 추가하려면 add_edge ()를 추가 할 노드 수와 함께 호출합니다. 노드와 마찬가지로 add_edges_from ()을 사용하여 목록, 사전 또는 다른 그래프를 입력으로 사용하여 둘 이상의 가장자리를 만들 수 있습니다. 이 예제의 결과는 다음과 같습니다 (약간의 차이는 있지만 연결은 동일해야 함).

방향이 지정되지 않은 그래프는 노드를 연결하여 패턴을 형성합니다.

유향 그래프 개발

방향을 보여야 할 때 방향 그래프를 사용합니다. 예를 들어 시작점에서 끝점까지 말입니다. 하나의 특정 지점에서 다른 지점으로 이동하는 방법을 보여주는 맵을 얻으면 시작 노드와 끝 노드는 그 상태로 표시되고이 노드 (및 모든 중간 노드) 사이의 선은 방향을 표시합니다.

그래프가 지루할 필요는 없습니다. 시청자가 다른 방법으로 추가 정보를 얻을 수 있도록 모든 종류의 방법으로 꾸밀 수 있습니다. 예를 들어 사용자 정의 레이블을 만들거나 특정 노드에 특정 색상을 사용하거나 색상을 사용하여 사람들이 그래프 뒤의 의미를 볼 수 있도록 할 수 있습니다.

또한 엣지 선의 무게를 변경하고 다른 기술을 사용하여 노드 사이의 특정 경로를 더 나은 경로로 표시 할 수 있습니다. 다음 예제는 유향 그래프를 꾸미고 좀 더 재미있게 만들 수있는 많은 방법을 보여줍니다.

import networkx를 nx import matplotlib로 사용하십시오. plpl G = nx로 pyplot. Add_node_from ([2, 3]) G. add_nodes_from (범위가 4,6) G. add_path ([6,7,8]) G. add_edge (1, 2) G, add_edges_from ([(1,4), (4,5), (2, 3), (3,6), (5,6)]) colors = ['r', 'g' '시작', 2: '2', 3: '3', 4: '4', 5: '시작', ' '5', 6: '6', 7: '7', 8: 'End'} 크기 = [800,300,300,300,300,600,300,800] nx. draw_networkx (G, node_color = colors, node_shape = "D", with_labels = True, labels = 레이블, node_size = 크기) plt. show ()

이 예제는 DiGraph () 생성자를 사용하여 방향 그래프를 만드는 것으로 시작합니다. NetworkX 패키지는 MultiGraph () 및 MultiDiGraph () 그래프 유형도 지원합니다. 이 모든 그래프 유형 목록을 확인하십시오.

노드를 추가하는 것은 방향이없는 그래프로 작업하는 것과 같습니다. add_node ()를 사용하여 단일 노드를 추가하고 add_nodes_from ()을 사용하여 여러 노드를 추가 할 수 있습니다. add_path () 호출을 통해 노드와 에지를 동시에 만들 수 있습니다. 호출에서 노드의 순서가 중요합니다. 한 노드에서 다른 노드로의 흐름은 호출에 제공된 목록에서 왼쪽에서 오른쪽입니다.

가장자리를 추가하는 것은 방향이없는 그래프로 작업하는 것과 거의 같습니다. add_edge ()를 사용하여 단일 모서리를 추가하거나 add_edges_from ()을 사용하여 한 번에 여러 모서리를 추가 할 수 있습니다. 그러나 노드 번호의 순서는 중요합니다.흐름은 각 쌍의 왼쪽 노드에서 오른쪽 노드로 이동합니다.

이 예제는 특수 노드 색상, 레이블, 모양 (하나의 모양 만 사용됨) 및 크기를 출력에 추가합니다. 작업을 수행하려면 여전히 draw_networkx ()를 호출하십시오. 그러나 표시된 매개 변수를 추가하면 그래프의 모양이 변경됩니다. labels 매개 변수에서 제공하는 레이블을 보려면 with_labels을 True로 설정해야합니다. 다음은이 예제의 출력입니다.

유향 그래프를 사용하여 노드 사이의 방향을 표시합니다.

Python을 사용하여 데이터 과학을위한 그래프를 개발하는 방법

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...