이“United States of Reddit”그래프는 어떻게 생성됩니까?


9

아래는 p의 그래프입니다. James Dowdell에 의해 만들어졌지만 Christian Rudder 's Dataclysm 의 202 . 여기 에는 사용자가 링크, 의견 및 투표를 제출할 수있는 reddit.com 의 관심 영역 인 다양한 상위 200 개의 하위 재 지정 간의 관계가 설명되어 있습니다. 이들은이 사이트의 태그와 유사합니다. 하위 레딧 영역의 크기는 인기를 나타냅니다. 하위 레딧은 교차 주석으로 그룹화되며 어두운 색조는 해당 하위 레딧 내에 머물고 다른 사람에게 게시하지 않는 사람의 비율을 나타냅니다.

이것은 표준 보로 노이 파티션 일 뿐이며, 절연성을 위해 약간 채색되어 있습니까, 아니면 더 관련이 있습니까?

이 중 하나를 어떻게 만들 수 있습니까?

레딧


3
잘 모르겠지만, 보로 노이지도는 보로 노이 각 영역이 미리 결정된 값에 비례 할 때까지 점 중심 (표시되지 않음)을 조정합니다.
whuber

답변:


7

첫째, 저는 James Dowdell이므로 답변 할 수있는 고유 한 자격을 갖추고 있습니다 (응답 할 계정을 만들고 누군가 걱정하는 경우 신원을 확인할 수 있음).

간단한 대답은 실제로 다른 사람들이 추측 한 것입니다 : 이것은 http://en.wikipedia.org/wiki/Voronoi_diagram 입니다. 194 페이지의 동일한 개념을 사용했는데, 보로 노이 사이트에는 craigslist.org에 의해 나열된 위도 경도 쌍이 있습니다.

불행하게도,이 지식 자체는 실제로별로 유용하지 않습니다. Craigslist 그래프를 사용하면 사이트에 어떤 값을 사용해야하는지 알 수 있습니다. 그러나 Dataclysm은이 그래프에서 x / y 좌표를 할당하기 위해 어떤 마술을 사용 했습니까?

이에 대한 대답은 대부분의 사람들이 기대하는 것보다 훨씬 더 관련이 있으며, 우리가 한 일을 다시하는 것이 좋습니다. 나는 다른 누군가가 동일한 결과를 얻거나 훨씬 더 간단한 접근법을 추천 할 수 있다고 내기했다.

진실은:

Christian과 저는이 장에 대한 그래프를 작성하여 3 개월 동안 계속해서 일을 할 수 없었습니다. 그러나 한 접근법의 결과는 종종 다음 접근법에 영향을 미쳤다.

  1. 불행히도 가장 중요한 것은 기술과 일부 이미지 자산을 의미있는 방식으로 탐색하거나 공유 할 자유가없는 것입니다. 내가 말할 것은 복잡한 http://en.wikipedia.org/wiki/Graph_theory#Graph 를 사용하여 사용자 ID와 하위 리딧과 관련된 Reddit 데이터의 허가를 받아 컴파일 했으며이 그래프와 다양한 파생물을 가지고 놀았습니다. http://gephi.github.io/ 안에(저는 요즘 "OpenOrd"의 팬입니다.) 실제로 우리는 장엄한 이미지를 얻었습니다. 책이 출판 된 경우이 책의 하이라이트 였을 것입니다. 그러나 웹 사이트에서는 제대로 작동했지만 책이나 책에서 제대로 인쇄되지 않았습니다. 충분한 공간이나 해상도가 아닙니다. Christian은 원래 책에서 그것을 접어 놓기로 고려하고 있었지만 Crown에게는 비용 효율적이지 않았습니다.

  2. 그러나이 시점에서 서브 레딧에 대한 x / y 좌표를 가진 이미지가 있었고 x / y 공간에서 적어도 상대적으로 적절하게 배열되었습니다. 게시 마감일이 다가 오기 때문에 서두르고있었습니다. 나는 프로그래머이고 데이터가 두 번째이기 때문에 책의 페이지의 매우 좁은 경계와 시계의 남은 시간을 수용하기 위해 내 본능은 Box2D에서 페이지의 경계를 시뮬레이션하는 프로그램을 작성하는 것이 었습니다. 벽을 완전히 축소하고 그래프의 매우 축소 된 버전을 내부에 배치하고 모든 것이 벽과 서로 닿을 때까지 노드가 (Box2D에 자연스럽지 않고 변경되지 않는 강체를 기대) 성장하는 것을 시뮬레이션했습니다. 노드는 그들이 표현한 하위 레딧의 크기에 비례하는 비율로 성장했으며, 이는 최종 크기도 같은 방식으로 비례한다는 것을 의미했습니다.실행 중 box2d 프로그램의 스크린 샷

  3. 그 결과 전혀 좋아 보이지 않았지만 보로 노이 사이트와 같은 매우 가치있는 것을 나에게주었습니다. 결과 box2d 다각형의 중심을 가져 와서 표준 프로세스를 수행했습니다. 이것이 책의 그래프에 사용 된 것입니다. 내가 믿는 포토샵에서 텍스트 레이블을 손으로 적용했습니다.

또한, 세포 착색은 (A)에서 그래프를 다시 형성하기 위해 개발 한 통계와 관련이 있습니다.


1
사이트에 오신 것을 환영합니다. 이것은 내가 시도한 방법에 가깝습니다. xy 좌표를 노드에 할당하려면 그래프 레이아웃을 사용하십시오. (일부 힘 기반 레이아웃에서는 가장자리 가중치와 질량을 지정하여 대략 원하는 크기로 셀을 만들 수 있지만 정확한지 의심됩니다.) 원래 그래프 레이아웃의 보로 노이 영역을 만든 후에는 종료 영역을 관심 통계량에 비례하게 만들려면 Scapetoad 와 같은지도 제작 도구 를 사용하십시오. 이것은 box2d에서 제안한 프로그램과 매우 비슷합니다.
Andy W

0

Voronoi 다각형 모양의 단어 구름 문제처럼 보입니다. 위치를 결정하려면 단어 빈도를 사용해야합니다 (고주파는 중심을 의미). 단어의 위치가 결정되는 한, 보로 노이 다각형을 그리는 것은 그리 중요하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.