@@ -627,7 +627,6 @@ impl FeatureMap {
627627 } ;
628628 features. 0 . insert ( feature_num, ( feature_name. to_string ( ) , feature_type) ) ;
629629 }
630-
631630 Ok ( features)
632631 }
633632}
@@ -708,15 +707,16 @@ mod tests {
708707
709708 #[ test]
710709 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 ( ) ;
712712 let attr = booster. get_attribute ( "foo" ) . expect ( "Getting attribute failed" ) ;
713713 assert_eq ! ( attr, None ) ;
714714
715715 booster. set_attribute ( "foo" , "bar" ) . expect ( "Setting attribute failed" ) ;
716716 let attr = booster. get_attribute ( "foo" ) . expect ( "Getting attribute failed" ) ;
717717 assert_eq ! ( attr, Some ( "bar" . to_owned( ) ) ) ;
718718
719- let mut dir = tempfile:: tempdir ( ) . expect ( "create temp dir" ) ;
719+ let dir = tempfile:: tempdir ( ) . expect ( "create temp dir" ) ;
720720 let path = dir. path ( ) . join ( "test-xgboost-model" ) ;
721721 booster. save ( & path) . expect ( "saving booster" ) ;
722722 drop ( booster) ;
@@ -943,6 +943,8 @@ mod tests {
943943 fn dump_model ( ) {
944944 let dmat_train = DMatrix :: load ( "xgboost-sys/xgboost/demo/data/agaricus.txt.train" ) . unwrap ( ) ;
945945
946+ println ! ( "{:?}" , dmat_train. shape( ) ) ;
947+
946948 let tree_params = tree:: TreeBoosterParametersBuilder :: default ( )
947949 . max_depth ( 2 )
948950 . eta ( 1.0 )
@@ -967,75 +969,75 @@ mod tests {
967969 . expect ( "failed to parse feature map file" ) ;
968970
969971 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
972974 3:leaf=1.71217716,cover=812
973975 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
975977 5:leaf=-1.94070864,cover=690.5
976978 6:leaf=1.85964918,cover=13.25
977979
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
980982 3:leaf=0.78471756,cover=458.936859
981983 4:leaf=-0.968530357,cover=309.45282
982984 2:leaf=-6.23624468,cover=20.462389
983985
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
986988 3:leaf=0.658725023,cover=212.999451
987989 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
989991 5:leaf=-0.791407049,cover=233.487625
990992 6:leaf=-9.421422,cover=2.53038669
991993
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
994996 3:leaf=0.614153326,cover=95.8599854
995997 4:leaf=-0.877905607,cover=178.241974
996998 2:leaf=1.07747853,cover=90.0174103
997999
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
10001002 3:leaf=-1.26934469,cover=42.277401
10011003 4:leaf=0.152607277,cover=135.494431
10021004 2:leaf=2.92190909,cover=11.4303684
10031005
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
10061008 3:leaf=0.431742132,cover=131.902222
10071009 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
10091011 5:leaf=-3.02413678,cover=3.65769386
10101012 6:leaf=-1.02315068,cover=16.0739021
10111013
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
10141016 3:leaf=0.777142286,cover=64.5309982
10151017 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
10171019 5:leaf=-0.912605286,cover=66.1211166
10181020 6:leaf=0.836115122,cover=3.48375821
10191021
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
10221024 3:leaf=-0.0180106498,cover=25.0319824
10231025 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
10251027 5:leaf=-0.908311546,cover=36.982872
10261028 6:leaf=0.890622675,cover=7.49097395
10271029
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
10301032 3:leaf=-0.515293062,cover=15.7899179
10311033 4:leaf=0.56883812,cover=28.5100231
10321034 2:leaf=-1.01502442,cover=9.02525806
10331035
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
10361038 3:leaf=0.217203051,cover=22.3283749
10371039 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
10391041 5:leaf=3.63442755,cover=1.34154534
10401042 6:leaf=-0.609474957,cover=1.53319895
10411043" ) ;
0 commit comments