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 등록하면 자동으로 다운 받아 줌
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가지 구성성분이 모두 필요함 대소문자 맞춰서 똑같게 써
줄 것
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
22. • Equals
• 다르면 Different
• 완전히 같으면 Same
• 다른 숫자인데 최대값 /최소값
• 비율이 1.1 이하면 Similar
• Min
• Max
• Ratio는 Max/Min 값
23. ParamFilter / ResultFilter
• 실험 화면 첫페이지에서 보고 싶은 정보 뽑아내
는 필터
• 다양한 파라미터중 Threshold, machines 이런 것만 뽑
혔고,
• 다양한 results 중에 EmittedInst, DomComp, TotalTime,
skyline 만 뽑힘
25. Filter 설정
• 주로 보고 싶은 파라미터만 ,로 분리해서 적어줌
• threshold,machines
• Result의 경우 정렬을 위해 이름이 지저분해짐
• ,로 분리하되, :은 표시명을 적어줌
• result2_emittedInst:EmittedInst,result2_domComp
:DomComp,Time_0_TotalTime:TotalTime,skyline
• 위에서 Time_0_TotalTime은 TotalTime으로 표시될것
임