MCPcopy Create free account
hub / github.com/Open-Quant/openquant / test_non_linear_effect

Function test_non_linear_effect

crates/openquant/tests/fingerprint.rs:74–95  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

72
73#[test]
74fn test_non_linear_effect() {
75 let x = synthetic_x(100, 13);
76 let mut fp = RegressionModelFingerprint::new();
77
78 fp.fit(&NonLinearRegModel, &x, 20, None).unwrap();
79 let (_, non_linear_effect, _) = fp.get_effects().unwrap();
80 assert!(non_linear_effect.raw[&1] > 0.01);
81
82 let linear = LinearRegModel { w: vec![1.0; 13] };
83 fp.fit(&linear, &x, 20, None).unwrap();
84 let (_, non_linear_linear_model, _) = fp.get_effects().unwrap();
85 let non_linear_linear_model_raw = non_linear_linear_model.raw.clone();
86 for v in non_linear_linear_model.raw.values() {
87 assert!(v.abs() < 1e-8);
88 }
89
90 fp.fit(&linear, &x, 70, None).unwrap();
91 let (_, non_linear_70, _) = fp.get_effects().unwrap();
92 for feature in [0usize, 5, 6, 12] {
93 assert!((non_linear_linear_model_raw[&feature] - non_linear_70.raw[&feature]).abs() < 0.05);
94 }
95}
96
97#[test]
98fn test_pairwise_effect() {

Callers

nothing calls this directly

Calls 4

synthetic_xFunction · 0.85
get_effectsMethod · 0.80
valuesMethod · 0.80
fitMethod · 0.45

Tested by

no test coverage detected