Unveiling patterns in data: harnessing computational topology in machine learning