Part II 학 Python 을이용한천문 료분볿사례 개 기계 습및병렬 Python 듈을이용한대용량 료분볿 ( 김대원지신민수 ) 다양한종류의 Python 인터 이스활용 ( 신민수 ) 측광방밴개선및 계열 료분볿 ( 장볾원지김대원 )
기계 습및병렬 Python 듈을이용한대용량자료분 LIBSVM : Python Library for Support Vector Machine ( 김대원 ) ORANGE : Machine Learning Packages for Python ( 김대원 ) Parallel Python ( 김대원 ) 멀티코어프로세 환경에 의 multiprocessing 듈을이용한병렬 ( 신민수 )
Python 환경에 의기계 습을이용한대용량자료분 대용양 료분볿의중요성 관측기기의발달 인해관측되는 료의양들이매우방대해짐 (Pa 혹 omar Transient Factory 지 Pan 직 STARRS 지력 SST 지 GAIA 지 and etc.) 청난 료 부터 ` 유용한 현상들만을걸러내는데에는전통 인방밴들만으 는한계 있음. 이에따라매우우수한성능의검출방밴이절실함
Python 환경에 의기계 습을이용한대용량자료분 전문 의노 을최 실 간에 까운검출및분류 표. 동 에오검출률이낮 검출및분류효율이높아 함 기계 습 (machine여learning) 여방법을통한검출및분류 향상을위한병렬컴퓨팅
LIBSVM : Python Library for Support Vector Machine S 화 pport Vector Machine? 대표 인 도기계 습방밴 (s 화 per 확 ised machine 혹 earning) 중의 나 지많은분 에볾활발히사용중 주어진훈련 료 (training set) 을이용 분류 델 (c 혹 assification mode 혹 ) 을만들어냄 만들어진분류 델은예측 (prediction) 에사용될수있음 Python 용 software pac 호 age 존재함 http 학램램 www.csie.nt 화.ed 화.tw 램 ~cj 혹 in 램혹 ibs 확 m 램
LIBSVM : Python Library for Support Vector Machine S 화 pport Vector Machine? SVM 개념도. 두개의 class ( 검정볩, 흰볩 ) 를분류할수있는수많은선들중 (H 1, H 2, H 3, ), 두 class 와의수 거리를최대 할수있는선 (H 2 ) 를찾아냄으 써, 델을만들어냄.
LIBSVM : Python Library for Support Vector Machine 사용예 # 델변수들의설정 param = lib_svm.svm.svm_parameter(kernel_type=lib_svm.svm.rbf, C=np.exp(C), gamma=np.exp(gamma), eps=0.01, cache_size=1000, probability=1) # 델훈련에사용될훈련 료들의설정 prob = lib_svm.svm.svm_problem(labels, features) # 델훈련 quasar_model = lib_svm.svm.svm_model(prob, param)
ORANGE : Machine Learning Packages for Python 대표 인기계 습 pac 호 age 지많은형태의기계 습방밴을 공함 Random Forest 지려직 nearest 지 Tree 지 Naï 확 e 범 ayes 지 and etc. http 학램램 orange.bio 혹 ab.si 램 Python 에볾손쉽게사용 능
ORANGE : Machine Learning Packages for Python Random Forest 기계 습방밴 SVM 을비롯 지광밳위 게사용되는기계 습방밴중의 나 한개이상의의사결정나무 (decision tree) 들을사용 분류 는방밴 Random Forest 개념도 러개의의사결정나무 (t 1, t 2,, t T ) 를사용 분류를 는 도기계 습방밴
ORANGE : Machine Learning Packages for Python Random Forest 사용예 # 델설정 bs = orngensemble.boostedlearner(tree, name="boosted tree") # 델훈련 learners = [bs] results = orngtest.crossvalidation(learners, data)
Parallel Python 다중법 PU 는물론다중 P 법를사용 Python 프 그 을수행할수있도 도와주는 듈 대용량 료처리를신 게마칠수있도 해주며지사용밴이간단 다. http 학램램 www.para 혹혹 e 혹 python.com 램 참 : IPython 도동일한 적으로이용할수있다.
Parallel Python Para 혹혹 e 혹 Python 사용예... # 버설정 job_server = pp.server() jobs = [] # 실행할 생성 for i in range(len(jd_list)): jobs.append(job_server.submit(job_fnt, (i, 'data1', 'data2'), (), ('os', 'numpy as np'))) # 의수행 for job in jobs: result = job()
멀티코어프로세 환경에 의 multiprocessing 듈을이용한병렬 mul 확 iproce 화화 ing 여 module 여직 Python 소.6 이후버전부터포함. - proce 화화여수준에 의확 hreading 여 능 며지 다 수준에 잡한 업을원 는경우에는확 hread 여모듈을이용할수있다. M 화혹 tiprocessing 의 러 형태중지거대한 료를빠르게처리할수있는지확 hread 여 pool 여여형태의 업을지원 는 mul 확 iproce 화화 ing.pool 를주 이용한다. 업정의 Wi 호 ipedia Pool 에 업과 께쓰이는정 와같이추
다양한이용가능성 다수의데이터에대한빠른처리를위 OpenMP 나 POSI 로 thread 를이용한 수준 ( 혹 ow 혹 e 확 e 혹 ) 의프 그래밍대신에지짧은개 시간과쉬운과정으략병렬 료분 / 처리환경개 이 능 다. 수준의언어를이용한병렬 료처리 도이전에 정 료분 방법의병렬처리시험을위한신 한개 에 별히유용 다. 러 machine 여 learning 여 algori 확 hm 이나화확 a 확 i 화확 ic 화여 algori 확 hm 을거대천문 료에 용 는경우에유용 게이용 있다.
다양한종류의 Python 인터페이스활용 PyVI : Python for Visual Inspection of astronomical data ( 신민수 ) Python SOAP interfaces and Virtual Observatory data access ( 신민수 ) Python 의 Twitter 듈이용 ( 신민수 ) Python Interface of Visit ( 신민수 )
PyVI : Python for Visual Inspection of astronomical data Python 으 성된 은프 그 으 이미지와 이미지에해당 는정 를담은파일을보 주 지 료에대한판단이나기랶을파일략생성 / 수정 / 인 는용도 이용된다. 텍스 사용 인터 이스는 Python 의 cur 화 e 화 듈을이용 만들어 지일반 인 JPEG 이나 PNG 와같은이미 들을보 주는것은 Py 확 hon 여 Image 여 Library 와 TkIn 확 er 를이용 며지 FITS 파일형태의 료를보 줄때는 d 화 9 을이용 있다. 다른 Py 확 hon 여프략그램의모듈 이용되거나지 은화확 andard-alone 여프략그램으 이용될수있다.
JPEG 여영상 략그파일수정 / 장용텍스 인터 이스
략그파일수정 / 장용텍스 인터 이스 추 텍스 정 출력윈 우 FITS 여영상 시용 d 화 9 여윈 우
확장가능성및이용 STScI 의스 럼 시 프략그램인 Specview 지 Python script 환경을 원할수있는볨버전으 나올때지 FITS 형태스 럼을 할수있는볨버전의 PyVI 발표예정. 데이터베이스의 Python API 를이용할경우파일대신데이터베이스기랶을수정 / 생성 / 인 는용 이용 능 다. 추후버전에기능을추 할것을 중이다. 다운 학 h 확확 p://www.a 화확 ro.l 화 a.umich.edu/~m 화화 hin/ 화 cience/co de/index.h 확 ml 발 vi 화 ual_in 화 pec 확 ion_of_a 화확 ronomical_da 확 a
U 화 age 여 I 여 : >>from PyVI import image_db >>from PyVI import c 화 rses_interface >>infn=" 혹 ist.txt >>o 화 tfn=" 혹 og.txt >>dir_images=". 램 Images 램 >>dir_texts=". 램 Texts 램 >>db = image_db(infn 지 o 화 tfn 지 dir_images 지 dir_texts) >> 화 se_fits = 1 여 if yo 화 want to 화 se FITS images >>import ds 하 >>db_inf = c 화 rses_interface(db 지 infn)
U 화 age 여 II 여 : PyVI.py [ 혹 ist fi 혹 ename] [ 혹 og fi 혹 ename] 직 f 직 i [the directory name of image fi 혹 es] 직 t [the directory name of text fi 혹 es] Examp 혹 e) PyVI.py se 혹. 혹 ist 혹 og. 혹 ist 직 f 직 i. 램 Ga 혹혹 ery 직 t. 램 Extra_text 직 f 학 if yo 화 r image fi 혹 es are FITS fi 혹 es 지화 se this option. PyVI wi 혹혹화 se the DS 하 FITS 확 iewer. 록 o 화 need to open the DS 하 with 직 xpa option. If the DS 하확 iewer is not a 확 ai 혹 ab 혹 e for PyVI 지 PyVI tries to open it. 직 i and 직 t 학 the directory names are optiona 혹 if the directory names are not gi 확 en 지 the c 화 rrent wor 호 ing directory is a defa 화혹 t directory.
Python SOAP interfaces and Virtual Observatory data access Python 으 성된스크립 를이용 SDSS 여및 GALEX 의 SQL 여데이터베이스의 SOAP 여 (Simple 여 Objec 확여 Acce 화화여 Pro 확 ocol) 여인터 이스를통한대용량 및데이터베이스 료에대한 SQ 력 q 화 ery 를실행한다. 네 워크 에대해볾는 urllib 이나 h 확확 plib 를이용 며지필요한경우로 M 력 parsing 듈을같이이용한다.
간단한예제 : SDSS_SOAP_SubmitJob.py 속. 여 SQL 여구문완성 2. 여 urllib 를이용한 SOAP 여인터 이스 근및 Xml.dom.minidom 을이용한 XML 여 par 화 ing
다른 VO 자료처리의예 NASA/JPL 여 IPAC 의 IRSA 여 (Infrared 여 Science 여 Archive) 료 에 Python 의화 r 혹혹 ib 및 xm 혹소 obj 이용. NED 여 (NASA/IPAC 여 Ex 확 ragalac 확 ic 여 Da 확 aba 화 e) 여과 Simbad 제공 는 ba 확 ch 여 job 요청및결 료를 parsing 는데 Python 이용.
Python 의 Twitter 듈이용 연구와관련된컴퓨터들의상태및관심있는정보를외부의 Twi 확확 er 여계정을통 기랶을남기 지사용 는 RSS feed 등의방밴으 계 인할수있다. 추후 Gamma-ray 여 Bur 화확여 No 확 ice 여및변광천체관련정 Twitter 계정을이용 알릴계 을 있음. Twitter 계정은 2 차 인 조수단이 주된 인수단은아님. Daum 요즘이나 Naver me2day 에같은 근밴 용 능. Twi 확확 er 여략그의예
Python Interface of Visit Visit 은공개 료 프 그 으 FITS 파일이나 HDF5 등다수의 료형태를 원 며지 Python 을통한프 그 의 어 능 다. 현재다양한 료의 동 된 시 를위해 Py 확 hon 과 께이용중이다. HST 여은 병 영상
측광방법개선및시계열자료분 측광 : 등급변환및표준 ( 장 원 ) 시계열광도 선처리 : 공간과시간상의 trend 거 ( 김대원, 장 원 ) 자료분류를위한패러미터 : seeded region growing 방법의예 ( 장 원 )
측광 : 등급변환및표준 영상별략측정된등급을기기등급또는표준등급으략변환 는과정에 py 확 hon 활용의예 ( 차등측광을활용 는경우 ): 법 (i) = 볩 수 ( 예 V 직 I or J 직려 ) x i 지 y i = 법법 D 상의위치 N 지 N c = 최대차수려 c 호혹 = 최 승밴을통해얻는계수 (e.g. Pál et al. 2009) 영상왜 에의한, 퍼짐 수 (Poin 확화 pread func 확 ion) 변 의예
측광 : 등급변환및표준 Py 확 hon code - 2D weigh 확 ed Polynomial fi 확확 ing # 모듈등재 from Scientific.Functions.LeastSquares import leastsquaresfit # 패러미터설정 parameters4 = [ini0, ini1, ini2, ini3, ini4, ini5, ini6, ini7, ini8]... # 수정의 def polfit_quadratic_linear(params4, xy): c0, c1, c2, c3, c4, c5, c6, c7, c8 = params4 x, y, gr, ri = xy return c0 + c1*x + c2*y + c3*x*x + c4*y*y + c5*x*y + gr*(c6 + c7*x + c8*y)... # 급수계수구 기 c1, chi21 = leastsquaresfit(polfit_linear, parameters1, data, 5)
측광 : 등급변환및표준 Pyfits 의활용 resid 화 a 혹 image # 모듈등재 from pyfits # 헤더공간설정 hdu = pyfits.primaryhdu(data) hdulist = pyfits.hdulist([hdu]) hdulist.writeto('new.fits') # 헤더 장 hdulist = pyfits.open('new.fits', mode='update') prihdr = hdulist[0].header prihdr.update('aper', aperture, 'Aperture Diameter[pixels]') prihdr.update('lin_a',c1[0],'a') prihdr.update('lin_b',c1[1],'b * x') prihdr.update('lin_c',c1[2],'c * y') hdulist.flush() FITS Data (Residual) Scale range : - 0.1 ~ 0.1
시계열광도 선처리 : 공간과시간상의 trend 거 시계열측광 료인광 선에나타나는화 y 화확 ema 확 ic effec 확화 (i.e. 확 rend 화 ) 를찾, 제거 는과정에 py 확 hon 활용. 상광 선에 De- 확 rending 알 리즘을 용한예 : 볾 다른행성횡단광도 선 볾 다른 쌍성광도 선
시계열광도 선처리 : 공간과시간상의 trend 거 Pho 확 ome 확 ric De-Trending (PDT) 직 ( 려 im et a 혹. 소랩랩 8) 학 h 확확 p:// 확 imemachine.iic.harvard.edu/coa 확 i/pd 확 rend/u 화 age.h 확 ml 파이프라인을실행 기위해필요한패키 학 직 matp 혹 ot 혹 ib 직 n 화 mpy 지 scipy 직 Pyclu 화확 er : 여 h 확확 p://bon 화 ai.im 화.u- 확 okyo.ac.jp/~mdehoon/ 화 of 확 ware/clu 화확 er/ 직 hc 혹화 ster 학 http 학램램 code.goog 혹 e.com 램 p 램 scipy 직 c 혹화 ster 램직 R 학 http 학램램 www.r 직 project.org 램록 o 화 need to insta 혹혹 'nortest' abd 'q 화 adprog' pac 호 age at R. Use 'insta 혹혹.pac 호 ages' command in R she 혹혹. 직 Rpy : 여 h 확확 p://rpy. 화 ourceforge.ne 확 /
Rpy 듈 : 천문 자를위한 R 통계 료분 그래픽 환경을 공 는언어 지다양한통계이슈에 대한 패키 를 공한다 (e.g. 귀분볿지다변량분볿지클러스터분볿지 비 수 델링지부 스 지 델비교지 베이 안 추론지 공간통계지 계열분볿 ). 오픈 스프 의일환으 지법 RAN repository 에등재된프 그 만속지랩랩랩개에이른다. 립 으략프략그램을 성할수있는 급언어 범력 AS 지 OpenMP 도 원되며지 GPU 및대규 료처리를위한 원을준비 있다.
Rpy 듈 : 천문 자를위한 R # 모듈등재 from rpy import * # 수정의 def get_quadprog (lc, trend_set): ''' Return de-trended lc by quadratic programming. It constraints the free parameters to be bigger than 0. See Kim et al. 2008 for more details. # R 의활용 r.library('quadprog') X = transpose(trend_set) dmat = r.crossprod(x, X) dvec = r.crossprod(lc, X) results = r.solve_qp(dmat, dvec, r.diag(len(trend_set))) return lc - dot(results['solution'], trend_set) 통계 료분 그래픽 환경을 공 는언어 지다양한통계이슈에 대한 패키 를 공한다 (e.g. 귀분볿지다변량분볿지클러스터분볿지 비 수 델링지부 스 지 델비교지 베이 안 추론지 공간통계지 계열분볿 ). 오픈 스프 의일환으 지법 RAN repository 에등재된프 그 만속지랩랩랩개에이른다. 립 으략프략그램을 성할수있는 급언어 범력 AS 지 OpenMP 도 원되며지 GPU 및대규 료처리를위한 원을준비 있다.
Pyclu 화확 er 모듈 : 여클러스터링 C 여라이브러리 대규 유전 발현 스템 (cdna microarray) 데이터처리를위해개발된클러스터링법라이브러리. Distance f화nctions지 Partitioning a혹gorithms지 Hierarchica혹 c혹화stering지 Se혹f직Organizing map지 P법A지 random n화mber generator 등을구현. http 학램램 en.wi 호 ipedia.org 램 wi 호 i 램 DNA_microarray
Pyclu 화확 er 모듈 : 여클러스터링 C 여라이브러리 # 모듈등재 from Pycluster import * from hcluster import * # 클러스터링방법의 용 print '#Now finding clusters for template set..' dist_matrix = 1. - corr_list print ' #Making Hierarchical tree..' tree = treecluster(method='m', distancematrix=dist_matrix.copy()) if show_tree: R = dendrogram(pycluster_to_hcluster(tree), leaf_font_size=10) ylabel('distance'); xlabel('index of star'); show() print ' #Finding clusters in tree..' groups = find_group_dw(tree, dist_matrix, len(whole_lc_for_trends[0]), initial_seed, l_significance) print ' #Remove subset of clusters..' groups = remove_subset_cluster(groups) groups = remove_small(groups, min_template_stars - 1) print ' #Total %d clusters found..' % (len(groups))
시계열광도 선처리 : 공간과시간상의 trend 거 실제광 선에 De- 확 rending 알 리즘을 용한예 : MMT 램 Megacam HAT 직 So 화 th
자료분류를위한패러미터 : seeded region growing 방법 태양흑 의 동검출및분류의예 (Moun 확록 il 화 on 분류기준을기반으략 ) 태양흑 의분류를위해, 은영 과어두운영 을구분짓는방법을 입 그값을패러미터 (e.g.thoma 화 C.M.Lee@SCMA 로 ). 인 한요 간의중첩을최 는중심보 노이조 의개념을도 A 혹 pha 범 eta 범 eta 직 gamma 범 eta 직 gam ma 직 de 혹 ta
자료분류를위한패러미터 : seeded region growing 방법 태양흑 의 동검출및분류의예 (Moun 확록 il 화 on 분류기준을기반으략 ) 태양흑 의분류를위해, 은영 과어두운영 을구분짓는방법을 입 그값을패러미터 (e.g.thoma 화 C.M.Lee@SCMA 로 ). 인 한요 간의중첩을최 는중심보 노이조 의개념을도
자료분류를위한패러미터 : seeded region growing 방법 Examp 혹 e of region growing (from Da 확 e s 확 ision 혹 ect 화 re) seeded_region_growing.py Numpy, Scipy 활용
자료분류를위한패러미터 : seeded region growing 방법 앞 de- 확 rending 에 뽑아낸확 rend 화의공간분포 (py 확 hon 활용의예 ) MMT 램 Mega 법 am 법 hip1( 소.7 속 6.14 ) HAT 직 So 화 th (4. 소 4. 소 )
요약 Astronomers need to exp 혹 ore data by searching specific objects in cata 혹 ogs 지 images 지 and spectra. 법 ontamination and fa 혹 se detection becomes a serio 화 s prob 혹 em as the data size increases. Understanding data 혹 eads to disco 확 ering new c 혹 asses of objects. 법 ost of ana 혹 yzing data contin 화 o 화 s 혹 y increases as the data 확 o 혹화 me increases. 탐볩학 PyVI 지 Python SOAP interfaces and Virt 화 a 혹 Obser 확 atory data 등 분류학 Pyc 혹화 ster 지 hc 혹화 ster 등 기계 습학력 I 범 SVM 지 ORANGE 등 병렬 듈학 Para 혹혹 e 혹 python 지 m 화혹 tiprocessing 등 다양한종류의 Python 인터 이스활용