Name | Modified | Size | Downloads / Week |
---|---|---|---|
README | 2010-06-08 | 2.2 kB | |
ra32svm.tar.gz | 2010-06-08 | 28.3 kB | |
ra32svm.cpp | 2010-06-08 | 2.9 kB | |
ra32svm.h | 2010-06-08 | 43.4 kB | |
LIBSVM-COPYRIGHT | 2010-06-08 | 1.5 kB | |
RA32SVM-COPYRIGHT | 2010-06-08 | 1.5 kB | |
vertex.h | 2010-06-08 | 858 Bytes | |
value.h | 2010-06-08 | 1.1 kB | |
svm.h | 2010-06-08 | 2.9 kB | |
svm.cpp | 2010-06-08 | 61.3 kB | |
road.h | 2010-06-08 | 947 Bytes | |
model.h | 2010-06-08 | 897 Bytes | |
Makefile | 2010-06-08 | 142 Bytes | |
jam.h | 2010-06-08 | 2.7 kB | |
edge.h | 2010-06-08 | 1.1 kB | |
Totals: 15 Items | 151.8 kB | 0 |
Program predicts a jam for chosen task on road graph. Download data file example: http://imat2010.yandex.ru There are 30 days with information about jams since 16:00 till 22:00. Need to predict jams at 31st. ( At 31st day information since 16:00 till 18:00 is available). Algorithm is based on SVM library. BSD licence. Author: Basov Yuriy, Rambler Internet Holding. E-mail: basov_yo@pisem.net Usage: cd ra32svm make wget http://download.yandex.ru/imat2010/imat2010.zip mkdir ./imat2010 mv ./imat2010.zip ./imat2010 cd ./imat2010 unzip imat2010.zip cd .. ./ra32svm --work-dir=./imat2010 --task-road=317746 --result=./result317746.txt cat ./result317746.txt Results: Program saves predicted jams to file, defined by option --result. Algorithm: 1. Read recommended speed on that road and save it as result value. 2. Calculate baseline speed on that road ( average speed at that time ) and resave it as result value. 3. Split speed values, using 4 km/h grid and train svm models to identify that speed classes. 4. Use speed on neighbours streets as parameters of svm models. Train models and compare results with baseline. 5. Resave the best result of svm models as result value. SVM-algorithm: http://www.csie.ntu.edu.tw/~cjlin/libsvm/ How it works: 1. Search neighbourhoud roads on the graph (max list length = 64). 2. Sort neighbourhoud roads by distance from chosen one. 3. Load jams on neighbourhoud roads for all days. 4. Remove neighbourhoud roads without information at last day (resize list to length = 16). 5. Analyse each available day with step 4 minutes and prepare data vectors with same situation. 6. Use last day data vectors for tests. 7. Use speed on neighbours streets as parameters of svm models. RBF-kernel (gamma 0.001) has been taken. 7. Split speed values, using 4 km/h grid and train svm models to identify that speed classes. 8. For each speed class calculate average speed value, that would be used as a result, if svm model choose that class. 9. Compare results of baseline algorithm and results of svm-model on a test day. 10. If svm-model results are better (70% of all tasks), than we save them as final. 11. Othervise - save baseline speed ( average speed at that time ).