관련 분석과 스펙트럼 집합을 실시하여 논문의 합저 관계를 시각화하다
개시하다
이틀 연속 투고하다.
이번에는 저번에서 얻은 Pubmed 데이터를 이용하여 간단한 분류를 진행한다.
①pubmed 검색 결과에서 auths list 가져오기
②authhorslist에 대한 연관 분석을 통해 많은 인물 조합을 찾아낸다.
③ 연관 분석 결과에 대한 스펙트럼 집계
프로그램 라이브러리
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import chromedriver_binary
from selenium import webdriver
import pyfpgrowth
import networkx as nx
from sklearn import cluster
%matplotlib inline
①pubmed에서 데이터 가져오기
이전 발언과 같은 함수 (get pubmed info) 를 사용했기 때문에 함수 내부는 생략됩니다.
분석 대상으로 연구실 내 파벌(단체)이 많은 교수를 꼽았다.
data = get_pubmed_info("miura masayuki")
author_list = [data[i][2].split(",") for i in range(len(data))]
author_list = [[author.split("(")[0].replace("\n"," ").strip(".").strip()
for author in author_list[i]] for i in range(len(author_list))]
② 연관 분석
pyfpgrowth에서 방금 얻은 데이터에 대해 관련 분석을 한다.
patterns = pyfpgrowth.find_frequent_patterns(author_list, 3)
G = nx.Graph()
for key in patterns.keys():
if len(key) == 2:
G.add_path(key)
pr = nx.pagerank(G)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=list(pr.values()), cmap=plt.cm.Reds, font_size=15, node_size=5000)
결과를networkx에서 가시화
페이지rank에서 네트워크의 중요성은 착색됩니다. (색이 짙을수록 중요합니다.)
이 네트워크 그림에서도 집단의 존재를 느낄 수 있다.
③ 스펙트럼 클러스터
pyfpgrowth에서 얻은 데이터를 성형하여 스펙트럼 집합을 진행한다.
데이터 성형 과정
key_list = []
value_list = []
for key, value in patterns.items():
if len(key) == 2:
key_list.append(key)
value_list.append(value)
df = pd.DataFrame()
for (i, j), num in zip(key_list, value_list):
df.loc[i, j] = num
df.loc[j, i] = num
df = df.loc[df.columns].fillna(0)
sns.heatmap(df)
데이터 성형 결과를 히트맵으로 만들면 이런 느낌이에요.
자, 특수 집합!
spectral = cluster.SpectralClustering(n_clusters=9, affinity="precomputed")
result = spectral.fit(df.values)
result_se = pd.Series(result.labels_, index=df.index)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=result_se, cmap=plt.cm.Accent, font_size=15, node_size=5000)
분류 결과는 방금 전의 네트워크 그림에 반영되었다.
우리는 모든 연구팀이 깨끗하게 분리되었다는 것을 분명히 알 수 있다.
짙은 녹색은 포유동물계, 차색은 창포신경계, 핑크색은 외부의 공동연구소다.
참고 자료
http://www.f.u-tokyo.ac.jp/~genetics/
끝맺다
상당히 아름답게 집합이 완성되었다.
Reference
이 문제에 관하여(관련 분석과 스펙트럼 집합을 실시하여 논문의 합저 관계를 시각화하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gekko_datasci/items/1ac613a1ea528229a08a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import chromedriver_binary
from selenium import webdriver
import pyfpgrowth
import networkx as nx
from sklearn import cluster
%matplotlib inline
①pubmed에서 데이터 가져오기
이전 발언과 같은 함수 (get pubmed info) 를 사용했기 때문에 함수 내부는 생략됩니다.
분석 대상으로 연구실 내 파벌(단체)이 많은 교수를 꼽았다.
data = get_pubmed_info("miura masayuki")
author_list = [data[i][2].split(",") for i in range(len(data))]
author_list = [[author.split("(")[0].replace("\n"," ").strip(".").strip()
for author in author_list[i]] for i in range(len(author_list))]
② 연관 분석
pyfpgrowth에서 방금 얻은 데이터에 대해 관련 분석을 한다.
patterns = pyfpgrowth.find_frequent_patterns(author_list, 3)
G = nx.Graph()
for key in patterns.keys():
if len(key) == 2:
G.add_path(key)
pr = nx.pagerank(G)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=list(pr.values()), cmap=plt.cm.Reds, font_size=15, node_size=5000)
결과를networkx에서 가시화
페이지rank에서 네트워크의 중요성은 착색됩니다. (색이 짙을수록 중요합니다.)
이 네트워크 그림에서도 집단의 존재를 느낄 수 있다.
③ 스펙트럼 클러스터
pyfpgrowth에서 얻은 데이터를 성형하여 스펙트럼 집합을 진행한다.
데이터 성형 과정
key_list = []
value_list = []
for key, value in patterns.items():
if len(key) == 2:
key_list.append(key)
value_list.append(value)
df = pd.DataFrame()
for (i, j), num in zip(key_list, value_list):
df.loc[i, j] = num
df.loc[j, i] = num
df = df.loc[df.columns].fillna(0)
sns.heatmap(df)
데이터 성형 결과를 히트맵으로 만들면 이런 느낌이에요.
자, 특수 집합!
spectral = cluster.SpectralClustering(n_clusters=9, affinity="precomputed")
result = spectral.fit(df.values)
result_se = pd.Series(result.labels_, index=df.index)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=result_se, cmap=plt.cm.Accent, font_size=15, node_size=5000)
분류 결과는 방금 전의 네트워크 그림에 반영되었다.
우리는 모든 연구팀이 깨끗하게 분리되었다는 것을 분명히 알 수 있다.
짙은 녹색은 포유동물계, 차색은 창포신경계, 핑크색은 외부의 공동연구소다.
참고 자료
http://www.f.u-tokyo.ac.jp/~genetics/
끝맺다
상당히 아름답게 집합이 완성되었다.
Reference
이 문제에 관하여(관련 분석과 스펙트럼 집합을 실시하여 논문의 합저 관계를 시각화하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gekko_datasci/items/1ac613a1ea528229a08a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
data = get_pubmed_info("miura masayuki")
author_list = [data[i][2].split(",") for i in range(len(data))]
author_list = [[author.split("(")[0].replace("\n"," ").strip(".").strip()
for author in author_list[i]] for i in range(len(author_list))]
pyfpgrowth에서 방금 얻은 데이터에 대해 관련 분석을 한다.
patterns = pyfpgrowth.find_frequent_patterns(author_list, 3)
G = nx.Graph()
for key in patterns.keys():
if len(key) == 2:
G.add_path(key)
pr = nx.pagerank(G)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=list(pr.values()), cmap=plt.cm.Reds, font_size=15, node_size=5000)
결과를networkx에서 가시화
페이지rank에서 네트워크의 중요성은 착색됩니다. (색이 짙을수록 중요합니다.)
이 네트워크 그림에서도 집단의 존재를 느낄 수 있다.
③ 스펙트럼 클러스터
pyfpgrowth에서 얻은 데이터를 성형하여 스펙트럼 집합을 진행한다.
데이터 성형 과정
key_list = []
value_list = []
for key, value in patterns.items():
if len(key) == 2:
key_list.append(key)
value_list.append(value)
df = pd.DataFrame()
for (i, j), num in zip(key_list, value_list):
df.loc[i, j] = num
df.loc[j, i] = num
df = df.loc[df.columns].fillna(0)
sns.heatmap(df)
데이터 성형 결과를 히트맵으로 만들면 이런 느낌이에요.
자, 특수 집합!
spectral = cluster.SpectralClustering(n_clusters=9, affinity="precomputed")
result = spectral.fit(df.values)
result_se = pd.Series(result.labels_, index=df.index)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=result_se, cmap=plt.cm.Accent, font_size=15, node_size=5000)
분류 결과는 방금 전의 네트워크 그림에 반영되었다.
우리는 모든 연구팀이 깨끗하게 분리되었다는 것을 분명히 알 수 있다.
짙은 녹색은 포유동물계, 차색은 창포신경계, 핑크색은 외부의 공동연구소다.
참고 자료
http://www.f.u-tokyo.ac.jp/~genetics/
끝맺다
상당히 아름답게 집합이 완성되었다.
Reference
이 문제에 관하여(관련 분석과 스펙트럼 집합을 실시하여 논문의 합저 관계를 시각화하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gekko_datasci/items/1ac613a1ea528229a08a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
key_list = []
value_list = []
for key, value in patterns.items():
if len(key) == 2:
key_list.append(key)
value_list.append(value)
df = pd.DataFrame()
for (i, j), num in zip(key_list, value_list):
df.loc[i, j] = num
df.loc[j, i] = num
df = df.loc[df.columns].fillna(0)
sns.heatmap(df)
spectral = cluster.SpectralClustering(n_clusters=9, affinity="precomputed")
result = spectral.fit(df.values)
result_se = pd.Series(result.labels_, index=df.index)
plt.figure(figsize=(20,20))
nx.draw_networkx(G, node_color=result_se, cmap=plt.cm.Accent, font_size=15, node_size=5000)
상당히 아름답게 집합이 완성되었다.
Reference
이 문제에 관하여(관련 분석과 스펙트럼 집합을 실시하여 논문의 합저 관계를 시각화하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gekko_datasci/items/1ac613a1ea528229a08a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)