SlideShare a Scribd company logo
1 of 29
Exp Manager
설치
• virtualenv 를 python3으로 설정 또는 나중 스크립트들의 python은
python3으로 실행해도 됨
• sudo apt-get install python3-pip
• pip install django
• sudo python -m pip install python-dateutil
• sudo python3 -m pip install gitpython
• git clone ssh://kddlab@147.46.143.74/home/yjpark/repository/django-
project
• cd mysite
• vi mysite/settings.py에 ALLOWED_HOSTS에 컴퓨터 ip 적어줌
• 예) ALLOWED_HOSTS = ["147.46.244.145"]
• ./run
접속
• 18000 포트로 접속시 다음이 나오면 성공
계정 생성
• ./run.sh 종료
• python manage.py createsuperuser
• 계정 생성
• ./run.sh 실행
• ip:18000/projects
• 로 접속
• 계정으로 로그인
프로젝트 생성
이름
실험 결과 존재 여부
실험 결과 중 파라미터 추출부
나중에 설명
실험 결과 중 결과 추출부
나중에 설명
프로젝트 개요
• 프로젝트 생성 후 프로젝트 페이지 이동
git repository 있으면 등록
todo list
prority는 0일수록 긴급
실험 결과 리스트
실험 결과로 그래프 만들기 : 구현 중…
원격 컴퓨터에 실험 시키기 :
구상만 해두고 실제로 구현 가능한지는 모르겠음
Related work 등록 : url은 pdf 파일 url 등록하면 자동으로 다운 받아 줌
ExpUploader
• wget http://147.46.143.74:18000/projects/expUploader/
• 혹은
• git clone
ssh://kddlab@147.46.143.74/home/yjpark/repository/Experim
entUploader/
• 143.74에서 자동으로 최신 expUploader를 pull 받아서 주므
로 (http 요청시 git pull 받고 최신 파일로 리턴) 특정 버젼일
때와 차이가 있을 수 있음..
실험 결과 포맷 JSON
{"Date":"2017-01-19 20:36:12 KST","Algorithm":{"name":"Projection", "version":"1.0"},
"Result":{"date":"Thu Jan 19 20:32:48 KST
2017","time":"203960","nFreqItem":"17211981","Memory":"2956","nTran":"10000","nItem":"100","nRul
e":"60","maxTran":"20","maxLhs":"1","maxRhs":"1","seed":"1","Number of
projection":"734597601","Result_Time_4_1thIteration":"717","Result_Time_4_2thIteration":"6448","Res
ult_Time_4_3thIteration":"45901","Result_Time_4_4thIteration":"112271","Result_Time_4_5thIteration"
:"36206","Result_Time_4_6thIteration":"1728","Result_Time_4_7thIteration":"17","Result_Time_4_8thIt
eration":"0","Applicable_rule":"88097","Applicable_rule_per_transaction":"8.8097","Object_projected_ar
ray":"734597601","Object_projected":"126398113","Result_0_Frequent":"17211981","Result_Time_0_To
tal_Time":"203960","Object_rule":"84","Object_transaction":"17222081"},
"Dataset":{"synthetic_parameters":{"version": "1","nTran": "10000","nItem": "100","nRule":
"60","maxTran": "20","maxLhs": "1","maxRhs": "1","seed": "1"},"name":
"100_10000_60_20_1_1_1","file_size": "304417","is_synthetic": "True"},
"ParametersUsed":{"minSup":"3.0", "minSupInt":"3", "gapConstraint": "100", "maxCandSize":"-1"}}
JSON 성분
{"Date": 실험 시간 KST를 꼭 붙여서 Time zone 명시해줄 것,
"Algorithm":알고리즘 이름,
"Result": Json 형태의 결과,
"Dataset": 데이터 셋 정보,
"ParametersUsed": 사용한 파라미터 정보}
5가지 구성성분이 모두 필요함 대소문자 맞춰서 똑같게 써
줄 것
알고리즘
• "Algorithm":{"name":알고리즘 이름, "version":
버전, 숫자일 필요는 없음, 버전이 다르면 다른
알고리즘으로 인식함 }
실험 결과
"Result":
{"date":"Thu Jan 19 20:32:48 KST
2017","time":"203960","nFreqItem":"17211981","Memory":"2956","nTran":"10000","nItem"
:"100","nRule":"60","maxTran":"20","maxLhs":"1","maxRhs":"1","seed":"1","Number of
projection":"734597601","Result_Time_4_1thIteration":"717","Result_Time_4_2thIteration"
:"6448","Result_Time_4_3thIteration":"45901","Result_Time_4_4thIteration":"112271","Res
ult_Time_4_5thIteration":"36206","Result_Time_4_6thIteration":"1728","Result_Time_4_7t
hIteration":"17","Result_Time_4_8thIteration":"0","Applicable_rule":"88097","Applicable_ru
le_per_transaction":"8.8097","Object_projected_array":"734597601","Object_projected":"1
26398113","Result_0_Frequent":"17211981","Result_Time_0_Total_Time":"203960","Object
_rule":"84","Object_transaction":"17222081"},
Json 형태의 key-value 의 리스트 형태면 상관 없음
이름의 제한 조건 없음. 단 결과는 나중에 abc 순서로 sorting 되
서 나올 것임 Result_Time_0_Total_Time 이런 식으로 이름 지은
건 sorting 됬을때, Result_Time_4_8thIteration보다 앞에 나오게
하기 위함
데이터 셋 정보
• {"synthetic_parameters":,
"name": 데이터 셋 이름,
"file_size": 0으로 적어도 상관 없음
"is_synthetic": "True“ 혹은 “False”}
• 참고: 실험 결과 비교할때는 다른 파라미터 무시하고 무조건 name
만으로 판단함 파라미터 달라도 name이 같으면 먼저 입력된 파라미
터가 우선시 – 이름 정할때 파라미터가 다 들어가도록 정할 것
• synthetic_parameters
• Json 형태의 자유 형식
Parameters Used
• 실험 시에 변경하여 테스트하게 될텐데 이때 쓰는 변
수
• 데이터 셋 만들때와 무관함에 주의
• 예를 들어 frequent pattern mining한다고 했을 때,
• 데이터 셋 string 개수를 100개로 하는 것은 dataset의 파라
미터. 실험시의 파라미터가 아님.
• Minimum support의 경우 dataset에 무관한 파라미터이므
로 parameters used에 넣어줄것
• 역시 Json 형태의 자유 형식
• {"minSup":"3.0", "minSupInt":"3", "gapConstraint":
"100", "maxCandSize":"-1"}
실험결과 업로드
• 실험 결과는
• python uploadExperiment.py exp
• 이때,
• pwd에는
• json 폴더가 있고, json 폴더 밑에는 uploaded 폴더가 있어야함
• 그 json 폴더에 txt 파일로 저장되어 있어야하며
• !! 중요 !! 한 줄에 위에 설명한 내용이 모두 적혀있어야 함 – 데이터셋, parameter 이런
거 모두 한줄에 적혀 있어야함
• txt 파일에는 여러줄이 있어도 됨
• 대신 각 line이 전 슬라이드에서 설명한 정보를 포함하는 json형태여야함
• 한줄만 있는 txt 파일은 완벽한 json 형태지만
• 여러줄 있는 txt 파일은 json 형태가 아님!
• 그 이유는 txt 파일에 실험결과를 append 할 때 편의성을 높이기 위함
서버 아이피 및 포트 설정
projectSetting.json
• {
• "ServerIp" : "147.46.143.74",
• "ServerPort" : "18000",
• "ProjectName" : "Probabilistic Reverse Skyline” }
• 프로젝트 이름은 서버에 만들어둔 이름과 동일
해야함
귀찮으면 다음 스크립트 쓰셈
• #!/bin/bash
• if [ ! -d json/uploaded ];
• then
• mkdir -p json/uploaded
• fi
•
• if [ ! -e uploader/ExperimentUploader/uploadExperiment.py ]
• then
• echo "Downloadling uploadExperiment.py"
• mkdir uploader
• cd uploader
• git clone ssh://yjpark@147.46.143.74/home/yjpark/repository/ExperimentUploader/
• else
• cd uploader/ExperimentUploader
• git pull
• fi
• cd -
• ./uploader/ExperimentUploader/uploadExperiment.py exp
실험 결과 업로드 화면
• 최근 10개 실험결과 detail을 누르면 세부 정보
• 데이터셋/알고리즘의 하이퍼 링크 누르면 같은 데이터셋
/알고리즘 결과 정리 페이지로
• 서버 정보 자세히 추가하는 것은 계획만..
• 파라미터 리스트 – Json 내용 표시
• 결과는 표 형식 – Json 내용 표시
실험결과 요약
• 데이터 셋에 대해선
• 같은 알고리즘, 같은 서버, 같은 파라미터로 실험
한 결과는 평균 내서 보여줌
• invalid 누르면 평균에서 제외
실험 결과 비교
• 체크하고 compare
Compare
• 항목별 비교
• 파란색 글자 : 제일 작음
• 빨간색 글자 : 제일 큼
• 검은색 글자 : 중간
• Equals
• 다르면 Different
• 완전히 같으면 Same
• 다른 숫자인데 최대값 /최소값
• 비율이 1.1 이하면 Similar
• Min
• Max
• Ratio는 Max/Min 값
ParamFilter / ResultFilter
• 실험 화면 첫페이지에서 보고 싶은 정보 뽑아내
는 필터
• 다양한 파라미터중 Threshold, machines 이런 것만 뽑
혔고,
• 다양한 results 중에 EmittedInst, DomComp, TotalTime,
skyline 만 뽑힘
• http://147.46.143.74:18000/admin/
• admin 아이디로 로긴
• Project 누르고 생성한 프로젝트 보면
• ParamFilter
• ResultFilter
• 설정부가 있음
Filter 설정
• 주로 보고 싶은 파라미터만 ,로 분리해서 적어줌
• threshold,machines
• Result의 경우 정렬을 위해 이름이 지저분해짐
• ,로 분리하되, :은 표시명을 적어줌
• result2_emittedInst:EmittedInst,result2_domComp
:DomComp,Time_0_TotalTime:TotalTime,skyline
• 위에서 Time_0_TotalTime은 TotalTime으로 표시될것
임
북마크
• 연습삼아 만들어본 북마크
• 자주 방문하면 위에 표시됨
• 세팅 정보
• 설치시 필요한 정보들 적어둠
• 뭔가 해보려다가 만 흔적
• 설치 및 운영 문의
• yjpark@kdd.snu.ac.kr

More Related Content

What's hot

BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUpBSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUpSehan Lee
 
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)Sehan Lee
 
Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)Sehan Lee
 
파이썬 스터디 9장
파이썬 스터디 9장파이썬 스터디 9장
파이썬 스터디 9장SeongHyun Ahn
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback흥배 최
 
10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스유석 남
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍Changwon Choe
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해용 최
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)Eunjeong (Lucy) Park
 
Ryu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIRyu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIjieun kim
 
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터YunWon Jeong
 
CTF WEB Back_END 개발기
CTF WEB Back_END 개발기CTF WEB Back_END 개발기
CTF WEB Back_END 개발기one_two_12
 
Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6승태 김
 
Pwnable study basic_1
Pwnable study basic_1Pwnable study basic_1
Pwnable study basic_1Jinkyoung Kim
 
[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것
[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것
[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것NAVER D2
 
[2017 Incognito] 시스템 해킹 기법 정리
[2017 Incognito] 시스템 해킹 기법 정리[2017 Incognito] 시스템 해킹 기법 정리
[2017 Incognito] 시스템 해킹 기법 정리NAVER D2
 
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)Kyoungchan Lee
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의Kwangyoun Jung
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영Tae Young Lee
 
Kth개발자 세미나 1회
Kth개발자 세미나 1회Kth개발자 세미나 1회
Kth개발자 세미나 1회Byeongsu Kang
 

What's hot (20)

BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUpBSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
BSides Delhi CTF 2018 [Never Too Late Mister (Forensics 200pts)] WriteUp
 
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
SECCON 2016 Online CTF [Memory Analysis] Write-Up (ver.korean)
 
Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)
 
파이썬 스터디 9장
파이썬 스터디 9장파이썬 스터디 9장
파이썬 스터디 9장
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
 
10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스10장 문자열 클래스와 파일 클래스
10장 문자열 클래스와 파일 클래스
 
141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍141103 최창원 파이썬 확장 프로그래밍
141103 최창원 파이썬 확장 프로그래밍
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)
 
Ryu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST APIRyu with OpenFlow 1.3, REST API
Ryu with OpenFlow 1.3, REST API
 
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
 
CTF WEB Back_END 개발기
CTF WEB Back_END 개발기CTF WEB Back_END 개발기
CTF WEB Back_END 개발기
 
Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6
 
Pwnable study basic_1
Pwnable study basic_1Pwnable study basic_1
Pwnable study basic_1
 
[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것
[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것
[2017 Incognito] 스택 구조 분석을 통한 ROP 기법의 모든 것
 
[2017 Incognito] 시스템 해킹 기법 정리
[2017 Incognito] 시스템 해킹 기법 정리[2017 Incognito] 시스템 해킹 기법 정리
[2017 Incognito] 시스템 해킹 기법 정리
 
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
 
Kth개발자 세미나 1회
Kth개발자 세미나 1회Kth개발자 세미나 1회
Kth개발자 세미나 1회
 

Similar to Exp manager

Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Joongi Kim
 
코드잇-타스-특강.pdf
코드잇-타스-특강.pdf코드잇-타스-특강.pdf
코드잇-타스-특강.pdf이정환
 
20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현Tae Young Lee
 
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기Hyperledger Korea User Group
 
Parse.com 맛보기
Parse.com 맛보기Parse.com 맛보기
Parse.com 맛보기flashscope
 
Effective Python 1st (Test & Style)
Effective Python 1st (Test & Style)Effective Python 1st (Test & Style)
Effective Python 1st (Test & Style)경섭 심
 
HTML Form과 배열
HTML Form과 배열HTML Form과 배열
HTML Form과 배열Yoonwhan Lee
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) Tae Young Lee
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 YoungSu Son
 
레거시 시스템에 Django 들이밀기
레거시 시스템에 Django 들이밀기레거시 시스템에 Django 들이밀기
레거시 시스템에 Django 들이밀기Jiyong Jung
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초Kwangyoun Jung
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)wonyong hwang
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)상욱 송
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debuggingJongwon Han
 
spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼라한사 아
 

Similar to Exp manager (20)

Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료
 
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
Python Korea 2014년 6월 세미나 - Windows 환경에서 Python 개발환경 세팅하기
 
코드잇-타스-특강.pdf
코드잇-타스-특강.pdf코드잇-타스-특강.pdf
코드잇-타스-특강.pdf
 
20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현
 
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
1908 Hyperledger Fabric 소개 및 첫 네트워크 구축하기
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
Parse.com 맛보기
Parse.com 맛보기Parse.com 맛보기
Parse.com 맛보기
 
Effective Python 1st (Test & Style)
Effective Python 1st (Test & Style)Effective Python 1st (Test & Style)
Effective Python 1st (Test & Style)
 
HTML Form과 배열
HTML Form과 배열HTML Form과 배열
HTML Form과 배열
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
 
레거시 시스템에 Django 들이밀기
레거시 시스템에 Django 들이밀기레거시 시스템에 Django 들이밀기
레거시 시스템에 Django 들이밀기
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 
Ansible
AnsibleAnsible
Ansible
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)
 
spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼
 

Exp manager

  • 2. 설치 • virtualenv 를 python3으로 설정 또는 나중 스크립트들의 python은 python3으로 실행해도 됨 • sudo apt-get install python3-pip • pip install django • sudo python -m pip install python-dateutil • sudo python3 -m pip install gitpython • git clone ssh://kddlab@147.46.143.74/home/yjpark/repository/django- project • cd mysite • vi mysite/settings.py에 ALLOWED_HOSTS에 컴퓨터 ip 적어줌 • 예) ALLOWED_HOSTS = ["147.46.244.145"] • ./run
  • 3. 접속 • 18000 포트로 접속시 다음이 나오면 성공
  • 4. 계정 생성 • ./run.sh 종료 • python manage.py createsuperuser • 계정 생성 • ./run.sh 실행 • ip:18000/projects • 로 접속 • 계정으로 로그인
  • 5. 프로젝트 생성 이름 실험 결과 존재 여부 실험 결과 중 파라미터 추출부 나중에 설명 실험 결과 중 결과 추출부 나중에 설명
  • 6. 프로젝트 개요 • 프로젝트 생성 후 프로젝트 페이지 이동 git repository 있으면 등록 todo list prority는 0일수록 긴급 실험 결과 리스트 실험 결과로 그래프 만들기 : 구현 중… 원격 컴퓨터에 실험 시키기 : 구상만 해두고 실제로 구현 가능한지는 모르겠음 Related work 등록 : url은 pdf 파일 url 등록하면 자동으로 다운 받아 줌
  • 7. ExpUploader • wget http://147.46.143.74:18000/projects/expUploader/ • 혹은 • git clone ssh://kddlab@147.46.143.74/home/yjpark/repository/Experim entUploader/ • 143.74에서 자동으로 최신 expUploader를 pull 받아서 주므 로 (http 요청시 git pull 받고 최신 파일로 리턴) 특정 버젼일 때와 차이가 있을 수 있음..
  • 8. 실험 결과 포맷 JSON {"Date":"2017-01-19 20:36:12 KST","Algorithm":{"name":"Projection", "version":"1.0"}, "Result":{"date":"Thu Jan 19 20:32:48 KST 2017","time":"203960","nFreqItem":"17211981","Memory":"2956","nTran":"10000","nItem":"100","nRul e":"60","maxTran":"20","maxLhs":"1","maxRhs":"1","seed":"1","Number of projection":"734597601","Result_Time_4_1thIteration":"717","Result_Time_4_2thIteration":"6448","Res ult_Time_4_3thIteration":"45901","Result_Time_4_4thIteration":"112271","Result_Time_4_5thIteration" :"36206","Result_Time_4_6thIteration":"1728","Result_Time_4_7thIteration":"17","Result_Time_4_8thIt eration":"0","Applicable_rule":"88097","Applicable_rule_per_transaction":"8.8097","Object_projected_ar ray":"734597601","Object_projected":"126398113","Result_0_Frequent":"17211981","Result_Time_0_To tal_Time":"203960","Object_rule":"84","Object_transaction":"17222081"}, "Dataset":{"synthetic_parameters":{"version": "1","nTran": "10000","nItem": "100","nRule": "60","maxTran": "20","maxLhs": "1","maxRhs": "1","seed": "1"},"name": "100_10000_60_20_1_1_1","file_size": "304417","is_synthetic": "True"}, "ParametersUsed":{"minSup":"3.0", "minSupInt":"3", "gapConstraint": "100", "maxCandSize":"-1"}}
  • 9. JSON 성분 {"Date": 실험 시간 KST를 꼭 붙여서 Time zone 명시해줄 것, "Algorithm":알고리즘 이름, "Result": Json 형태의 결과, "Dataset": 데이터 셋 정보, "ParametersUsed": 사용한 파라미터 정보} 5가지 구성성분이 모두 필요함 대소문자 맞춰서 똑같게 써 줄 것
  • 10. 알고리즘 • "Algorithm":{"name":알고리즘 이름, "version": 버전, 숫자일 필요는 없음, 버전이 다르면 다른 알고리즘으로 인식함 }
  • 11. 실험 결과 "Result": {"date":"Thu Jan 19 20:32:48 KST 2017","time":"203960","nFreqItem":"17211981","Memory":"2956","nTran":"10000","nItem" :"100","nRule":"60","maxTran":"20","maxLhs":"1","maxRhs":"1","seed":"1","Number of projection":"734597601","Result_Time_4_1thIteration":"717","Result_Time_4_2thIteration" :"6448","Result_Time_4_3thIteration":"45901","Result_Time_4_4thIteration":"112271","Res ult_Time_4_5thIteration":"36206","Result_Time_4_6thIteration":"1728","Result_Time_4_7t hIteration":"17","Result_Time_4_8thIteration":"0","Applicable_rule":"88097","Applicable_ru le_per_transaction":"8.8097","Object_projected_array":"734597601","Object_projected":"1 26398113","Result_0_Frequent":"17211981","Result_Time_0_Total_Time":"203960","Object _rule":"84","Object_transaction":"17222081"}, Json 형태의 key-value 의 리스트 형태면 상관 없음 이름의 제한 조건 없음. 단 결과는 나중에 abc 순서로 sorting 되 서 나올 것임 Result_Time_0_Total_Time 이런 식으로 이름 지은 건 sorting 됬을때, Result_Time_4_8thIteration보다 앞에 나오게 하기 위함
  • 12. 데이터 셋 정보 • {"synthetic_parameters":, "name": 데이터 셋 이름, "file_size": 0으로 적어도 상관 없음 "is_synthetic": "True“ 혹은 “False”} • 참고: 실험 결과 비교할때는 다른 파라미터 무시하고 무조건 name 만으로 판단함 파라미터 달라도 name이 같으면 먼저 입력된 파라미 터가 우선시 – 이름 정할때 파라미터가 다 들어가도록 정할 것 • synthetic_parameters • Json 형태의 자유 형식
  • 13. Parameters Used • 실험 시에 변경하여 테스트하게 될텐데 이때 쓰는 변 수 • 데이터 셋 만들때와 무관함에 주의 • 예를 들어 frequent pattern mining한다고 했을 때, • 데이터 셋 string 개수를 100개로 하는 것은 dataset의 파라 미터. 실험시의 파라미터가 아님. • Minimum support의 경우 dataset에 무관한 파라미터이므 로 parameters used에 넣어줄것 • 역시 Json 형태의 자유 형식 • {"minSup":"3.0", "minSupInt":"3", "gapConstraint": "100", "maxCandSize":"-1"}
  • 14. 실험결과 업로드 • 실험 결과는 • python uploadExperiment.py exp • 이때, • pwd에는 • json 폴더가 있고, json 폴더 밑에는 uploaded 폴더가 있어야함 • 그 json 폴더에 txt 파일로 저장되어 있어야하며 • !! 중요 !! 한 줄에 위에 설명한 내용이 모두 적혀있어야 함 – 데이터셋, parameter 이런 거 모두 한줄에 적혀 있어야함 • txt 파일에는 여러줄이 있어도 됨 • 대신 각 line이 전 슬라이드에서 설명한 정보를 포함하는 json형태여야함 • 한줄만 있는 txt 파일은 완벽한 json 형태지만 • 여러줄 있는 txt 파일은 json 형태가 아님! • 그 이유는 txt 파일에 실험결과를 append 할 때 편의성을 높이기 위함
  • 15. 서버 아이피 및 포트 설정 projectSetting.json • { • "ServerIp" : "147.46.143.74", • "ServerPort" : "18000", • "ProjectName" : "Probabilistic Reverse Skyline” } • 프로젝트 이름은 서버에 만들어둔 이름과 동일 해야함
  • 16. 귀찮으면 다음 스크립트 쓰셈 • #!/bin/bash • if [ ! -d json/uploaded ]; • then • mkdir -p json/uploaded • fi • • if [ ! -e uploader/ExperimentUploader/uploadExperiment.py ] • then • echo "Downloadling uploadExperiment.py" • mkdir uploader • cd uploader • git clone ssh://yjpark@147.46.143.74/home/yjpark/repository/ExperimentUploader/ • else • cd uploader/ExperimentUploader • git pull • fi • cd - • ./uploader/ExperimentUploader/uploadExperiment.py exp
  • 17. 실험 결과 업로드 화면 • 최근 10개 실험결과 detail을 누르면 세부 정보
  • 18. • 데이터셋/알고리즘의 하이퍼 링크 누르면 같은 데이터셋 /알고리즘 결과 정리 페이지로 • 서버 정보 자세히 추가하는 것은 계획만.. • 파라미터 리스트 – Json 내용 표시 • 결과는 표 형식 – Json 내용 표시
  • 19. 실험결과 요약 • 데이터 셋에 대해선 • 같은 알고리즘, 같은 서버, 같은 파라미터로 실험 한 결과는 평균 내서 보여줌 • invalid 누르면 평균에서 제외
  • 20. 실험 결과 비교 • 체크하고 compare
  • 21. Compare • 항목별 비교 • 파란색 글자 : 제일 작음 • 빨간색 글자 : 제일 큼 • 검은색 글자 : 중간
  • 22. • Equals • 다르면 Different • 완전히 같으면 Same • 다른 숫자인데 최대값 /최소값 • 비율이 1.1 이하면 Similar • Min • Max • Ratio는 Max/Min 값
  • 23. ParamFilter / ResultFilter • 실험 화면 첫페이지에서 보고 싶은 정보 뽑아내 는 필터 • 다양한 파라미터중 Threshold, machines 이런 것만 뽑 혔고, • 다양한 results 중에 EmittedInst, DomComp, TotalTime, skyline 만 뽑힘
  • 24. • http://147.46.143.74:18000/admin/ • admin 아이디로 로긴 • Project 누르고 생성한 프로젝트 보면 • ParamFilter • ResultFilter • 설정부가 있음
  • 25. Filter 설정 • 주로 보고 싶은 파라미터만 ,로 분리해서 적어줌 • threshold,machines • Result의 경우 정렬을 위해 이름이 지저분해짐 • ,로 분리하되, :은 표시명을 적어줌 • result2_emittedInst:EmittedInst,result2_domComp :DomComp,Time_0_TotalTime:TotalTime,skyline • 위에서 Time_0_TotalTime은 TotalTime으로 표시될것 임
  • 26. 북마크 • 연습삼아 만들어본 북마크 • 자주 방문하면 위에 표시됨
  • 27. • 세팅 정보 • 설치시 필요한 정보들 적어둠
  • 29. • 설치 및 운영 문의 • yjpark@kdd.snu.ac.kr