Hi Brad,
I know that this is not really what you want, because is sort of involves stripping the dataset down to what you need, but I am not aware of an option in Classify/Predict that allows you to do what you want. What I show here works with the toy data you provided but I wanted to see how fast it is and generated my own toy dataset:
datalong = <|"ID" -> RandomInteger[20000], "Name" -> #, "Height" -> RandomVariate[NormalDistribution[1.7, 0.2]],
"Systolic" -> RandomInteger[{105, 160}], "Diastolic" -> RandomInteger[{65, 95}]|> -> RandomInteger[{60, 99}] & /@
Flatten@Import["http://www.babycenter.com/top-baby-names-2012", "Data"][[2, 2, 2]];
There are 200 fake subjects in that dataset.
p = Predict[Rule @@@ Transpose[{{#[[1]], #[[2]]} & /@ datalong[[All, 1, {"Diastolic", "Systolic"}]], datalong[[All, 2]]}]]
If you want to ask for data you could :
p[<|"Diastolic" -> 35, "Systolic" -> 160|>]
This example is actually a bit poor because of the random choice of parameters....
Best wishes,
Marco
PS: Note, that I strip the "Systolic" / "Diastolic" from the predictor.
p2 = Predict[Rule @@@ Transpose[{datalong[[All, 1, {"Diastolic", "Systolic"}]], datalong[[All, 2]]}]]
p2[<|"Diastolic" -> 35, "Systolic" -> 160|>]
appears to give slightly different results.