Skip to content
Snippets Groups Projects
Commit 09712adc authored by Alice Brenon's avatar Alice Brenon
Browse files

Rename the Nearest-Neighbour matrix now that I've recognised it

parent 226437a9
No related branches found
No related tags found
No related merge requests found
...@@ -30,7 +30,7 @@ def maxOutOfDiagonal(n, row): ...@@ -30,7 +30,7 @@ def maxOutOfDiagonal(n, row):
m = max([row[i] for i in range(l) if i != n]) m = max([row[i] for i in range(l) if i != n])
return [row[i] if i != n and row[i] == m else 0 for i in range(l)] return [row[i] if i != n and row[i] == m else 0 for i in range(l)]
def maxConfusionMatrix(m): def nearestNeighbour(m):
return [maxOutOfDiagonal(i, m[i]) for i in range(len(m))] return [maxOutOfDiagonal(i, m[i]) for i in range(len(m))]
def confusionMatrix(data, labels): def confusionMatrix(data, labels):
...@@ -44,10 +44,10 @@ def getConfusionMatrix(inputFile, labels=None): ...@@ -44,10 +44,10 @@ def getConfusionMatrix(inputFile, labels=None):
elif inputFile[-5:] == '.json': elif inputFile[-5:] == '.json':
return JSON.load(inputFile) return JSON.load(inputFile)
def extractConfusionMatrix(inputFile, outputJSON, labels=None, maximal=False): def extractConfusionMatrix(inputFile, outputJSON, labels=None, nearest=False):
data = getConfusionMatrix(inputFile, labels) data = getConfusionMatrix(inputFile, labels)
if maximal: if nearest:
data['matrix'] = maxConfusionMatrix(data['matrix']) data['matrix'] = nearestNeighbour(data['matrix'])
JSON.save(data, outputJSON) JSON.save(data, outputJSON)
def getArgs(arguments): def getArgs(arguments):
...@@ -57,8 +57,9 @@ def getArgs(arguments): ...@@ -57,8 +57,9 @@ def getArgs(arguments):
cli.add_argument('inputFile') cli.add_argument('inputFile')
cli.add_argument('outputJSON') cli.add_argument('outputJSON')
add_labels_argument(cli) add_labels_argument(cli)
cli.add_argument('-m', '--maximal', action='store_const', const=True, cli.add_argument('-n', '--nearestNeighbour', action='store_const',
default=False, help="Simplify the matrix into an MCM") const=True, default=False,
help="Simplify the matrix into an MCM")
return cli.parse_args(arguments) return cli.parse_args(arguments)
def extractConfusionMatrixCLI(arguments): def extractConfusionMatrixCLI(arguments):
...@@ -67,4 +68,4 @@ def extractConfusionMatrixCLI(arguments): ...@@ -67,4 +68,4 @@ def extractConfusionMatrixCLI(arguments):
extractConfusionMatrix(args.inputFile, extractConfusionMatrix(args.inputFile,
args.outputJSON, args.outputJSON,
labels=labels, labels=labels,
maximal=args.maximal) nearest=args.nearestNeighbour)
from GEODE.Visualisation.ConfusionMatrix import extractConfusionMatrix, \ from GEODE.Visualisation.ConfusionMatrix import extractConfusionMatrix, \
maxConfusionMatrix nearestNeighbour
from GEODE.Visualisation.DensityProfile import densityProfile, \ from GEODE.Visualisation.DensityProfile import densityProfile, \
drawDensityProfile, plotDensity drawDensityProfile, plotDensity
from GEODE.Visualisation.DrawMatrix import drawMatrix from GEODE.Visualisation.DrawMatrix import drawMatrix
......
...@@ -24,7 +24,7 @@ from GEODE.Metadata import article, articleKey, paragraph, paragraphKey, \ ...@@ -24,7 +24,7 @@ from GEODE.Metadata import article, articleKey, paragraph, paragraphKey, \
fromKey, relativePath, toKey, uid fromKey, relativePath, toKey, uid
from GEODE.Store import corpus, Directory, JSON, SelfContained, tabular, toTSV from GEODE.Store import corpus, Directory, JSON, SelfContained, tabular, toTSV
from GEODE.Visualisation import densityProfile, drawMatrix, drawGraph, legend, \ from GEODE.Visualisation import densityProfile, drawMatrix, drawGraph, legend, \
maxConfusionMatrix nearestNeighbour
from GEODE.Visualisation.ConfusionMatrix import extractConfusionMatrixCLI from GEODE.Visualisation.ConfusionMatrix import extractConfusionMatrixCLI
from GEODE.Visualisation.DensityProfile import drawDensityProfileCLI from GEODE.Visualisation.DensityProfile import drawDensityProfileCLI
from GEODE.Visualisation.DrawMatrix import drawMatrixCLI from GEODE.Visualisation.DrawMatrix import drawMatrixCLI
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment