The Modeling Process in Proximity

The process of learning, applying, and evaluating a model is substantially the same for each of Proximity’s models. In each case we will

  1. Define the problem. We identify the attribute that we want to predict (the class label) and the pieces of information that can be used in making that prediction (sources). Sources can include attributes on objects or links in the subgraph, attributes on the subgraph itself, or structural features of objects in the subgraph.

  2. Instantiate the model. A simple constructor call instantiates a default version of the model. For some models, you can add modules to change the behavior as desired.

  3. Learn the model. Proximity uses labeled data to determine how to predict class labels. The process for predicting class labels varies depending on the type of model being learned.

  4. Save the model. [Optional] Proximity lets you save the model to an XML file. You can then import the saved model at a later time, avoiding the need to regenerate the model.

  5. Apply the model. Use the model to make predictions about the class label.

  6. Write the model’s predictions to the database. [Optional] You can save the predicted values in the database, typically as an attribute on the corresponding subgraph.

  7. Evaluate the model. Calculating evaluation metrics lets you compare and evaluate model performance.