📄 readme2
字号:
1) Generate a data file using the IBM data generator program, gen. OR Start with an ascii file (see chess.ascii example file in this directory) The format of the ascii/binary file should be<cid> <tid> <numitem> <item list> 2) If ascii file, first convert to binary using makebin makebin chess.ascii chess.dataBinary file MUST have .data extension 3) Get configuration by running getconf (gen automatically generates conf file, so this step can be skipped) getconf -i chess -o chess -aBefore running the rest you should now have the following files chess.data chess.conf4) run: exttpose -i XXX -o XXX -l -s LMINSUP -a 0 example: exttpose -i chess -o chess -l -s 0.2 -a 0 or exttpose -i chess -o chess -l -s 0 -a 0 (this allows any minsup to be used later)note: this produces the files XXX.tpose, and XXX.idxThe XXX.tpose file is the DB in vertical format, andXXX.idx is an index file specifying where the tid-list for each itembegins.You can specify a value of LMINSUP to be the same as the one you will use torun charm below, in which case you will have to rerun exttpose each time youuse a new lower MINSUP. Alternatively, you can use a small value for LMINSUP,and it will continue to work for all values of MINSUP >= LMINSUP when yourun elcat.The time for inverting is stored in summary.out. The format is:TPOSE DB_FILENAME X NUMITEMS TOTAL_TIME(see note one TOTAL_TIME below) You should now have the following files: chess.data chess.conf chess.tpose chess.idx3) run charm charm -i XXX -e 1 -s <MINSUP> other flags -o output the patterns found output format: itemset - sup (tidset) -d to use diffsets instead of tidsets -l use tidset of pass 2 but then use diffsets after that (this should be used for sparse datasets, since tidset size of pass 2 is smaller than diffset size for sparse sets. Thus one would turn ON this option for any dataset generated by gen)MINSUP is in fractions, i.e., specify 0.5 if you want 50% minsup or0.01 if you want 1% support. note that the summary of the run is stored in the summary.outfile. The format of this file is as follows:CHARM (other options) DB_FILENAME MINSUP NUMTRANS_IN_DB ACTUAL_SUPPORT [ ITER_i |Ci| |Fi| timeForIter_i avg_tidset/diffset_size ] [TOT total_cands tot_freq tot_elapsed_time] NumberofIntersections XXX XXX XXX XXX tottime maxiters user_time sys_timeNote3: -e 1 option is a flag indicating charm to compute the supportof 2-itemsets from scratch. The number 1 says there is only one DBpartition that will be inverted entirely in main memory. If theoriginal DB is large then this inversion will obviously take too muchtime. So in this case I recommend dividing the DB into chunks of sizeroughly 5MB (assuming there is 32MB available to the process). Theexttpose program is equiped to handle this case. If you specify a <-pNUMPART> flag to exttpose it will divide the DB into NUMPARTchunks. Now you can run charm with -e NUMPART option. You must do thisif the DB is large otherwise the timings for charm will beskewed. Generally, the more the partitions the better the running timefor charm. For example: exttpose -i XXX -o XXX -l -a 0 -s LMINSUP -p 10 charm -i XXX -s MINSUP -e 10 In summary run charm -i chess -e 1 -s 0.8 -o for the current project.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -