anchor.diff:  //0.48371 = kaggle rsme; RDF RMS Error: 0.451875; Out-of-bag RMS Error: 0.475592
   //0.47806 = kaggle rsme; RDF RMS Error: 0.446892; Out-of-bag RMS Error: 0.470399
   //0.47774 = kaggle rsme; RDF RMS Error: 0.446649; Out-of-bag RMS Error: 0.470098
  +//?.????? = kaggle rsme; RDF RMS Error: 0.446260; Out-of-bag RMS Error: 0.469681 : attr text len
  +//?.????? = kaggle rsme; RDF RMS Error: 0.445838; Out-of-bag RMS Error: 0.469287 : 600 trees
  +//?.????? = kaggle rsme; RDF RMS Error: 0.433009; Out-of-bag RMS Error: 0.468017 : 600 trees/7.5% bag
  +//0.47743 = kaggle rsme; RDF RMS Error: 0.420040; Out-of-bag RMS Error: 0.466575 : 600 trees/10% bag
  
positive.code:        float words.Length
         float title.Length
         float desc.Length
         float wordMatchCount
         float titleMatches.Length
         float titleMatches.Length / float uniqueWords.Length
  
negative.code:       |> array2D
  
    printfn "Random Decision Forest regression..."
    let trees = 600
    let treeTrainSize = 0.1
    let featureCount = trainInput.[0].Length
    let _info, forest, forestReport =
        alglib.dfbuildrandomdecisionforest(trainInputOutput, trainInput.Length, featureCount, 1, trees, treeTrainSize)
  