Skip to content
This repository was archived by the owner on Jan 15, 2025. It is now read-only.

Commit f10d79c

Browse files
authored
Refactor confusion matrix api .1 (#912)
* confusion matrix api refactor .1 * create path before write to a file
1 parent 4c45f4a commit f10d79c

23 files changed

+954
-260
lines changed

packages/dispatcher/src/data_structure/DictionaryMapUtility.ts

Lines changed: 139 additions & 45 deletions
Large diffs are not rendered by default.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License.
4+
*/
5+
6+
import { TMapGenericKeyGenericArray } from "./TMapGenericKeyGenericArray";
7+
export type TMapAnyKeyGenericArray<T> = TMapGenericKeyGenericArray<any, T>;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License.
4+
*/
5+
6+
import { TMapGenericKeyGenericArrays } from "./TMapGenericKeyGenericArrays";
7+
export type TMapAnyKeyGenericArrays<T> = TMapGenericKeyGenericArrays<any, T>;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License.
4+
*/
5+
6+
import { TMapGenericKeyGenericSet } from "./TMapGenericKeyGenericSet";
7+
export type TMapAnyKeyGenericSet<T> = TMapGenericKeyGenericSet<any, T>;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License.
4+
*/
5+
6+
import { TMapGenericKeyGenericValue } from "./TMapGenericKeyGenericValue";
7+
export type TMapAnyKeyGenericValue<T> = TMapGenericKeyGenericValue<any, T>;

packages/dispatcher/src/index.ts

Lines changed: 80 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -3,169 +3,95 @@
33
* Licensed under the MIT License.
44
*/
55

6-
import { ColumnarData } from "./data/ColumnarData";
7-
import { Data } from "./data/Data";
8-
import { DataUtility } from "./data/DataUtility";
9-
import { EntityAnnotatedCorpusData } from "./data/EntityAnnotatedCorpusData";
10-
import { LuData } from "./data/LuData";
6+
export { ColumnarData } from "./data/ColumnarData";
7+
export { Data } from "./data/Data";
8+
export { DataUtility } from "./data/DataUtility";
9+
export { EntityAnnotatedCorpusData } from "./data/EntityAnnotatedCorpusData";
10+
export { LuData } from "./data/LuData";
1111

12-
import { DictionaryMapUtility } from "./data_structure/DictionaryMapUtility";
13-
import { IDictionaryNumberIdGenericArray } from "./data_structure/IDictionaryNumberIdGenericArray";
14-
import { IDictionaryNumberIdGenericArrays } from "./data_structure/IDictionaryNumberIdGenericArrays";
15-
import { IDictionaryNumberIdGenericSet } from "./data_structure/IDictionaryNumberIdGenericSet";
16-
import { IDictionaryNumberIdGenericValue } from "./data_structure/IDictionaryNumberIdGenericValue";
17-
import { IDictionaryStringIdGenericArray } from "./data_structure/IDictionaryStringIdGenericArray";
18-
import { IDictionaryStringIdGenericArrays } from "./data_structure/IDictionaryStringIdGenericArrays";
19-
import { IDictionaryStringIdGenericSet } from "./data_structure/IDictionaryStringIdGenericSet";
20-
import { IDictionaryStringIdGenericValue } from "./data_structure/IDictionaryStringIdGenericValue";
21-
import { TMapGenericKeyGenericArray } from "./data_structure/TMapGenericKeyGenericArray";
22-
import { TMapGenericKeyGenericArrays } from "./data_structure/TMapGenericKeyGenericArrays";
23-
import { TMapGenericKeyGenericSet } from "./data_structure/TMapGenericKeyGenericSet";
24-
import { TMapGenericKeyGenericValue } from "./data_structure/TMapGenericKeyGenericValue";
25-
import { TMapNumberKeyGenericArray } from "./data_structure/TMapNumberKeyGenericArray";
26-
import { TMapNumberKeyGenericArrays } from "./data_structure/TMapNumberKeyGenericArrays";
27-
import { TMapNumberKeyGenericSet } from "./data_structure/TMapNumberKeyGenericSet";
28-
import { TMapNumberKeyGenericValue } from "./data_structure/TMapNumberKeyGenericValue";
29-
import { TMapStringKeyGenericArray } from "./data_structure/TMapStringKeyGenericArray";
30-
import { TMapStringKeyGenericArrays } from "./data_structure/TMapStringKeyGenericArrays";
31-
import { TMapStringKeyGenericSet } from "./data_structure/TMapStringKeyGenericSet";
32-
import { TMapStringKeyGenericValue } from "./data_structure/TMapStringKeyGenericValue";
12+
export { DictionaryMapUtility } from "./data_structure/DictionaryMapUtility";
13+
export { IDictionaryNumberIdGenericArray } from "./data_structure/IDictionaryNumberIdGenericArray";
14+
export { IDictionaryNumberIdGenericArrays } from "./data_structure/IDictionaryNumberIdGenericArrays";
15+
export { IDictionaryNumberIdGenericSet } from "./data_structure/IDictionaryNumberIdGenericSet";
16+
export { IDictionaryNumberIdGenericValue } from "./data_structure/IDictionaryNumberIdGenericValue";
17+
export { IDictionaryStringIdGenericArray } from "./data_structure/IDictionaryStringIdGenericArray";
18+
export { IDictionaryStringIdGenericArrays } from "./data_structure/IDictionaryStringIdGenericArrays";
19+
export { IDictionaryStringIdGenericSet } from "./data_structure/IDictionaryStringIdGenericSet";
20+
export { IDictionaryStringIdGenericValue } from "./data_structure/IDictionaryStringIdGenericValue";
21+
export { TMapAnyKeyGenericArray } from "./data_structure/TMapAnyKeyGenericArray";
22+
export { TMapAnyKeyGenericArrays } from "./data_structure/TMapAnyKeyGenericArrays";
23+
export { TMapAnyKeyGenericSet } from "./data_structure/TMapAnyKeyGenericSet";
24+
export { TMapAnyKeyGenericValue } from "./data_structure/TMapAnyKeyGenericValue";
25+
export { TMapGenericKeyGenericArray } from "./data_structure/TMapGenericKeyGenericArray";
26+
export { TMapGenericKeyGenericArrays } from "./data_structure/TMapGenericKeyGenericArrays";
27+
export { TMapGenericKeyGenericSet } from "./data_structure/TMapGenericKeyGenericSet";
28+
export { TMapGenericKeyGenericValue } from "./data_structure/TMapGenericKeyGenericValue";
29+
export { TMapNumberKeyGenericArray } from "./data_structure/TMapNumberKeyGenericArray";
30+
export { TMapNumberKeyGenericArrays } from "./data_structure/TMapNumberKeyGenericArrays";
31+
export { TMapNumberKeyGenericSet } from "./data_structure/TMapNumberKeyGenericSet";
32+
export { TMapNumberKeyGenericValue } from "./data_structure/TMapNumberKeyGenericValue";
33+
export { TMapStringKeyGenericArray } from "./data_structure/TMapStringKeyGenericArray";
34+
export { TMapStringKeyGenericArrays } from "./data_structure/TMapStringKeyGenericArrays";
35+
export { TMapStringKeyGenericSet } from "./data_structure/TMapStringKeyGenericSet";
36+
export { TMapStringKeyGenericValue } from "./data_structure/TMapStringKeyGenericValue";
3337

34-
import { mainConfusionMatrix } from "./mathematics/confusion_matrix/AppConfusionMatrix";
35-
import { mainConfusionMatrixFunction } from "./mathematics/confusion_matrix/AppConfusionMatrix";
36-
import { BinaryConfusionMatrix } from "./mathematics/confusion_matrix/BinaryConfusionMatrix";
37-
import { ConfusionMatrix } from "./mathematics/confusion_matrix/ConfusionMatrix";
38-
import { ConfusionMatrixBase } from "./mathematics/confusion_matrix/ConfusionMatrixBase";
39-
import { IConfusionMatrix } from "./mathematics/confusion_matrix/IConfusionMatrix";
40-
import { IMultiLabelConfusionMatrix } from "./mathematics/confusion_matrix/IMultiLabelConfusionMatrix";
41-
import { MultiLabelConfusionMatrix } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrix";
42-
import { MultiLabelConfusionMatrixBase } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixBase";
43-
import { MultiLabelConfusionMatrixSubset } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixSubset";
44-
import { MultiLabelConfusionMatrixWithBinaryArrayBase } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixWithBinaryArrayBase";
45-
import { MultiLabelConfusionMatrixWithBinaryBase } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixWithBinaryBase";
38+
export { mainConfusionMatrix } from "./mathematics/confusion_matrix/AppConfusionMatrix";
39+
export { mainConfusionMatrixFunction } from "./mathematics/confusion_matrix/AppConfusionMatrix";
40+
export { BinaryConfusionMatrix } from "./mathematics/confusion_matrix/BinaryConfusionMatrix";
41+
export { ConfusionMatrix } from "./mathematics/confusion_matrix/ConfusionMatrix";
42+
export { ConfusionMatrixBase } from "./mathematics/confusion_matrix/ConfusionMatrixBase";
43+
export { IConfusionMatrix } from "./mathematics/confusion_matrix/IConfusionMatrix";
44+
export { IMultiLabelConfusionMatrix } from "./mathematics/confusion_matrix/IMultiLabelConfusionMatrix";
45+
export { ISingleLabelConfusionMatrix } from "./mathematics/confusion_matrix/ISingleLabelConfusionMatrix";
46+
export { MultiLabelConfusionMatrix } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrix";
47+
export { MultiLabelConfusionMatrixBase } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixBase";
48+
export { MultiLabelConfusionMatrixSubset } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixSubset";
49+
export { MultiLabelConfusionMatrixWithBinaryArrayBase } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixWithBinaryArrayBase";
50+
export { MultiLabelConfusionMatrixWithBinaryBase } from "./mathematics/confusion_matrix/MultiLabelConfusionMatrixWithBinaryBase";
4651

47-
import { IMathematicsHelper } from "./mathematics/mathematics_helper/IMathematicsHelper";
48-
import { MathematicsHelper } from "./mathematics/mathematics_helper/MathematicsHelper";
52+
export { IMathematicsHelper } from "./mathematics/mathematics_helper/IMathematicsHelper";
53+
export { MathematicsHelper } from "./mathematics/mathematics_helper/MathematicsHelper";
4954

50-
import { AbstractBaseBootstrapSampler } from "./mathematics/sampler/AbstractBaseBootstrapSampler";
51-
import { AbstractBaseReservoirSampler } from "./mathematics/sampler/AbstractBaseReservoirSampler";
52-
import { AbstractBaseSampler } from "./mathematics/sampler/AbstractBaseSampler";
53-
import { BootstrapSampler } from "./mathematics/sampler/BootstrapSampler";
54-
import { BootstrapSamplerDistribution } from "./mathematics/sampler/BootstrapSamplerDistribution";
55-
import { BootstrapSamplerKeyMap } from "./mathematics/sampler/BootstrapSamplerKeyMap";
56-
import { BootstrapSamplerKeyMapDistribution } from "./mathematics/sampler/BootstrapSamplerKeyMapDistribution";
57-
import { ReservoirArraySampler } from "./mathematics/sampler/ReservoirArraySampler";
58-
import { ReservoirSampler } from "./mathematics/sampler/ReservoirSampler";
59-
import { ReservoirSamplerKeyMap } from "./mathematics/sampler/ReservoirSamplerKeyMap";
55+
export { AbstractBaseBootstrapSampler } from "./mathematics/sampler/AbstractBaseBootstrapSampler";
56+
export { AbstractBaseReservoirSampler } from "./mathematics/sampler/AbstractBaseReservoirSampler";
57+
export { AbstractBaseSampler } from "./mathematics/sampler/AbstractBaseSampler";
58+
export { BootstrapSampler } from "./mathematics/sampler/BootstrapSampler";
59+
export { BootstrapSamplerDistribution } from "./mathematics/sampler/BootstrapSamplerDistribution";
60+
export { BootstrapSamplerKeyMap } from "./mathematics/sampler/BootstrapSamplerKeyMap";
61+
export { BootstrapSamplerKeyMapDistribution } from "./mathematics/sampler/BootstrapSamplerKeyMapDistribution";
62+
export { ReservoirArraySampler } from "./mathematics/sampler/ReservoirArraySampler";
63+
export { ReservoirSampler } from "./mathematics/sampler/ReservoirSampler";
64+
export { ReservoirSamplerKeyMap } from "./mathematics/sampler/ReservoirSamplerKeyMap";
6065

61-
import { mainCrossValidatorWithColumnarContent } from "./model/evaluation/cross_validation/AppCrossValidator";
62-
import { mainCrossValidatorWithLuContent } from "./model/evaluation/cross_validation/AppCrossValidator";
63-
import { mainCrossValidator } from "./model/evaluation/cross_validation/AppCrossValidator";
64-
import { CrossValidator } from "./model/evaluation/cross_validation/CrossValidator";
66+
export { mainCrossValidatorWithColumnarContent } from "./model/evaluation/cross_validation/AppCrossValidator";
67+
export { mainCrossValidatorWithLuContent } from "./model/evaluation/cross_validation/AppCrossValidator";
68+
export { mainCrossValidator } from "./model/evaluation/cross_validation/AppCrossValidator";
69+
export { CrossValidator } from "./model/evaluation/cross_validation/CrossValidator";
6570

66-
import { mainPredictor } from "./model/evaluation/predict/AppPredictor";
67-
import { Predictor } from "./model/evaluation/predict/Predictor";
71+
export { mainPredictor } from "./model/evaluation/predict/AppPredictor";
72+
export { Predictor } from "./model/evaluation/predict/Predictor";
6873

69-
import { mainDataProfileReporter } from "./model/evaluation/report/AppDataProfileReporter";
70-
import { DataProfileReporter } from "./model/evaluation/report/DataProfileReporter";
71-
import { mainModelMetaDataProfileReporter } from "./model/evaluation/report/AppModelMetaDataProfileReporter";
72-
import { ModelMetaDataProfileReporter } from "./model/evaluation/report/ModelMetaDataProfileReporter";
73-
import { mainThresholdReporter } from "./model/evaluation/report/AppThresholdReporter";
74-
import { ThresholdReporter } from "./model/evaluation/report/ThresholdReporter";
74+
export { mainDataProfileReporter } from "./model/evaluation/report/AppDataProfileReporter";
75+
export { DataProfileReporter } from "./model/evaluation/report/DataProfileReporter";
76+
export { mainModelMetaDataProfileReporter } from "./model/evaluation/report/AppModelMetaDataProfileReporter";
77+
export { ModelMetaDataProfileReporter } from "./model/evaluation/report/ModelMetaDataProfileReporter";
78+
export { mainThresholdReporter } from "./model/evaluation/report/AppThresholdReporter";
79+
export { ThresholdReporter } from "./model/evaluation/report/ThresholdReporter";
7580

76-
import { mainTester } from "./model/evaluation/test/AppTester";
77-
import { Tester } from "./model/evaluation/test/Tester";
81+
export { mainTester } from "./model/evaluation/test/AppTester";
82+
export { Tester } from "./model/evaluation/test/Tester";
7883

79-
import { AppAutoActiveLearner } from "./model/supervised/classifier/auto_active_learning/AppAutoActiveLearner";
80-
import { AutoActiveLearner } from "./model/supervised/classifier/auto_active_learning/AutoActiveLearner";
84+
export { ISparseTextFeaturizer } from "./model/language_understanding/featurizer/ISparseTextFeaturizer";
85+
export { ITextFeaturizer } from "./model/language_understanding/featurizer/ITextFeaturizer";
86+
export { NgramSubwordFeaturizer } from "./model/language_understanding/featurizer/NgramSubwordFeaturizer";
8187

82-
import { AppSoftmaxRegressionSparse } from "./model/supervised/classifier/neural_network/learner/AppSoftmaxRegressionSparse";
83-
import { SoftmaxRegressionSparse } from "./model/supervised/classifier/neural_network/learner/SoftmaxRegressionSparse";
88+
export { AppAutoActiveLearner } from "./model/supervised/classifier/auto_active_learning/AppAutoActiveLearner";
89+
export { AutoActiveLearner } from "./model/supervised/classifier/auto_active_learning/AutoActiveLearner";
8490

85-
import { Utility } from "./utility/Utility";
86-
import { ListArrayUtility } from "./utility/ListArrayUtility";
91+
export { AppSoftmaxRegressionSparse } from "./model/supervised/classifier/neural_network/learner/AppSoftmaxRegressionSparse";
92+
export { SoftmaxRegressionSparse } from "./model/supervised/classifier/neural_network/learner/SoftmaxRegressionSparse";
8793

88-
export default {
89-
ColumnarData,
90-
Data,
91-
DataUtility,
92-
EntityAnnotatedCorpusData,
93-
LuData
94-
,
95-
DictionaryMapUtility
96-
// IDictionaryNumberIdGenericArray,
97-
// IDictionaryNumberIdGenericArrays,
98-
// IDictionaryNumberIdGenericSet,
99-
// IDictionaryNumberIdGenericValue,
100-
// IDictionaryStringIdGenericArray,
101-
// IDictionaryStringIdGenericArrays,
102-
// IDictionaryStringIdGenericSet,
103-
// IDictionaryStringIdGenericValue,
104-
// TMapGenericKeyGenericArray,
105-
// TMapGenericKeyGenericArrays,
106-
// TMapGenericKeyGenericSet,
107-
// TMapGenericKeyGenericValue,
108-
// TMapNumberKeyGenericArray,
109-
// TMapNumberKeyGenericArrays,
110-
// TMapNumberKeyGenericSet,
111-
// TMapNumberKeyGenericValue,
112-
// TMapStringKeyGenericArray,
113-
// TMapStringKeyGenericArrays,
114-
// TMapStringKeyGenericSet,
115-
// TMapStringKeyGenericValue
116-
,
117-
mainConfusionMatrix,
118-
mainConfusionMatrixFunction,
119-
BinaryConfusionMatrix,
120-
ConfusionMatrix,
121-
ConfusionMatrixBase,
122-
// IConfusionMatrix,
123-
// IMultiLabelConfusionMatrix,
124-
MultiLabelConfusionMatrix,
125-
MultiLabelConfusionMatrixBase,
126-
MultiLabelConfusionMatrixSubset,
127-
MultiLabelConfusionMatrixWithBinaryArrayBase,
128-
MultiLabelConfusionMatrixWithBinaryBase
129-
,
130-
// IMathematicsHelper,
131-
MathematicsHelper
132-
,
133-
AbstractBaseBootstrapSampler,
134-
AbstractBaseReservoirSampler,
135-
AbstractBaseSampler,
136-
BootstrapSampler,
137-
BootstrapSamplerDistribution,
138-
BootstrapSamplerKeyMap,
139-
BootstrapSamplerKeyMapDistribution,
140-
ReservoirArraySampler,
141-
ReservoirSampler,
142-
ReservoirSamplerKeyMap
143-
,
144-
mainCrossValidatorWithColumnarContent,
145-
mainCrossValidatorWithLuContent,
146-
mainCrossValidator,
147-
CrossValidator
148-
,
149-
mainPredictor,
150-
Predictor
151-
,
152-
mainDataProfileReporter,
153-
DataProfileReporter,
154-
mainModelMetaDataProfileReporter,
155-
ModelMetaDataProfileReporter,
156-
mainThresholdReporter,
157-
ThresholdReporter
158-
,
159-
mainTester,
160-
Tester
161-
,
162-
AppAutoActiveLearner,
163-
AutoActiveLearner
164-
,
165-
AppSoftmaxRegressionSparse,
166-
SoftmaxRegressionSparse
167-
,
168-
Utility,
169-
ListArrayUtility
170-
,
171-
};
94+
export { Utility } from "./utility/Utility";
95+
export { ListArrayUtility } from "./utility/ListArrayUtility";
96+
97+
export default {};

packages/dispatcher/src/mathematics/confusion_matrix/ConfusionMatrix.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@
33
* Licensed under the MIT License.
44
*/
55

6+
import { ISingleLabelConfusionMatrix } from "./ISingleLabelConfusionMatrix";
67
import { ConfusionMatrixBase } from "./ConfusionMatrixBase";
7-
88
import { BinaryConfusionMatrix } from "./BinaryConfusionMatrix";
99

1010
import { DictionaryMapUtility } from "../../data_structure/DictionaryMapUtility";
1111

1212
import { Utility } from "../../utility/Utility";
1313

14-
export class ConfusionMatrix extends ConfusionMatrixBase {
14+
export class ConfusionMatrix
15+
extends ConfusionMatrixBase
16+
implements ISingleLabelConfusionMatrix {
1517

1618
protected confusionMatrix: number[][] = [];
1719
protected confusionMatrixRows: number[] = [];

0 commit comments

Comments
 (0)