Source code for h2o.model.clustering
"""
Clustering Models should be comparable.
"""
from model_base import ModelBase
[docs]class H2OClusteringModel(ModelBase):
def __init__(self, dest_key, model_json):
super(H2OClusteringModel, self).__init__(dest_key, model_json,H2OClusteringModelMetrics)
[docs] def summary(self):
"""
This method prints out various relevant pieces of information for a clustering
model.
"""
output = self._model_json["output"]
#centers = output["centers"]
print "Model Summary:"
print
print
print "Cluster Sizes: " + str(output["size"])
print
print "Within-Cluster MSE: " + str(output["within_mse"])
print
print "Average Between-Cluster SSE: " + str(output["avg_between_ss"])
print "Average Overall SSE: " + str(output["avg_ss"])
print
[docs] def size(self):
return self._model_json["output"]["size"]
[docs] def avg_between_ss(self):
return self._model_json["output"]["avg_between_ss"]
[docs] def avg_ss(self):
return self._model_json["output"]["avg_ss"]
[docs] def avg_within_ss(self):
return self._model_json["output"]["avg_within_ss"]
[docs] def within_mse(self):
return self._model_json["output"]["within_mse"]
[docs] def centers(self):
centers_plus = self._model_json['output']['centers'].cell_values
centers_only = []
for cidx, cval in enumerate(centers_plus):
centers_only.append(list(centers_plus[cidx])[1:])
return centers_only
[docs]class H2OClusteringModelMetrics(object):
def __init__(self, metric_json):
self._metric_json = metric_json