DTREG .NET Class Library
The DTREG .NET Class Library makes it easy for production applications to call DTREG as an “engine” to compute the predicted value for data records using a model created by DTREG. You must use the GUI version of DTREG to construct a model before you can use it with the DTREG Class Library to predict values.
Any type of model can be used with the DTREG Class Library to generate predicted values. All of the advanced scoring features such as the use of surrogate splitters to handle missing predictor values are used in the DTREG Class Library.
Because of the standardization of the .NET interface, it is easy to call the DTREG Class Library from programs written in Visual Basic, C#, Visual C++, VBA, Excel, Access, ASP and other languages. Both 32-bit and 64-bit versions of the Class Library are provided.
Click here to view the manual for the DTREG Class Library
Example Visual Basic Program That Calls The DTREG Class Library
Imports DTREGclassLibrary
Private Sub btnRun_Click(sender As System.Object, e As System.EventArgs) Handles btnRun.Click
'
' Miscellaneous variable declarations.
'
Dim ModelType, status, index As Long
Dim NumVar, NumCat As Long
Dim VarClass, VarType As Long
Dim VarName, CatLabel As String
Dim ixSepalLength, ixSepalWidth As Long
Dim ixPetalLength, ixPetalWidth As Long
Dim ixSpecies As Long
Dim PredictedCategory As String
Dim CatProb As Double
Dim Mvalue As Double
'
' Create an object to access the DTREG class library.
'
Dim dtreg As New DTREGclassLibrary.DTREGclass
'
' Open a DTREG project file.
'
Dim intStatus As Integer = dtreg.OpenModel("C:\DTREGtestFiles\Iris.dtr")
If intStatus <> 0 Then
MessageBox.Show("Project open status = " & intStatus.ToString)
End If
'
' Get the real value used to represent missing value.
'
Mvalue = dtreg.GetMissingValue()
'
' Find out what type of model this is
'
ModelType = dtreg.GetModelType()
'
' Find out how many variables are in the model.
'
NumVar = dtreg.GetNumberOfVariables()
'
' Check the name and properties of each variable.
'
For index = 0 To NumVar - 1
VarName = dtreg.VariableName(index)
VarClass = dtreg.VariableClass(index)
VarType = dtreg.VariableType(index)
Next
'
' Get the index numbers of the variables variables.
'
ixSpecies = dtreg.VariableIndex("Species")
ixSepalLength = dtreg.VariableIndex("Sepal length")
ixSepalWidth = dtreg.VariableIndex("Sepal width")
ixPetalLength = dtreg.VariableIndex("Petal length")
ixPetalWidth = dtreg.VariableIndex("Petal width")
'
' Set the values of the predictors we want to score.
'
status = dtreg.SetContinuousValue(ixSepalLength, 5.1)
status = dtreg.SetContinuousValue(ixSepalWidth, 3.5)
status = dtreg.SetContinuousValue(ixPetalLength, 1.4)
status = dtreg.SetContinuousValue(ixPetalWidth, 0.2)
'
' Compute the predicted target category.
'
intStatus = dtreg.ComputeScore()
'
' See if any error occurred during the computation.
'
If intStatus <> 0 Then
MessageBox.Show("Error computing target: " & intStatus.ToString)
Stop
End If
'
' Check the predicted category for the target.
'
PredictedCategory = dtreg.GetPredictedCategory()
If PredictedCategory <> "Setosa" Then
MessageBox.Show("Incorrect predicted category: " & PredictedCategory)
End If
'
' If we are using a TreeBoost model, check the probabilities
' for each of the target variable categories.
'
NumCat = dtreg.GetNumberOfCategories(ixSpecies)
For index = 0 To NumCat - 1
CatLabel = dtreg.GetCategoryLabel(ixSpecies, index)
CatProb = dtreg.GetProbabilityScore(index)
Next
End Sub
End Class'
' If we are using a TreeBoost model, check the probabilities
' for each of the target variable categories.
'
If ModelType = 2 Then
NumCat = dtreg.NumberOfCategories(ixSpecies)
For index = 0 To NumCat - 1
CatLabel = dtreg.CategoryLabel(ixSpecies, index)
CatProb = dtreg.TargetCategoryProbability(index)
Next
End If
End Sub

