Objectives - Introduction#
[1]:
%%capture
# execute the creation & training notebook first
%run "02-01-creation_and_training.ipynb"
After training we can use our causal structure to evaluate objectives. In the prediction section we actually already evaluated our first objective class, the Predictor. The .predict method from the prediction section is actually a convenience method for applying the Predictor.
Let’s import the Predictor and create some test data.
[2]:
from halerium import Predictor
test_data_a = pd.DataFrame({"(a)": np.linspace(4.5, 5.5, 100)})
[3]:
prediction = causal_structure.evaluate_objective(Predictor,
data=test_data_a)
With the evaluate_objective method the return is not a DataFrame, but a dictionary.
[4]:
type(prediction)
[4]:
dict
However, the dictionary is structured in the same way, so that it can be easily casted to a DataFrame (which is what the predict method does automatically.
[5]:
pd.DataFrame(prediction).head()
[5]:
| (a) | (b|a) | (c|a,b) | |
|---|---|---|---|
| 0 | 4.500000 | -3.962700 | 45.574920 |
| 1 | 4.510101 | -4.440708 | 45.420133 |
| 2 | 4.520202 | -4.913923 | 45.282097 |
| 3 | 4.530303 | -5.418805 | 45.137820 |
| 4 | 4.540404 | -5.893207 | 45.010048 |
For further details about the Predictor see the corresponding section in the core-documentation.
Objective classes define certain statistical questions. Every objective class has its convenience function in the CausalStructure class.
The available classes and corresponding methods are
Predictor(.predict) - make predictions, see the prediction section and this section,InterventionPredictor(.predict_intervention) - make predictions from interventions, see intervention prediction,Evaluator(.evaluate) - evaluate the performance of predictions, see evaluation,OutlierDetector(.detect_outliers``)`` - find outliers, see outlier detection,InfluenceEstimator(.estimate_influences) - estimate influences on a certain target, see influence estimation,RankEstimator(.estimate_ranks) - estimate typicality of events, see rank estimation,ProbabilityEstimator(.estimate_probabilities) - estimate the probability of events, see probability estimation.
In the next section we will learn about predicting interventions.
[ ]: