@@ -627,7 +627,6 @@ impl FeatureMap {
627
627
} ;
628
628
features. 0 . insert ( feature_num, ( feature_name. to_string ( ) , feature_type) ) ;
629
629
}
630
-
631
630
Ok ( features)
632
631
}
633
632
}
@@ -708,15 +707,16 @@ mod tests {
708
707
709
708
#[ test]
710
709
fn save_and_load_from_buffer ( ) {
711
- let mut booster = load_test_booster ( ) ;
710
+ let dmat_train = DMatrix :: load ( "xgboost-sys/xgboost/demo/data/agaricus.txt.train" ) . unwrap ( ) ;
711
+ let mut booster = Booster :: new_with_cached_dmats ( & BoosterParameters :: default ( ) , & [ & dmat_train] ) . unwrap ( ) ;
712
712
let attr = booster. get_attribute ( "foo" ) . expect ( "Getting attribute failed" ) ;
713
713
assert_eq ! ( attr, None ) ;
714
714
715
715
booster. set_attribute ( "foo" , "bar" ) . expect ( "Setting attribute failed" ) ;
716
716
let attr = booster. get_attribute ( "foo" ) . expect ( "Getting attribute failed" ) ;
717
717
assert_eq ! ( attr, Some ( "bar" . to_owned( ) ) ) ;
718
718
719
- let mut dir = tempfile:: tempdir ( ) . expect ( "create temp dir" ) ;
719
+ let dir = tempfile:: tempdir ( ) . expect ( "create temp dir" ) ;
720
720
let path = dir. path ( ) . join ( "test-xgboost-model" ) ;
721
721
booster. save ( & path) . expect ( "saving booster" ) ;
722
722
drop ( booster) ;
@@ -943,6 +943,8 @@ mod tests {
943
943
fn dump_model ( ) {
944
944
let dmat_train = DMatrix :: load ( "xgboost-sys/xgboost/demo/data/agaricus.txt.train" ) . unwrap ( ) ;
945
945
946
+ println ! ( "{:?}" , dmat_train. shape( ) ) ;
947
+
946
948
let tree_params = tree:: TreeBoosterParametersBuilder :: default ( )
947
949
. max_depth ( 2 )
948
950
. eta ( 1.0 )
@@ -967,75 +969,75 @@ mod tests {
967
969
. expect ( "failed to parse feature map file" ) ;
968
970
969
971
assert_eq ! ( booster. dump_model( true , Some ( & features) ) . unwrap( ) ,
970
- "0:[odor=pungent ] yes=2,no=1,gain=4000.53101,cover=1628.25
971
- 1:[stalk-root=cup ] yes=4,no=3,gain=1158.21204,cover=924.5
972
+ "0:[odor=none ] yes=2,no=1,gain=4000.53101,cover=1628.25
973
+ 1:[stalk-root=club ] yes=4,no=3,gain=1158.21204,cover=924.5
972
974
3:leaf=1.71217716,cover=812
973
975
4:leaf=-1.70044053,cover=112.5
974
- 2:[spore-print-color=orange ] yes=6,no=5,gain=198.173828,cover=703.75
976
+ 2:[spore-print-color=green ] yes=6,no=5,gain=198.173828,cover=703.75
975
977
5:leaf=-1.94070864,cover=690.5
976
978
6:leaf=1.85964918,cover=13.25
977
979
978
- 0:[stalk-root=missing ] yes=2,no=1,gain=832.545044,cover=788.852051
979
- 1:[odor=pungent ] yes=4,no=3,gain=569.725098,cover=768.389709
980
+ 0:[stalk-root=rooted ] yes=2,no=1,gain=832.545044,cover=788.852051
981
+ 1:[odor=none ] yes=4,no=3,gain=569.725098,cover=768.389709
980
982
3:leaf=0.78471756,cover=458.936859
981
983
4:leaf=-0.968530357,cover=309.45282
982
984
2:leaf=-6.23624468,cover=20.462389
983
985
984
- 0:[ring-type=sheathing ] yes=2,no=1,gain=368.744568,cover=457.069458
985
- 1:[stalk-surface-below-ring=silky ] yes=4,no=3,gain=226.33696,cover=221.051468
986
+ 0:[ring-type=pendant ] yes=2,no=1,gain=368.744568,cover=457.069458
987
+ 1:[stalk-surface-below-ring=scaly ] yes=4,no=3,gain=226.33696,cover=221.051468
986
988
3:leaf=0.658725023,cover=212.999451
987
989
4:leaf=5.77228642,cover=8.05200672
988
- 2:[spore-print-color=white ] yes=6,no=5,gain=258.184265,cover=236.018005
990
+ 2:[spore-print-color=purple ] yes=6,no=5,gain=258.184265,cover=236.018005
989
991
5:leaf=-0.791407049,cover=233.487625
990
992
6:leaf=-9.421422,cover=2.53038669
991
993
992
- 0:[odor=musty ] yes=2,no=1,gain=140.486069,cover=364.119354
993
- 1:[gill-size=narrow ] yes=4,no=3,gain=139.860504,cover=274.101959
994
+ 0:[odor=foul ] yes=2,no=1,gain=140.486069,cover=364.119354
995
+ 1:[gill-size=broad ] yes=4,no=3,gain=139.860504,cover=274.101959
994
996
3:leaf=0.614153326,cover=95.8599854
995
997
4:leaf=-0.877905607,cover=178.241974
996
998
2:leaf=1.07747853,cover=90.0174103
997
999
998
- 0:[spore-print-color=orange ] yes=2,no=1,gain=112.605011,cover=189.202194
999
- 1:[gill-spacing=crowded ] yes=4,no=3,gain=66.4029999,cover=177.771835
1000
+ 0:[spore-print-color=green ] yes=2,no=1,gain=112.605011,cover=189.202194
1001
+ 1:[gill-spacing=close ] yes=4,no=3,gain=66.4029999,cover=177.771835
1000
1002
3:leaf=-1.26934469,cover=42.277401
1001
1003
4:leaf=0.152607277,cover=135.494431
1002
1004
2:leaf=2.92190909,cover=11.4303684
1003
1005
1004
- 0:[odor=anise ] yes=2,no=1,gain=52.5610275,cover=170.612762
1005
- 1:[odor=creosote ] yes=4,no=3,gain=67.3869553,cover=150.881165
1006
+ 0:[odor=almond ] yes=2,no=1,gain=52.5610275,cover=170.612762
1007
+ 1:[odor=anise ] yes=4,no=3,gain=67.3869553,cover=150.881165
1006
1008
3:leaf=0.431742132,cover=131.902222
1007
1009
4:leaf=-1.53846073,cover=18.9789505
1008
- 2:[gill-spacing=crowded ] yes=6,no=5,gain=12.4420624,cover=19.731596
1010
+ 2:[gill-spacing=close ] yes=6,no=5,gain=12.4420624,cover=19.731596
1009
1011
5:leaf=-3.02413678,cover=3.65769386
1010
1012
6:leaf=-1.02315068,cover=16.0739021
1011
1013
1012
- 0:[odor=pungent ] yes=2,no=1,gain=66.2389145,cover=142.360611
1013
- 1:[odor=creosote ] yes=4,no=3,gain=31.2294312,cover=72.7557373
1014
+ 0:[odor=none ] yes=2,no=1,gain=66.2389145,cover=142.360611
1015
+ 1:[odor=anise ] yes=4,no=3,gain=31.2294312,cover=72.7557373
1014
1016
3:leaf=0.777142286,cover=64.5309982
1015
1017
4:leaf=-1.19710124,cover=8.22473907
1016
- 2:[spore-print-color=orange ] yes=6,no=5,gain=12.1987419,cover=69.6048737
1018
+ 2:[spore-print-color=green ] yes=6,no=5,gain=12.1987419,cover=69.6048737
1017
1019
5:leaf=-0.912605286,cover=66.1211166
1018
1020
6:leaf=0.836115122,cover=3.48375821
1019
1021
1020
- 0:[gill-size=narrow ] yes=2,no=1,gain=20.6531773,cover=79.4027634
1021
- 1:[spore-print-color=yellow ] yes=4,no=3,gain=16.0703697,cover=34.9289207
1022
+ 0:[gill-size=broad ] yes=2,no=1,gain=20.6531773,cover=79.4027634
1023
+ 1:[spore-print-color=white ] yes=4,no=3,gain=16.0703697,cover=34.9289207
1022
1024
3:leaf=-0.0180106498,cover=25.0319824
1023
1025
4:leaf=1.4361918,cover=9.89693928
1024
- 2:[odor=musty ] yes=6,no=5,gain=22.1144333,cover=44.4738464
1026
+ 2:[odor=foul ] yes=6,no=5,gain=22.1144333,cover=44.4738464
1025
1027
5:leaf=-0.908311546,cover=36.982872
1026
1028
6:leaf=0.890622675,cover=7.49097395
1027
1029
1028
- 0:[odor=anise ] yes=2,no=1,gain=11.7128553,cover=53.3251991
1029
- 1:[ring-type=sheathing ] yes=4,no=3,gain=12.546154,cover=44.299942
1030
+ 0:[odor=almond ] yes=2,no=1,gain=11.7128553,cover=53.3251991
1031
+ 1:[ring-type=pendant ] yes=4,no=3,gain=12.546154,cover=44.299942
1030
1032
3:leaf=-0.515293062,cover=15.7899179
1031
1033
4:leaf=0.56883812,cover=28.5100231
1032
1034
2:leaf=-1.01502442,cover=9.02525806
1033
1035
1034
- 0:[population=numerous ] yes=2,no=1,gain=14.8892794,cover=45.9312019
1035
- 1:[odor=pungent ] yes=4,no=3,gain=10.1308851,cover=43.0564575
1036
+ 0:[population=clustered ] yes=2,no=1,gain=14.8892794,cover=45.9312019
1037
+ 1:[odor=none ] yes=4,no=3,gain=10.1308851,cover=43.0564575
1036
1038
3:leaf=0.217203051,cover=22.3283749
1037
1039
4:leaf=-0.734555721,cover=20.7280827
1038
- 2:[stalk-surface-above-ring=fibrous ] yes=6,no=5,gain=19.3462334,cover=2.87474418
1040
+ 2:[stalk-root=missing ] yes=6,no=5,gain=19.3462334,cover=2.87474418
1039
1041
5:leaf=3.63442755,cover=1.34154534
1040
1042
6:leaf=-0.609474957,cover=1.53319895
1041
1043
" ) ;
0 commit comments