all done but practical usefulness
This commit is contained in:
parent
5841b222ee
commit
a6662bc950
6 changed files with 282 additions and 261 deletions
|
@ -4,6 +4,7 @@ import pandas as pd
|
||||||
import glob
|
import glob
|
||||||
import re
|
import re
|
||||||
import itertools
|
import itertools
|
||||||
|
import statsmodels.stats.power as pw
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from train_classifiers import perform_grid_search, load_dataset
|
from train_classifiers import perform_grid_search, load_dataset
|
||||||
import seaborn as sns
|
import seaborn as sns
|
||||||
|
@ -110,6 +111,17 @@ def main():
|
||||||
|
|
||||||
df_stats = pd.DataFrame(columns=['classifier_a', 'classifier_b', 'metric', 'pvalue'])
|
df_stats = pd.DataFrame(columns=['classifier_a', 'classifier_b', 'metric', 'pvalue'])
|
||||||
|
|
||||||
|
short_names = {
|
||||||
|
'MLPClassifier': "MLP",
|
||||||
|
'GaussianNB': "NB",
|
||||||
|
'SVC': "SVP",
|
||||||
|
'DecisionTreeClassifier': "DT",
|
||||||
|
'RandomForestClassifier': "RF",
|
||||||
|
'BiasedClassifier': 'Biased'
|
||||||
|
}
|
||||||
|
|
||||||
|
observations = {}
|
||||||
|
|
||||||
i = 1
|
i = 1
|
||||||
for classifier_a in classifier_list:
|
for classifier_a in classifier_list:
|
||||||
for classifier_b in classifier_list:
|
for classifier_b in classifier_list:
|
||||||
|
@ -128,9 +140,43 @@ def main():
|
||||||
df_stats.loc[i, 'classifier_a'] = classifier_a
|
df_stats.loc[i, 'classifier_a'] = classifier_a
|
||||||
df_stats.loc[i, 'classifier_b'] = classifier_b
|
df_stats.loc[i, 'classifier_b'] = classifier_b
|
||||||
df_stats.loc[i, 'metric'] = metric
|
df_stats.loc[i, 'metric'] = metric
|
||||||
df_stats.loc[i, 'pvalue'] = wilcoxon(series_a, series_b).pvalue
|
pvalue = wilcoxon(series_a, series_b).pvalue
|
||||||
|
df_stats.loc[i, 'pvalue'] = pvalue
|
||||||
|
|
||||||
|
if metric not in observations:
|
||||||
|
observations[metric] = []
|
||||||
|
|
||||||
|
sa = short_names[classifier_a]
|
||||||
|
sb = short_names[classifier_b]
|
||||||
|
|
||||||
|
meana = np.round(np.mean(series_a), decimals=4)
|
||||||
|
meanb = np.round(np.mean(series_b), decimals=4)
|
||||||
|
pvalue = np.round(pvalue, decimals=4)
|
||||||
|
|
||||||
|
s = f"- Mean *{metric}* for *{sa}*: {meana},"
|
||||||
|
s += f" mean *{metric}* for *{sb}*: {meanb} $\\Rightarrow$ "
|
||||||
|
|
||||||
|
if pvalue < 0.05:
|
||||||
|
better = sa if meana > meanb else sb
|
||||||
|
worse = sa if better == sb else sb
|
||||||
|
s += f"*{better}* is better than *{worse}* (*p-value* $= {pvalue}$)"
|
||||||
|
else:
|
||||||
|
eff_size = (np.mean(series_a) - np.mean(series_b)) / np.sqrt((np.std(series_a) ** 2 + np.std(series_b) ** 2) / 2.0)
|
||||||
|
power = pw.FTestAnovaPower().solve_power(effect_size=eff_size, nobs=len(series_a) + len(series_b), alpha=0.05)
|
||||||
|
power = np.round(power, decimals=4)
|
||||||
|
if power >= 0.8:
|
||||||
|
s += f"*{sa}* is as effective as *{sb}* (*p-value* $= {pvalue}$, *5% corrected ANOVA power* $= {power}$)"
|
||||||
|
else:
|
||||||
|
s += f"statistical test inconclusive (*p-value* $= {pvalue}$, *5% corrected ANOVA power* $= {power}$)"
|
||||||
|
|
||||||
i += 1
|
observations[metric].append(s)
|
||||||
|
|
||||||
|
for metric in metric_list:
|
||||||
|
if metric == 'accuracy':
|
||||||
|
continue
|
||||||
|
|
||||||
|
print(metric + ":")
|
||||||
|
print("\n".join(observations[metric]))
|
||||||
|
|
||||||
df_stats.to_csv(OUT_DIR + '/model_stats.csv')
|
df_stats.to_csv(OUT_DIR + '/model_stats.csv')
|
||||||
|
|
||||||
|
@ -169,6 +215,8 @@ def main():
|
||||||
dftab.columns = [x[1] if x[0] == 'value' else x[0] for x in dftab.columns]
|
dftab.columns = [x[1] if x[0] == 'value' else x[0] for x in dftab.columns]
|
||||||
print(dftab.to_markdown(index=False))
|
print(dftab.to_markdown(index=False))
|
||||||
|
|
||||||
|
print()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||||
<cc:Work>
|
<cc:Work>
|
||||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||||
<dc:date>2023-05-24T18:24:16.947257</dc:date>
|
<dc:date>2023-05-27T22:19:21.168970</dc:date>
|
||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:creator>
|
<dc:creator>
|
||||||
<cc:Agent>
|
<cc:Agent>
|
||||||
|
@ -44,7 +44,7 @@ L 106.5216 360.413793
|
||||||
L 87.0784 360.413793
|
L 87.0784 360.413793
|
||||||
L 87.0784 366.786207
|
L 87.0784 366.786207
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_4">
|
<g id="patch_4">
|
||||||
<path d="M 106.9184 197.28
|
<path d="M 106.9184 197.28
|
||||||
|
@ -53,7 +53,7 @@ L 126.3616 165.6
|
||||||
L 106.9184 165.6
|
L 106.9184 165.6
|
||||||
L 106.9184 197.28
|
L 106.9184 197.28
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_5">
|
<g id="patch_5">
|
||||||
<path d="M 126.7584 206.921739
|
<path d="M 126.7584 206.921739
|
||||||
|
@ -62,7 +62,7 @@ L 146.2016 160.32
|
||||||
L 126.7584 160.32
|
L 126.7584 160.32
|
||||||
L 126.7584 206.921739
|
L 126.7584 206.921739
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_6">
|
<g id="patch_6">
|
||||||
<path d="M 146.5984 195.105882
|
<path d="M 146.5984 195.105882
|
||||||
|
@ -71,7 +71,7 @@ L 166.0416 155.7
|
||||||
L 146.5984 155.7
|
L 146.5984 155.7
|
||||||
L 146.5984 195.105882
|
L 146.5984 195.105882
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_7">
|
<g id="patch_7">
|
||||||
<path d="M 166.4384 173.799529
|
<path d="M 166.4384 173.799529
|
||||||
|
@ -80,7 +80,7 @@ L 185.8816 142.971429
|
||||||
L 166.4384 142.971429
|
L 166.4384 142.971429
|
||||||
L 166.4384 173.799529
|
L 166.4384 173.799529
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_8">
|
<g id="patch_8">
|
||||||
<path d="M 186.2784 241.245209
|
<path d="M 186.2784 241.245209
|
||||||
|
@ -89,7 +89,7 @@ L 205.7216 201.858676
|
||||||
L 186.2784 201.858676
|
L 186.2784 201.858676
|
||||||
L 186.2784 241.245209
|
L 186.2784 241.245209
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_9">
|
<g id="patch_9">
|
||||||
<path d="M 235.8784 86.4
|
<path d="M 235.8784 86.4
|
||||||
|
@ -98,7 +98,7 @@ L 255.3216 86.4
|
||||||
L 235.8784 86.4
|
L 235.8784 86.4
|
||||||
L 235.8784 86.4
|
L 235.8784 86.4
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_10">
|
<g id="patch_10">
|
||||||
<path d="M 255.7184 125.07907
|
<path d="M 255.7184 125.07907
|
||||||
|
@ -107,7 +107,7 @@ L 275.1616 99
|
||||||
L 255.7184 99
|
L 255.7184 99
|
||||||
L 255.7184 125.07907
|
L 255.7184 125.07907
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_11">
|
<g id="patch_11">
|
||||||
<path d="M 275.5584 434.511628
|
<path d="M 275.5584 434.511628
|
||||||
|
@ -116,7 +116,7 @@ L 295.0016 382.939535
|
||||||
L 275.5584 382.939535
|
L 275.5584 382.939535
|
||||||
L 275.5584 434.511628
|
L 275.5584 434.511628
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_12">
|
<g id="patch_12">
|
||||||
<path d="M 295.3984 137.972093
|
<path d="M 295.3984 137.972093
|
||||||
|
@ -125,7 +125,7 @@ L 314.8416 99.293023
|
||||||
L 295.3984 99.293023
|
L 295.3984 99.293023
|
||||||
L 295.3984 137.972093
|
L 295.3984 137.972093
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_13">
|
<g id="patch_13">
|
||||||
<path d="M 315.2384 125.07907
|
<path d="M 315.2384 125.07907
|
||||||
|
@ -134,7 +134,7 @@ L 334.6816 95.85
|
||||||
L 315.2384 95.85
|
L 315.2384 95.85
|
||||||
L 315.2384 125.07907
|
L 315.2384 125.07907
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_14">
|
<g id="patch_14">
|
||||||
<path d="M 335.0784 250.2
|
<path d="M 335.0784 250.2
|
||||||
|
@ -143,7 +143,7 @@ L 354.5216 197.236047
|
||||||
L 335.0784 197.236047
|
L 335.0784 197.236047
|
||||||
L 335.0784 250.2
|
L 335.0784 250.2
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_15">
|
<g id="patch_15">
|
||||||
<path d="M 384.6784 274.043077
|
<path d="M 384.6784 274.043077
|
||||||
|
@ -152,7 +152,7 @@ L 404.1216 268.378626
|
||||||
L 384.6784 268.378626
|
L 384.6784 268.378626
|
||||||
L 384.6784 274.043077
|
L 384.6784 274.043077
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_16">
|
<g id="patch_16">
|
||||||
<path d="M 404.5184 160.32
|
<path d="M 404.5184 160.32
|
||||||
|
@ -161,7 +161,7 @@ L 423.9616 137.839175
|
||||||
L 404.5184 137.839175
|
L 404.5184 137.839175
|
||||||
L 404.5184 160.32
|
L 404.5184 160.32
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_17">
|
<g id="patch_17">
|
||||||
<path d="M 424.3584 360.497015
|
<path d="M 424.3584 360.497015
|
||||||
|
@ -170,7 +170,7 @@ L 443.8016 309.814925
|
||||||
L 424.3584 309.814925
|
L 424.3584 309.814925
|
||||||
L 424.3584 360.497015
|
L 424.3584 360.497015
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_18">
|
<g id="patch_18">
|
||||||
<path d="M 444.1984 162.265263
|
<path d="M 444.1984 162.265263
|
||||||
|
@ -179,7 +179,7 @@ L 463.6416 136.52
|
||||||
L 444.1984 136.52
|
L 444.1984 136.52
|
||||||
L 444.1984 162.265263
|
L 444.1984 162.265263
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_19">
|
<g id="patch_19">
|
||||||
<path d="M 464.0384 148
|
<path d="M 464.0384 148
|
||||||
|
@ -188,7 +188,7 @@ L 483.4816 122.556522
|
||||||
L 464.0384 122.556522
|
L 464.0384 122.556522
|
||||||
L 464.0384 148
|
L 464.0384 148
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_20">
|
<g id="patch_20">
|
||||||
<path d="M 483.8784 240.028916
|
<path d="M 483.8784 240.028916
|
||||||
|
@ -197,7 +197,7 @@ L 503.3216 204.755056
|
||||||
L 483.8784 204.755056
|
L 483.8784 204.755056
|
||||||
L 483.8784 240.028916
|
L 483.8784 240.028916
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 1.5; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_21">
|
<g id="patch_21">
|
||||||
<path d="M 146.4 640.8
|
<path d="M 146.4 640.8
|
||||||
|
@ -205,7 +205,7 @@ L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3274a1; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_22">
|
<g id="patch_22">
|
||||||
<path d="M 146.4 640.8
|
<path d="M 146.4 640.8
|
||||||
|
@ -213,7 +213,7 @@ L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #e1812c; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_23">
|
<g id="patch_23">
|
||||||
<path d="M 146.4 640.8
|
<path d="M 146.4 640.8
|
||||||
|
@ -221,7 +221,7 @@ L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #3a923a; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_24">
|
<g id="patch_24">
|
||||||
<path d="M 146.4 640.8
|
<path d="M 146.4 640.8
|
||||||
|
@ -229,7 +229,7 @@ L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #c03d3e; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_25">
|
<g id="patch_25">
|
||||||
<path d="M 146.4 640.8
|
<path d="M 146.4 640.8
|
||||||
|
@ -237,7 +237,7 @@ L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #9372b2; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_26">
|
<g id="patch_26">
|
||||||
<path d="M 146.4 640.8
|
<path d="M 146.4 640.8
|
||||||
|
@ -245,18 +245,18 @@ L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
L 146.4 640.8
|
L 146.4 640.8
|
||||||
z
|
z
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: #845b53; stroke: #3d3d3d; stroke-width: 0.75; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="matplotlib.axis_1">
|
<g id="matplotlib.axis_1">
|
||||||
<g id="xtick_1">
|
<g id="xtick_1">
|
||||||
<g id="line2d_1">
|
<g id="line2d_1">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="mfbe1b00276" d="M 0 0
|
<path id="ma24f04e49a" d="M 0 0
|
||||||
L 0 3.5
|
L 0 3.5
|
||||||
" style="stroke: #000000; stroke-width: 0.8"/>
|
" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</defs>
|
</defs>
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mfbe1b00276" x="146.4" y="650.8" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#ma24f04e49a" x="146.4" y="650.8" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_1">
|
<g id="text_1">
|
||||||
|
@ -452,7 +452,7 @@ z
|
||||||
<g id="xtick_2">
|
<g id="xtick_2">
|
||||||
<g id="line2d_2">
|
<g id="line2d_2">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mfbe1b00276" x="295.2" y="650.8" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#ma24f04e49a" x="295.2" y="650.8" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_2">
|
<g id="text_2">
|
||||||
|
@ -512,7 +512,7 @@ z
|
||||||
<g id="xtick_3">
|
<g id="xtick_3">
|
||||||
<g id="line2d_3">
|
<g id="line2d_3">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mfbe1b00276" x="444" y="650.8" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#ma24f04e49a" x="444" y="650.8" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_3">
|
<g id="text_3">
|
||||||
|
@ -615,12 +615,12 @@ z
|
||||||
<g id="ytick_1">
|
<g id="ytick_1">
|
||||||
<g id="line2d_4">
|
<g id="line2d_4">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="mc26e012fcb" d="M 0 0
|
<path id="mff0a3fa1b8" d="M 0 0
|
||||||
L -3.5 0
|
L -3.5 0
|
||||||
" style="stroke: #000000; stroke-width: 0.8"/>
|
" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</defs>
|
</defs>
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="640.8" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="640.8" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_5">
|
<g id="text_5">
|
||||||
|
@ -665,7 +665,7 @@ z
|
||||||
<g id="ytick_2">
|
<g id="ytick_2">
|
||||||
<g id="line2d_5">
|
<g id="line2d_5">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="585.36" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="585.36" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_6">
|
<g id="text_6">
|
||||||
|
@ -680,7 +680,7 @@ z
|
||||||
<g id="ytick_3">
|
<g id="ytick_3">
|
||||||
<g id="line2d_6">
|
<g id="line2d_6">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="529.92" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="529.92" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_7">
|
<g id="text_7">
|
||||||
|
@ -721,7 +721,7 @@ z
|
||||||
<g id="ytick_4">
|
<g id="ytick_4">
|
||||||
<g id="line2d_7">
|
<g id="line2d_7">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="474.48" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="474.48" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_8">
|
<g id="text_8">
|
||||||
|
@ -770,7 +770,7 @@ z
|
||||||
<g id="ytick_5">
|
<g id="ytick_5">
|
||||||
<g id="line2d_8">
|
<g id="line2d_8">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="419.04" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="419.04" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_9">
|
<g id="text_9">
|
||||||
|
@ -806,7 +806,7 @@ z
|
||||||
<g id="ytick_6">
|
<g id="ytick_6">
|
||||||
<g id="line2d_9">
|
<g id="line2d_9">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="363.6" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="363.6" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_10">
|
<g id="text_10">
|
||||||
|
@ -848,7 +848,7 @@ z
|
||||||
<g id="ytick_7">
|
<g id="ytick_7">
|
||||||
<g id="line2d_10">
|
<g id="line2d_10">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="308.16" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="308.16" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_11">
|
<g id="text_11">
|
||||||
|
@ -895,7 +895,7 @@ z
|
||||||
<g id="ytick_8">
|
<g id="ytick_8">
|
||||||
<g id="line2d_11">
|
<g id="line2d_11">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="252.72" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="252.72" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_12">
|
<g id="text_12">
|
||||||
|
@ -922,7 +922,7 @@ z
|
||||||
<g id="ytick_9">
|
<g id="ytick_9">
|
||||||
<g id="line2d_12">
|
<g id="line2d_12">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="197.28" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="197.28" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_13">
|
<g id="text_13">
|
||||||
|
@ -978,7 +978,7 @@ z
|
||||||
<g id="ytick_10">
|
<g id="ytick_10">
|
||||||
<g id="line2d_13">
|
<g id="line2d_13">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="141.84" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="141.84" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_14">
|
<g id="text_14">
|
||||||
|
@ -1025,7 +1025,7 @@ z
|
||||||
<g id="ytick_11">
|
<g id="ytick_11">
|
||||||
<g id="line2d_14">
|
<g id="line2d_14">
|
||||||
<g>
|
<g>
|
||||||
<use xlink:href="#mc26e012fcb" x="62" y="86.4" style="stroke: #000000; stroke-width: 0.8"/>
|
<use xlink:href="#mff0a3fa1b8" x="62" y="86.4" style="stroke: #000000; stroke-width: 0.8"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="text_15">
|
<g id="text_15">
|
||||||
|
@ -1093,532 +1093,532 @@ z
|
||||||
<g id="line2d_15">
|
<g id="line2d_15">
|
||||||
<path d="M 96.8 366.786207
|
<path d="M 96.8 366.786207
|
||||||
L 96.8 366.786207
|
L 96.8 366.786207
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_16">
|
<g id="line2d_16">
|
||||||
<path d="M 96.8 360.413793
|
<path d="M 96.8 360.413793
|
||||||
L 96.8 360.413793
|
L 96.8 360.413793
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_17">
|
<g id="line2d_17">
|
||||||
<path d="M 91.9392 366.786207
|
<path d="M 91.9392 366.786207
|
||||||
L 101.6608 366.786207
|
L 101.6608 366.786207
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_18">
|
<g id="line2d_18">
|
||||||
<path d="M 91.9392 360.413793
|
<path d="M 91.9392 360.413793
|
||||||
L 101.6608 360.413793
|
L 101.6608 360.413793
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_19"/>
|
<g id="line2d_19"/>
|
||||||
<g id="line2d_20">
|
<g id="line2d_20">
|
||||||
<path d="M 116.64 197.28
|
<path d="M 116.64 197.28
|
||||||
L 116.64 233.485714
|
L 116.64 233.485714
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_21">
|
<g id="line2d_21">
|
||||||
<path d="M 116.64 165.6
|
<path d="M 116.64 165.6
|
||||||
L 116.64 123.36
|
L 116.64 123.36
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_22">
|
<g id="line2d_22">
|
||||||
<path d="M 111.7792 233.485714
|
<path d="M 111.7792 233.485714
|
||||||
L 121.5008 233.485714
|
L 121.5008 233.485714
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_23">
|
<g id="line2d_23">
|
||||||
<path d="M 111.7792 123.36
|
<path d="M 111.7792 123.36
|
||||||
L 121.5008 123.36
|
L 121.5008 123.36
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_24"/>
|
<g id="line2d_24"/>
|
||||||
<g id="line2d_25">
|
<g id="line2d_25">
|
||||||
<path d="M 136.48 206.921739
|
<path d="M 136.48 206.921739
|
||||||
L 136.48 271.2
|
L 136.48 271.2
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_26">
|
<g id="line2d_26">
|
||||||
<path d="M 136.48 160.32
|
<path d="M 136.48 160.32
|
||||||
L 136.48 112.8
|
L 136.48 112.8
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_27">
|
<g id="line2d_27">
|
||||||
<path d="M 131.6192 271.2
|
<path d="M 131.6192 271.2
|
||||||
L 141.3408 271.2
|
L 141.3408 271.2
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_28">
|
<g id="line2d_28">
|
||||||
<path d="M 131.6192 112.8
|
<path d="M 131.6192 112.8
|
||||||
L 141.3408 112.8
|
L 141.3408 112.8
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_29">
|
<g id="line2d_29">
|
||||||
<defs>
|
<defs>
|
||||||
<path id="mae3e906b94" d="M -0 3.535534
|
<path id="m032be3f3bf" d="M -0 3.535534
|
||||||
L 2.12132 0
|
L 2.12132 0
|
||||||
L -0 -3.535534
|
L -0 -3.535534
|
||||||
L -2.12132 -0
|
L -2.12132 -0
|
||||||
z
|
z
|
||||||
" style="stroke: #3d3d3d; stroke-linejoin: miter"/>
|
" style="stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</defs>
|
</defs>
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="136.48" y="294.3" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="136.48" y="294.3" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_30">
|
<g id="line2d_30">
|
||||||
<path d="M 156.32 195.105882
|
<path d="M 156.32 195.105882
|
||||||
L 156.32 232.294737
|
L 156.32 232.294737
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_31">
|
<g id="line2d_31">
|
||||||
<path d="M 156.32 155.7
|
<path d="M 156.32 155.7
|
||||||
L 156.32 121.787234
|
L 156.32 121.787234
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_32">
|
<g id="line2d_32">
|
||||||
<path d="M 151.4592 232.294737
|
<path d="M 151.4592 232.294737
|
||||||
L 161.1808 232.294737
|
L 161.1808 232.294737
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_33">
|
<g id="line2d_33">
|
||||||
<path d="M 151.4592 121.787234
|
<path d="M 151.4592 121.787234
|
||||||
L 161.1808 121.787234
|
L 161.1808 121.787234
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_34">
|
<g id="line2d_34">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="156.32" y="261.473684" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="156.32" y="261.473684" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_35">
|
<g id="line2d_35">
|
||||||
<path d="M 176.16 173.799529
|
<path d="M 176.16 173.799529
|
||||||
L 176.16 216.847059
|
L 176.16 216.847059
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_36">
|
<g id="line2d_36">
|
||||||
<path d="M 176.16 142.971429
|
<path d="M 176.16 142.971429
|
||||||
L 176.16 110.504348
|
L 176.16 110.504348
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_37">
|
<g id="line2d_37">
|
||||||
<path d="M 171.2992 216.847059
|
<path d="M 171.2992 216.847059
|
||||||
L 181.0208 216.847059
|
L 181.0208 216.847059
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_38">
|
<g id="line2d_38">
|
||||||
<path d="M 171.2992 110.504348
|
<path d="M 171.2992 110.504348
|
||||||
L 181.0208 110.504348
|
L 181.0208 110.504348
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_39"/>
|
<g id="line2d_39"/>
|
||||||
<g id="line2d_40">
|
<g id="line2d_40">
|
||||||
<path d="M 196 241.245209
|
<path d="M 196 241.245209
|
||||||
L 196 298.08
|
L 196 298.08
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_41">
|
<g id="line2d_41">
|
||||||
<path d="M 196 201.858676
|
<path d="M 196 201.858676
|
||||||
L 196 149.76
|
L 196 149.76
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_42">
|
<g id="line2d_42">
|
||||||
<path d="M 191.1392 298.08
|
<path d="M 191.1392 298.08
|
||||||
L 200.8608 298.08
|
L 200.8608 298.08
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_43">
|
<g id="line2d_43">
|
||||||
<path d="M 191.1392 149.76
|
<path d="M 191.1392 149.76
|
||||||
L 200.8608 149.76
|
L 200.8608 149.76
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_44"/>
|
<g id="line2d_44"/>
|
||||||
<g id="line2d_45">
|
<g id="line2d_45">
|
||||||
<path d="M 245.6 86.4
|
<path d="M 245.6 86.4
|
||||||
L 245.6 86.4
|
L 245.6 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_46">
|
<g id="line2d_46">
|
||||||
<path d="M 245.6 86.4
|
<path d="M 245.6 86.4
|
||||||
L 245.6 86.4
|
L 245.6 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_47">
|
<g id="line2d_47">
|
||||||
<path d="M 240.7392 86.4
|
<path d="M 240.7392 86.4
|
||||||
L 250.4608 86.4
|
L 250.4608 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_48">
|
<g id="line2d_48">
|
||||||
<path d="M 240.7392 86.4
|
<path d="M 240.7392 86.4
|
||||||
L 250.4608 86.4
|
L 250.4608 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_49"/>
|
<g id="line2d_49"/>
|
||||||
<g id="line2d_50">
|
<g id="line2d_50">
|
||||||
<path d="M 265.44 125.07907
|
<path d="M 265.44 125.07907
|
||||||
L 265.44 150.865116
|
L 265.44 150.865116
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_51">
|
<g id="line2d_51">
|
||||||
<path d="M 265.44 99
|
<path d="M 265.44 99
|
||||||
L 265.44 86.4
|
L 265.44 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_52">
|
<g id="line2d_52">
|
||||||
<path d="M 260.5792 150.865116
|
<path d="M 260.5792 150.865116
|
||||||
L 270.3008 150.865116
|
L 270.3008 150.865116
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_53">
|
<g id="line2d_53">
|
||||||
<path d="M 260.5792 86.4
|
<path d="M 260.5792 86.4
|
||||||
L 270.3008 86.4
|
L 270.3008 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_54">
|
<g id="line2d_54">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="265.44" y="176.651163" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="265.44" y="176.651163" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_55">
|
<g id="line2d_55">
|
||||||
<path d="M 285.28 434.511628
|
<path d="M 285.28 434.511628
|
||||||
L 285.28 511.869767
|
L 285.28 511.869767
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_56">
|
<g id="line2d_56">
|
||||||
<path d="M 285.28 382.939535
|
<path d="M 285.28 382.939535
|
||||||
L 285.28 313.2
|
L 285.28 313.2
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_57">
|
<g id="line2d_57">
|
||||||
<path d="M 280.4192 511.869767
|
<path d="M 280.4192 511.869767
|
||||||
L 290.1408 511.869767
|
L 290.1408 511.869767
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_58">
|
<g id="line2d_58">
|
||||||
<path d="M 280.4192 313.2
|
<path d="M 280.4192 313.2
|
||||||
L 290.1408 313.2
|
L 290.1408 313.2
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_59">
|
<g id="line2d_59">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="285.28" y="514.8" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="285.28" y="514.8" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="285.28" y="254.009302" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="285.28" y="254.009302" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="285.28" y="288" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="285.28" y="288" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="285.28" y="300.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="285.28" y="300.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="285.28" y="288" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="285.28" y="288" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_60">
|
<g id="line2d_60">
|
||||||
<path d="M 305.12 137.972093
|
<path d="M 305.12 137.972093
|
||||||
L 305.12 176.651163
|
L 305.12 176.651163
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_61">
|
<g id="line2d_61">
|
||||||
<path d="M 305.12 99.293023
|
<path d="M 305.12 99.293023
|
||||||
L 305.12 86.4
|
L 305.12 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_62">
|
<g id="line2d_62">
|
||||||
<path d="M 300.2592 176.651163
|
<path d="M 300.2592 176.651163
|
||||||
L 309.9808 176.651163
|
L 309.9808 176.651163
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_63">
|
<g id="line2d_63">
|
||||||
<path d="M 300.2592 86.4
|
<path d="M 300.2592 86.4
|
||||||
L 309.9808 86.4
|
L 309.9808 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_64"/>
|
<g id="line2d_64"/>
|
||||||
<g id="line2d_65">
|
<g id="line2d_65">
|
||||||
<path d="M 324.96 125.07907
|
<path d="M 324.96 125.07907
|
||||||
L 324.96 163.75814
|
L 324.96 163.75814
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_66">
|
<g id="line2d_66">
|
||||||
<path d="M 324.96 95.85
|
<path d="M 324.96 95.85
|
||||||
L 324.96 86.4
|
L 324.96 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_67">
|
<g id="line2d_67">
|
||||||
<path d="M 320.0992 163.75814
|
<path d="M 320.0992 163.75814
|
||||||
L 329.8208 163.75814
|
L 329.8208 163.75814
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_68">
|
<g id="line2d_68">
|
||||||
<path d="M 320.0992 86.4
|
<path d="M 320.0992 86.4
|
||||||
L 329.8208 86.4
|
L 329.8208 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_69">
|
<g id="line2d_69">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="324.96" y="174.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="324.96" y="174.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_70">
|
<g id="line2d_70">
|
||||||
<path d="M 344.8 250.2
|
<path d="M 344.8 250.2
|
||||||
L 344.8 325.8
|
L 344.8 325.8
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_71">
|
<g id="line2d_71">
|
||||||
<path d="M 344.8 197.236047
|
<path d="M 344.8 197.236047
|
||||||
L 344.8 125.07907
|
L 344.8 125.07907
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_72">
|
<g id="line2d_72">
|
||||||
<path d="M 339.9392 325.8
|
<path d="M 339.9392 325.8
|
||||||
L 349.6608 325.8
|
L 349.6608 325.8
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_73">
|
<g id="line2d_73">
|
||||||
<path d="M 339.9392 125.07907
|
<path d="M 339.9392 125.07907
|
||||||
L 349.6608 125.07907
|
L 349.6608 125.07907
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_74">
|
<g id="line2d_74">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="344.8" y="363.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="344.8" y="363.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="344.8" y="111.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="344.8" y="111.6" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_75">
|
<g id="line2d_75">
|
||||||
<path d="M 394.4 274.043077
|
<path d="M 394.4 274.043077
|
||||||
L 394.4 274.043077
|
L 394.4 274.043077
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_76">
|
<g id="line2d_76">
|
||||||
<path d="M 394.4 268.378626
|
<path d="M 394.4 268.378626
|
||||||
L 394.4 268.378626
|
L 394.4 268.378626
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_77">
|
<g id="line2d_77">
|
||||||
<path d="M 389.5392 274.043077
|
<path d="M 389.5392 274.043077
|
||||||
L 399.2608 274.043077
|
L 399.2608 274.043077
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_78">
|
<g id="line2d_78">
|
||||||
<path d="M 389.5392 268.378626
|
<path d="M 389.5392 268.378626
|
||||||
L 399.2608 268.378626
|
L 399.2608 268.378626
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_79"/>
|
<g id="line2d_79"/>
|
||||||
<g id="line2d_80">
|
<g id="line2d_80">
|
||||||
<path d="M 414.24 160.32
|
<path d="M 414.24 160.32
|
||||||
L 414.24 185.608421
|
L 414.24 185.608421
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_81">
|
<g id="line2d_81">
|
||||||
<path d="M 414.24 137.839175
|
<path d="M 414.24 137.839175
|
||||||
L 414.24 111.04
|
L 414.24 111.04
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_82">
|
<g id="line2d_82">
|
||||||
<path d="M 409.3792 185.608421
|
<path d="M 409.3792 185.608421
|
||||||
L 419.1008 185.608421
|
L 419.1008 185.608421
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_83">
|
<g id="line2d_83">
|
||||||
<path d="M 409.3792 111.04
|
<path d="M 409.3792 111.04
|
||||||
L 419.1008 111.04
|
L 419.1008 111.04
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_84">
|
<g id="line2d_84">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="414.24" y="206.921739" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="414.24" y="206.921739" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_85">
|
<g id="line2d_85">
|
||||||
<path d="M 434.08 360.497015
|
<path d="M 434.08 360.497015
|
||||||
L 434.08 426.193548
|
L 434.08 426.193548
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_86">
|
<g id="line2d_86">
|
||||||
<path d="M 434.08 309.814925
|
<path d="M 434.08 309.814925
|
||||||
L 434.08 236.237838
|
L 434.08 236.237838
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_87">
|
<g id="line2d_87">
|
||||||
<path d="M 429.2192 426.193548
|
<path d="M 429.2192 426.193548
|
||||||
L 438.9408 426.193548
|
L 438.9408 426.193548
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_88">
|
<g id="line2d_88">
|
||||||
<path d="M 429.2192 236.237838
|
<path d="M 429.2192 236.237838
|
||||||
L 438.9408 236.237838
|
L 438.9408 236.237838
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_89">
|
<g id="line2d_89">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="449.627586" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="449.627586" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="442.8" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="442.8" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="452.867797" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="452.867797" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="439.2" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="439.2" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="439.2" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="439.2" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="219.736709" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="219.736709" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="232.294737" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="232.294737" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="434.08" y="232.294737" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="434.08" y="232.294737" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_90">
|
<g id="line2d_90">
|
||||||
<path d="M 453.92 162.265263
|
<path d="M 453.92 162.265263
|
||||||
L 453.92 185.608421
|
L 453.92 185.608421
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_91">
|
<g id="line2d_91">
|
||||||
<path d="M 453.92 136.52
|
<path d="M 453.92 136.52
|
||||||
L 453.92 104.676923
|
L 453.92 104.676923
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_92">
|
<g id="line2d_92">
|
||||||
<path d="M 449.0592 185.608421
|
<path d="M 449.0592 185.608421
|
||||||
L 458.7808 185.608421
|
L 458.7808 185.608421
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_93">
|
<g id="line2d_93">
|
||||||
<path d="M 449.0592 104.676923
|
<path d="M 449.0592 104.676923
|
||||||
L 458.7808 104.676923
|
L 458.7808 104.676923
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_94">
|
<g id="line2d_94">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="453.92" y="208.368" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="453.92" y="208.368" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="453.92" y="204.357447" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="453.92" y="204.357447" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_95">
|
<g id="line2d_95">
|
||||||
<path d="M 473.76 148
|
<path d="M 473.76 148
|
||||||
L 473.76 180.765957
|
L 473.76 180.765957
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_96">
|
<g id="line2d_96">
|
||||||
<path d="M 473.76 122.556522
|
<path d="M 473.76 122.556522
|
||||||
L 473.76 98.72
|
L 473.76 98.72
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_97">
|
<g id="line2d_97">
|
||||||
<path d="M 468.8992 180.765957
|
<path d="M 468.8992 180.765957
|
||||||
L 478.6208 180.765957
|
L 478.6208 180.765957
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_98">
|
<g id="line2d_98">
|
||||||
<path d="M 468.8992 98.72
|
<path d="M 468.8992 98.72
|
||||||
L 478.6208 98.72
|
L 478.6208 98.72
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_99"/>
|
<g id="line2d_99"/>
|
||||||
<g id="line2d_100">
|
<g id="line2d_100">
|
||||||
<path d="M 493.6 240.028916
|
<path d="M 493.6 240.028916
|
||||||
L 493.6 289.913924
|
L 493.6 289.913924
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_101">
|
<g id="line2d_101">
|
||||||
<path d="M 493.6 204.755056
|
<path d="M 493.6 204.755056
|
||||||
L 493.6 155.7
|
L 493.6 155.7
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_102">
|
<g id="line2d_102">
|
||||||
<path d="M 488.7392 289.913924
|
<path d="M 488.7392 289.913924
|
||||||
L 498.4608 289.913924
|
L 498.4608 289.913924
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_103">
|
<g id="line2d_103">
|
||||||
<path d="M 488.7392 155.7
|
<path d="M 488.7392 155.7
|
||||||
L 498.4608 155.7
|
L 498.4608 155.7
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_104">
|
<g id="line2d_104">
|
||||||
<g clip-path="url(#p5256a55a9d)">
|
<g clip-path="url(#p0c45fec8d2)">
|
||||||
<use xlink:href="#mae3e906b94" x="493.6" y="324" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="493.6" y="324" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
<use xlink:href="#mae3e906b94" x="493.6" y="142.462921" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
<use xlink:href="#m032be3f3bf" x="493.6" y="142.462921" style="fill: #3d3d3d; stroke: #3d3d3d; stroke-linejoin: miter"/>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_105">
|
<g id="line2d_105">
|
||||||
<path d="M 87.0784 366.786207
|
<path d="M 87.0784 366.786207
|
||||||
L 106.5216 366.786207
|
L 106.5216 366.786207
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_106">
|
<g id="line2d_106">
|
||||||
<path d="M 106.9184 179.671698
|
<path d="M 106.9184 179.671698
|
||||||
L 126.3616 179.671698
|
L 126.3616 179.671698
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_107">
|
<g id="line2d_107">
|
||||||
<path d="M 126.7584 182.817391
|
<path d="M 126.7584 182.817391
|
||||||
L 146.2016 182.817391
|
L 146.2016 182.817391
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_108">
|
<g id="line2d_108">
|
||||||
<path d="M 146.5984 178.8
|
<path d="M 146.5984 178.8
|
||||||
L 166.0416 178.8
|
L 166.0416 178.8
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_109">
|
<g id="line2d_109">
|
||||||
<path d="M 166.4384 155.7
|
<path d="M 166.4384 155.7
|
||||||
L 185.8816 155.7
|
L 185.8816 155.7
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_110">
|
<g id="line2d_110">
|
||||||
<path d="M 186.2784 225
|
<path d="M 186.2784 225
|
||||||
L 205.7216 225
|
L 205.7216 225
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_111">
|
<g id="line2d_111">
|
||||||
<path d="M 235.8784 86.4
|
<path d="M 235.8784 86.4
|
||||||
L 255.3216 86.4
|
L 255.3216 86.4
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_112">
|
<g id="line2d_112">
|
||||||
<path d="M 255.7184 111.6
|
<path d="M 255.7184 111.6
|
||||||
L 275.1616 111.6
|
L 275.1616 111.6
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_113">
|
<g id="line2d_113">
|
||||||
<path d="M 275.5584 408.725581
|
<path d="M 275.5584 408.725581
|
||||||
L 295.0016 408.725581
|
L 295.0016 408.725581
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_114">
|
<g id="line2d_114">
|
||||||
<path d="M 295.3984 112.186047
|
<path d="M 295.3984 112.186047
|
||||||
L 314.8416 112.186047
|
L 314.8416 112.186047
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_115">
|
<g id="line2d_115">
|
||||||
<path d="M 315.2384 105.446512
|
<path d="M 315.2384 105.446512
|
||||||
L 334.6816 105.446512
|
L 334.6816 105.446512
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_116">
|
<g id="line2d_116">
|
||||||
<path d="M 335.0784 220.165116
|
<path d="M 335.0784 220.165116
|
||||||
L 354.5216 220.165116
|
L 354.5216 220.165116
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_117">
|
<g id="line2d_117">
|
||||||
<path d="M 384.6784 274.043077
|
<path d="M 384.6784 274.043077
|
||||||
L 404.1216 274.043077
|
L 404.1216 274.043077
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_118">
|
<g id="line2d_118">
|
||||||
<path d="M 404.5184 148.635052
|
<path d="M 404.5184 148.635052
|
||||||
L 423.9616 148.635052
|
L 423.9616 148.635052
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_119">
|
<g id="line2d_119">
|
||||||
<path d="M 424.3584 333.747692
|
<path d="M 424.3584 333.747692
|
||||||
L 443.8016 333.747692
|
L 443.8016 333.747692
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_120">
|
<g id="line2d_120">
|
||||||
<path d="M 444.1984 153.171692
|
<path d="M 444.1984 153.171692
|
||||||
L 463.6416 153.171692
|
L 463.6416 153.171692
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_121">
|
<g id="line2d_121">
|
||||||
<path d="M 464.0384 135.704348
|
<path d="M 464.0384 135.704348
|
||||||
L 483.4816 135.704348
|
L 483.4816 135.704348
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="line2d_122">
|
<g id="line2d_122">
|
||||||
<path d="M 483.8784 225.761538
|
<path d="M 483.8784 225.761538
|
||||||
L 503.3216 225.761538
|
L 503.3216 225.761538
|
||||||
" clip-path="url(#p5256a55a9d)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
" clip-path="url(#p0c45fec8d2)" style="fill: none; stroke: #3d3d3d; stroke-width: 1.5; stroke-linecap: square"/>
|
||||||
</g>
|
</g>
|
||||||
<g id="patch_27">
|
<g id="patch_27">
|
||||||
<path d="M 62 640.8
|
<path d="M 62 640.8
|
||||||
|
@ -2223,7 +2223,7 @@ z
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<defs>
|
<defs>
|
||||||
<clipPath id="p5256a55a9d">
|
<clipPath id="p0c45fec8d2">
|
||||||
<rect x="72" y="86.4" width="446.4" height="554.4"/>
|
<rect x="72" y="86.4" width="446.4" height="554.4"/>
|
||||||
</clipPath>
|
</clipPath>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
@ -1,46 +1,2 @@
|
||||||
,classifier_a,classifier_b,metric,pvalue
|
,classifier_a,classifier_b,metric,pvalue
|
||||||
1,DecisionTreeClassifier,GaussianNB,precision,0.08929133280531223
|
1,BiasedClassifier,SVC,f1,4.337936940303975e-17
|
||||||
2,DecisionTreeClassifier,GaussianNB,recall,3.877480505802584e-18
|
|
||||||
3,DecisionTreeClassifier,GaussianNB,f1,3.896340037647931e-18
|
|
||||||
4,DecisionTreeClassifier,MLPClassifier,precision,0.4012348497407896
|
|
||||||
5,DecisionTreeClassifier,MLPClassifier,recall,0.011820059675817408
|
|
||||||
6,DecisionTreeClassifier,MLPClassifier,f1,0.4710651684151138
|
|
||||||
7,DecisionTreeClassifier,RandomForestClassifier,precision,8.283473187323235e-12
|
|
||||||
8,DecisionTreeClassifier,RandomForestClassifier,recall,0.3276029575034267
|
|
||||||
9,DecisionTreeClassifier,RandomForestClassifier,f1,1.4515097813437996e-10
|
|
||||||
10,DecisionTreeClassifier,SVC,precision,6.472995016722292e-16
|
|
||||||
11,DecisionTreeClassifier,SVC,recall,3.864155888689142e-18
|
|
||||||
12,DecisionTreeClassifier,SVC,f1,3.896559845095909e-18
|
|
||||||
13,GaussianNB,MLPClassifier,precision,0.03476088049603166
|
|
||||||
14,GaussianNB,MLPClassifier,recall,3.873544128513129e-18
|
|
||||||
15,GaussianNB,MLPClassifier,f1,3.896120241954008e-18
|
|
||||||
16,GaussianNB,RandomForestClassifier,precision,5.027978595522601e-10
|
|
||||||
17,GaussianNB,RandomForestClassifier,recall,3.8656827355135645e-18
|
|
||||||
18,GaussianNB,RandomForestClassifier,f1,3.896120241954008e-18
|
|
||||||
19,GaussianNB,SVC,precision,7.361006463422299e-13
|
|
||||||
20,GaussianNB,SVC,recall,3.881639684405151e-18
|
|
||||||
21,GaussianNB,SVC,f1,4.265842540306607e-18
|
|
||||||
22,MLPClassifier,RandomForestClassifier,precision,2.9302015489842885e-09
|
|
||||||
23,MLPClassifier,RandomForestClassifier,recall,0.00010909237805840521
|
|
||||||
24,MLPClassifier,RandomForestClassifier,f1,1.1542838431590428e-11
|
|
||||||
25,MLPClassifier,SVC,precision,3.6744416439536415e-16
|
|
||||||
26,MLPClassifier,SVC,recall,5.645631221640026e-18
|
|
||||||
27,MLPClassifier,SVC,f1,5.112831740936498e-18
|
|
||||||
28,RandomForestClassifier,SVC,precision,4.0161556854627e-18
|
|
||||||
29,RandomForestClassifier,SVC,recall,3.8584897469079895e-18
|
|
||||||
30,RandomForestClassifier,SVC,f1,3.896559845095909e-18
|
|
||||||
31,BiasedClassifier,DecisionTreeClassifier,precision,3.881858705649312e-18
|
|
||||||
32,BiasedClassifier,DecisionTreeClassifier,recall,1.0267247842714985e-14
|
|
||||||
33,BiasedClassifier,DecisionTreeClassifier,f1,3.881858705649312e-18
|
|
||||||
34,BiasedClassifier,GaussianNB,precision,3.876167958900271e-18
|
|
||||||
35,BiasedClassifier,GaussianNB,recall,3.7861845925093915e-18
|
|
||||||
36,BiasedClassifier,GaussianNB,f1,4.22499456189738e-16
|
|
||||||
37,BiasedClassifier,MLPClassifier,precision,3.887338045617697e-18
|
|
||||||
38,BiasedClassifier,MLPClassifier,recall,2.2417567344517687e-15
|
|
||||||
39,BiasedClassifier,MLPClassifier,f1,3.886680137925553e-18
|
|
||||||
40,BiasedClassifier,RandomForestClassifier,precision,3.8798879361158955e-18
|
|
||||||
41,BiasedClassifier,RandomForestClassifier,recall,4.647240654275836e-14
|
|
||||||
42,BiasedClassifier,RandomForestClassifier,f1,3.8798879361158955e-18
|
|
||||||
43,BiasedClassifier,SVC,precision,3.890848669938197e-18
|
|
||||||
44,BiasedClassifier,SVC,recall,3.803119001919453e-18
|
|
||||||
45,BiasedClassifier,SVC,f1,4.337936940303975e-17
|
|
||||||
|
|
|
108
report/main.md
108
report/main.md
|
@ -308,10 +308,19 @@ For sake of brevity, only the top 100 results by accuracy are shown.
|
||||||
| gini | balanced_subsample | log2 | 0.803922 | 0.862069 | 0.953488 | 0.87234 |
|
| gini | balanced_subsample | log2 | 0.803922 | 0.862069 | 0.953488 | 0.87234 |
|
||||||
| entropy | balanced_subsample | log2 | 0.803922 | 0.862069 | 0.953488 | 0.87234 |
|
| entropy | balanced_subsample | log2 | 0.803922 | 0.862069 | 0.953488 | 0.87234 |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Evaluation
|
# Evaluation
|
||||||
|
|
||||||
|
To evaluate the performance of each selected classifier, each model has trained 100 times by repeating a 5-fold
|
||||||
|
cross validation procedure 20 times. A graphical and statistical analysis to compare the distribution of
|
||||||
|
performance metrics (precision, recall and F1 score) follows.
|
||||||
|
|
||||||
|
Numeric tables, statistical analysis conclusions and the boxplot diagram shown in this section are obtained by
|
||||||
|
running the script:
|
||||||
|
|
||||||
|
```
|
||||||
|
./evaluate_classifiers.py
|
||||||
|
```
|
||||||
|
|
||||||
## Output Distributions
|
## Output Distributions
|
||||||
|
|
||||||
A boxplot chart to show the distribution of each of precision, recall, and F1 score
|
A boxplot chart to show the distribution of each of precision, recall, and F1 score
|
||||||
|
@ -348,58 +357,65 @@ table summing up mean and standard deviation of each metric.
|
||||||
|
|
||||||
## Comparison and Significance
|
## Comparison and Significance
|
||||||
|
|
||||||
For every combination of two classifiers and every performance metric
|
Given the distribution of metrics presented in the previous section, I perform a statistical analysis
|
||||||
(precision, recall, f1) compare which algorithm performs better, by how
|
using the Wilixcon paired test to determine for each pair of classifiers which one performs better
|
||||||
much, and report the corresponding p-value in the following
|
according to each performance metric. When the *p-value* is too high, *ANOVA* power analysis (corrected
|
||||||
subsubsections:
|
by *alpha* = $= 0.05$) is performed to determine if the metrics are equally distributed or if the statistical
|
||||||
|
test is inconclusive.
|
||||||
|
|
||||||
::: {#tab:precision}
|
# F1 Values
|
||||||
| | DecisionTreeClassifier | GaussianNB | MLPClassifier | RandomForestClassifier | SVC |
|
|
||||||
|:-----------------------|:-------------------------|:-------------|:----------------|:-------------------------|------:|
|
|
||||||
| BiasedClassifier | 0.0000 | 0.0000 | 0.0000 | 0.0000 |0.0000|
|
|
||||||
| DecisionTreeClassifier | -- | 0.0893 | 0.4012 | 0.0000 |0.0000|
|
|
||||||
| GaussianNB | -- | -- | 0.0348 | 0.0000 |0.0000|
|
|
||||||
| MLPClassifier | -- | -- | -- | 0.0000 |0.0000|
|
|
||||||
| RandomForestClassifier | -- | -- | -- | -- |0.0000|
|
|
||||||
|
|
||||||
: Pairwise Wilcoxon test for precision for each combination of classifiers.
|
- Mean *F1* for *DT*: 0.8881, mean *F1* for *NB*: 0.5495 $\Rightarrow$ *DT* is better than *NB* (*p-value* $= 0.0$)
|
||||||
:::
|
- Mean *F1* for *DT*: 0.8881, mean *F1* for *MLP*: 0.8848 $\Rightarrow$ statistical test inconclusive (*p-value* $= 0.4711$, *5% corrected ANOVA power* $= 0.2987$)
|
||||||
|
- Mean *F1* for *DT*: 0.8881, mean *F1* for *RF*: 0.9108 $\Rightarrow$ *RF* is better than *DT* (*p-value* $= 0.0$)
|
||||||
::: {#tab:recall}
|
- Mean *F1* for *DT*: 0.8881, mean *F1* for *SVP*: 0.7527 $\Rightarrow$ *DT* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
| | DecisionTreeClassifier | GaussianNB | MLPClassifier | RandomForestClassifier | SVC |
|
- Mean *F1* for *NB*: 0.5495, mean *F1* for *MLP*: 0.8848 $\Rightarrow$ *MLP* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|:-----------------------|:-------------------------|:-------------|:----------------|:-------------------------|------:|
|
- Mean *F1* for *NB*: 0.5495, mean *F1* for *RF*: 0.9108 $\Rightarrow$ *RF* is better than *NB* (*p-value* $= 0.0$)
|
||||||
| BiasedClassifier | 0.0000 | 0.0000 | 0.0000 | 0.0000 |0.0000|
|
- Mean *F1* for *NB*: 0.5495, mean *F1* for *SVP*: 0.7527 $\Rightarrow$ *SVP* is better than *NB* (*p-value* $= 0.0$)
|
||||||
| DecisionTreeClassifier | -- | 0.0000 | 0.0118 | 0.3276 |0.0000|
|
- Mean *F1* for *MLP*: 0.8848, mean *F1* for *RF*: 0.9108 $\Rightarrow$ *RF* is better than *MLP* (*p-value* $= 0.0$)
|
||||||
| GaussianNB | -- | -- | 0.0000 | 0.0000 |0.0000|
|
- Mean *F1* for *MLP*: 0.8848, mean *F1* for *SVP*: 0.7527 $\Rightarrow$ *MLP* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
| MLPClassifier | -- | -- | -- | 0.0001 |0.0000|
|
- Mean *F1* for *RF*: 0.9108, mean *F1* for *SVP*: 0.7527 $\Rightarrow$ *RF* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
| RandomForestClassifier | -- | -- | -- | -- |0.0000|
|
- Mean *F1* for *Biased*: 0.6662, mean *F1* for *DT*: 0.8881 $\Rightarrow$ *DT* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
: Pairwise Wilcoxon test for recall for each combination of classifiers.
|
- Mean *F1* for *Biased*: 0.6662, mean *F1* for *NB*: 0.5495 $\Rightarrow$ *Biased* is better than *NB* (*p-value* $= 0.0$)
|
||||||
:::
|
- Mean *F1* for *Biased*: 0.6662, mean *F1* for *MLP*: 0.8848 $\Rightarrow$ *MLP* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
|
- Mean *F1* for *Biased*: 0.6662, mean *F1* for *RF*: 0.9108 $\Rightarrow$ *RF* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
::: {#tab:f1}
|
- Mean *F1* for *Biased*: 0.6662, mean *F1* for *SVP*: 0.7527 $\Rightarrow$ *SVP* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
| | DecisionTreeClassifier | GaussianNB | MLPClassifier | RandomForestClassifier | SVC |
|
|
||||||
|:-----------------------|:-------------------------|:-------------|:----------------|:-------------------------|------:|
|
|
||||||
| BiasedClassifier | 0.0000 | 0.0000 | 0.0000 | 0.0000 |0.0000|
|
|
||||||
| DecisionTreeClassifier | -- | 0.0000 | 0.4711 | 0.0000 |0.0000|
|
|
||||||
| GaussianNB | -- | -- | 0.0000 | 0.0000 |0.0000|
|
|
||||||
| MLPClassifier | -- | -- | -- | 0.0000 |0.0000|
|
|
||||||
| RandomForestClassifier | -- | -- | -- | -- |0.0000|
|
|
||||||
: Pairwise Wilcoxon test for the F1 score metric for each combination of classifiers.
|
|
||||||
:::
|
|
||||||
|
|
||||||
### F1 Values
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
- \...
|
|
||||||
|
|
||||||
### Precision
|
### Precision
|
||||||
|
|
||||||
(same as for F1 above)
|
- Mean *precision* for *DT*: 0.8327, mean *precision* for *NB*: 0.8209 $\Rightarrow$ *DT* is as effective as *NB* (*p-value* $= 0.0893$, *5% corrected ANOVA power* $= 0.8498$)
|
||||||
|
- Mean *precision* for *DT*: 0.8327, mean *precision* for *MLP*: 0.8365 $\Rightarrow$ statistical test inconclusive (*p-value* $= 0.4012$, *5% corrected ANOVA power* $= 0.2196$)
|
||||||
|
- Mean *precision* for *DT*: 0.8327, mean *precision* for *RF*: 0.8707 $\Rightarrow$ *RF* is better than *DT* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *DT*: 0.8327, mean *precision* for *SVP*: 0.7557 $\Rightarrow$ *DT* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *NB*: 0.8209, mean *precision* for *MLP*: 0.8365 $\Rightarrow$ *MLP* is better than *NB* (*p-value* $= 0.0348$)
|
||||||
|
- Mean *precision* for *NB*: 0.8209, mean *precision* for *RF*: 0.8707 $\Rightarrow$ *RF* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *NB*: 0.8209, mean *precision* for *SVP*: 0.7557 $\Rightarrow$ *NB* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *MLP*: 0.8365, mean *precision* for *RF*: 0.8707 $\Rightarrow$ *RF* is better than *MLP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *MLP*: 0.8365, mean *precision* for *SVP*: 0.7557 $\Rightarrow$ *MLP* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *RF*: 0.8707, mean *precision* for *SVP*: 0.7557 $\Rightarrow$ *RF* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *Biased*: 0.4995, mean *precision* for *DT*: 0.8327 $\Rightarrow$ *DT* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *Biased*: 0.4995, mean *precision* for *NB*: 0.8209 $\Rightarrow$ *NB* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *Biased*: 0.4995, mean *precision* for *MLP*: 0.8365 $\Rightarrow$ *MLP* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *Biased*: 0.4995, mean *precision* for *RF*: 0.8707 $\Rightarrow$ *RF* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
|
- Mean *precision* for *Biased*: 0.4995, mean *precision* for *SVP*: 0.7557 $\Rightarrow$ *SVP* is better than *Biased* (*p-value* $= 0.0$)
|
||||||
|
|
||||||
### Recall
|
### Recall
|
||||||
|
|
||||||
(same as for F1 above)
|
- Mean *recall* for *DT*: 0.9533, mean *recall* for *NB*: 0.4189 $\Rightarrow$ *DT* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *DT*: 0.9533, mean *recall* for *MLP*: 0.9418 $\Rightarrow$ *DT* is better than *MLP* (*p-value* $= 0.0118$)
|
||||||
|
- Mean *recall* for *DT*: 0.9533, mean *recall* for *RF*: 0.9567 $\Rightarrow$ statistical test inconclusive (*p-value* $= 0.3276$, *5% corrected ANOVA power* $= 0.2558$)
|
||||||
|
- Mean *recall* for *DT*: 0.9533, mean *recall* for *SVP*: 0.7547 $\Rightarrow$ *DT* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *NB*: 0.4189, mean *recall* for *MLP*: 0.9418 $\Rightarrow$ *MLP* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *NB*: 0.4189, mean *recall* for *RF*: 0.9567 $\Rightarrow$ *RF* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *NB*: 0.4189, mean *recall* for *SVP*: 0.7547 $\Rightarrow$ *SVP* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *MLP*: 0.9418, mean *recall* for *RF*: 0.9567 $\Rightarrow$ *RF* is better than *MLP* (*p-value* $= 0.0001$)
|
||||||
|
- Mean *recall* for *MLP*: 0.9418, mean *recall* for *SVP*: 0.7547 $\Rightarrow$ *MLP* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *RF*: 0.9567, mean *recall* for *SVP*: 0.7547 $\Rightarrow$ *RF* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *Biased*: 1.0, mean *recall* for *DT*: 0.9533 $\Rightarrow$ *Biased* is better than *DT* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *Biased*: 1.0, mean *recall* for *NB*: 0.4189 $\Rightarrow$ *Biased* is better than *NB* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *Biased*: 1.0, mean *recall* for *MLP*: 0.9418 $\Rightarrow$ *Biased* is better than *MLP* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *Biased*: 1.0, mean *recall* for *RF*: 0.9567 $\Rightarrow$ *Biased* is better than *RF* (*p-value* $= 0.0$)
|
||||||
|
- Mean *recall* for *Biased*: 1.0, mean *recall* for *SVP*: 0.7547 $\Rightarrow$ *Biased* is better than *SVP* (*p-value* $= 0.0$)
|
||||||
|
|
||||||
## Practical Usefulness
|
## Practical Usefulness
|
||||||
|
|
||||||
|
|
BIN
report/main.pdf
BIN
report/main.pdf
Binary file not shown.
|
@ -3,4 +3,5 @@ pandas==1.5.2
|
||||||
scikit_learn==1.2.1
|
scikit_learn==1.2.1
|
||||||
tabulate==0.9.0
|
tabulate==0.9.0
|
||||||
scipy==1.24.2
|
scipy==1.24.2
|
||||||
seaborn==0.12.2
|
seaborn==0.12.2
|
||||||
|
statsmodels==0.14.0
|
Reference in a new issue