1.1 add parallel computation of GEDs.
1.2 randomly initialize edit costs instead of uniform initialization.
1.3 remove the constrain that sum of the edit costs has to be equal to 1, avoiding sparsity.
* rewrite the implementation of the marginalized kernel.
* implement four computing methods of the generalized random walk kernel.
* in the path kernel up to length h, use trie to save all paths, saving tremendous memories; use the Deep-first search to get paths from graphs.
* in model_selection_for_precomputed_kernel method, complete the part to do cross validation when Gram matrices are read from file.
* in get_dataset_attributes methods, correct three sub-methods about getting node degrees, add sub-methods to get fill factors of graphs.
* change default chunksize of pool.imap_unordered parallel method to 100.
* remove try... except blocks in case they hidden bugs.
2. update pygraph.utils.graphdatasets.get_dataset_attributes function, so that if a dataset has missing attributes it can still read the dimension of attributes.
2. save gram matrices and relative data when using function cross_validation_pre_computed, before cross validation step, in case that something goes wrong with CV. Parameter read_gm_from_file can be used to choose whether to read gram matrices from file.
3. add some test code to check if a gram matrix is symmetric and positive semi-definite.
2. modify model_selection_precomputed so that all results are written into memory and then to a file at last section of code, in case that on cpu/disk seperated systems the IO takes too much time.
3. correct utils.floyd_warshall_numpy function. DONNOT use the last version.
2. correct an error in the common walk kernel. DON NOT use the old one.
3. improve the method to construct fully-labeled direct product graphs, much faster for sparse graphs.
2. model_selection_precomputed can now save all results as human readable text.
3. modify pygraph.utils.utils.floydTransformation and pygraph.utils.graphdataset.get_dataset_attributes.