我正在尝试在Python上使用FLANN,训练集矩阵为6,000,000 x 100.我正在使用以下命令构建索引:
flann = pyflann.FLANN()
params = flann.build_index(trainX, algorithm="autotuned", target_precision=0.9, sample_fraction=0.1, log_level="info")
我得到了很多交叉验证结果,最后一行显示了这个:
***Earlier results omitted***
KDTree using params: trees=32
Nodes Precision() Time(s) Time/vec(ms) Mean dist
---------------------------------------------------------
1 0.084 0.15658 0.15658 2.9036
2 0.098 0.15296 0.15296 2.097
4 0.137 0.15613 0.15613 1.6675
8 0.213 0.15454 0.15454 1.3968
16 0.324 0.16528 0.16528 1.2296
32 0.445 0.16481 0.16481 1.1253
64 0.567 0.20677 0.20677 1.0767
128 0.685 0.28533 0.28533 1.0437
256 0.777 0.42094 0.42094 1.027
512 0.863 0.73215 0.73215 1.0142
1024 0.916 1.2737 1.2737 1.0062
Start linear estimation
768 0.895 0.94626 0.94626 1.0086
896 0.903 1.073 1.073 1.0077
832 0.899 1.0092 1.0092 1.0081
KDTree buildTime=71.6163, searchTime=1.00915
----------------------------------------------------
Autotuned parameters:
algorithm : 1
trees : 8
----------------------------------------------------
Computing ground truth
Estimating number of checks
Nodes Precision() Time(s) Time/vec(ms) Mean dist
---------------------------------------------------------
1 0.445 3.053 3.053 2.0321
2 0.445 2.7963 2.7963 2.0321
4 0.457 3.2702 3.2702 1.514
8 0.475 3.0651 3.0651 1.321
16 0.503 3.0939 3.0939 1.1812
32 0.527 3.1058 3.1058 1.1132
64 0.57 3.6118 3.6118 1.0734
128 0.608 3.6885 3.6885 1.0467
256 0.642 3.3601 3.3601 1.0306
512 0.672 3.2895 3.2895 1.0187
1024 0.712 3.7659 3.7659 1.0087
2048 0.732 4.7198 4.7198 1.0047
4096 0.745 5.3416 5.3416 1.0027
8192 0.757 7.7298 7.7298 1.0012
16384 0.762 11.114 11.114 1.0006
32768 0.77 17.114 17.114 1.0001
65536 0.772 31.03 31.03 1
131072 0.772 61.822 61.822 1
262144 0.772 133.58 133.58 1
524288 0.773 284.51 284.51 1
1048576 0.773 605.73 605.73 1
2097152 0.773 1437.5 1437.5 1
4194304 0.773 3971.2 3971.2 1
8388608 0.773 6485.3 6485.3 1
16777216 0.773 6476.2 6476.2 1
33554432 0.773 6456.1 6456.1 1
67108864 0.773 6494.2 6494.2 1
在我看来,已经选择了一个KDTree(算法= 1)和8棵树。但现在最后一系列测试“估计支票数量”被卡住了。它已经在一夜之间运行但尚未完成。我认为这是因为精度无法达到0.9的目标,所以它只是不断增加节点。
有人可以告诉我如何继续吗?我应该杀了它并手动指定一个带有“自动调整参数”的kd树吗?无论如何,它正在计算的“检查次数”是多少 - 我认为已经找到树和节点的数量了?