The adjacency parameter should be stored unchanged on self in the `__init__` method and the creation of the adjacency matrix, the distance matrix and the graph diameter attribute should all happen in the `fit` method.

This is what is causing the clone test to fail.

Also attributes set in the fit method should be suffixed with `_` sign to be distinguished from the original hyper-parameters.

Finally I would rename `adjacency` to `adjacency_resolution` and set its default value in the `__init__` to  `adjacency_resolution=4` by default and automatically set adjacency matrix match a grid with shape `(adjacency_resolution,) * n_features` in the fit method as the number of features can be introspected at that point. This way the constructor parameters can all be made data independent and the estimator can accept data with any number of features.