Source code for queso_cluster.addon.tests



from ..runners import base as baseRun
from ..atoms import aux as auxAtom
from ..atoms import scores as scoreAtom

import numpy as np
import matplotlib.pyplot as plt

[docs] def kSearchTest(prepSquare): distanceK, distanceAvgK = baseRun.kFinder(prepSquare) fig = plt.figure(layout='constrained', figsize=(20, 10), dpi=300) ax = fig.add_subplot(221) ax.autoscale(enable=True, axis='x', tight=True) ax.scatter(np.arange(distanceK.shape[1])+1, distanceK[0, :], color='black') ax.set_ylabel("++") ax.set_title("Staggered Distance Dist(k-1, k)") ax.set_xticklabels([]) ax = fig.add_subplot(223) ax.autoscale(enable=True, axis='x', tight=True) ax.scatter(np.arange(distanceK.shape[1])+1, distanceK[1, :], color='black') ax.set_ylabel("max") ax = fig.add_subplot(222) ax.autoscale(enable=True, axis='x', tight=True) ax.scatter(np.arange(distanceK.shape[1])+1, distanceAvgK[0, :], color='black') ax.set_xticklabels([]) ax.set_title("Avgerage Distance") ax = fig.add_subplot(224) ax.autoscale(enable=True, axis='x', tight=True) ax.scatter(np.arange(distanceK.shape[1])+1, distanceAvgK[1, :], color='black') plt.savefig("./distanceK.png")
[docs] def scoreEvaluation(prepSquare, intrinsicLine, labelLine): i0Arr = auxAtom.pick_jth_label(intrinsicLine, 0) intrinsicLst = np.unique(i0Arr) scoresArray = np.zeros((2, intrinsicLst.size)) for ii in range(intrinsicLst.size): indx = np.where(i0Arr == intrinsicLst[ii])[0] nSSb = scoreAtom.calcNeighborSilhouetteScore(prepSquare[indx,:], labelLine[indx]) scoresArray[0, ii] = nSSb db = scoreAtom.calcDaviesBouldin(prepSquare[indx, :], labelLine[indx]) scoresArray[1, ii] = db return(scoresArray)