Showing 167 of 2,238 total issues
File model_group_evaluator.py
has 1025 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
"""
Model Evaluator
This script contain a set of elements to help the postmodeling evaluation
of audited models by triage.Audition. This will be a continuing list of
File model_evaluator.py
has 1004 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
"""
Model Evaluator
This module will use model_id as a unit of analysis to understand the model
and it's predictions. The ModelEvaluator (and by extension de ModelGroupEvaluator) are
File validate.py
has 935 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import importlib
import verboselogs, logging
logger = verboselogs.VerboseLogger(__name__)
File base.py
has 859 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import verboselogs, logging
logger = verboselogs.VerboseLogger(__name__)
from abc import ABC, abstractmethod
File test_feature_generators.py
has 777 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import copy
from datetime import date
import pandas as pd
import pytest
File evaluation.py
has 775 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import functools
import itertools
import verboselogs, logging
logger = verboselogs.VerboseLogger(__name__)
File test_evaluation.py
has 739 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
from triage.component.catwalk.evaluation import (
SORT_TRIALS,
ModelEvaluator,
generate_binary_at_x,
query_subset_table,
File collate.py
has 696 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import verboselogs, logging
logger = verboselogs.VerboseLogger(__name__)
from numbers import Number
from itertools import product, chain
File test_builders.py
has 675 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import datetime
from unittest import TestCase, mock
import pandas as pd
import testing.postgresql
File test_timechop.py
has 613 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import datetime
from unittest import TestCase
from triage.util.conf import convert_str_to_relativedelta
File test_selection_rules.py
has 577 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import pandas as pd
from triage.component.audition.selection_rules import (
best_current_value,
best_average_value,
Function _run
has a Cognitive Complexity of 40 (exceeds 5 allowed). Consider refactoring. Open
Open
def _run(self, scoring_config):
logger.spam("Validating scoring configuration")
if "testing_metric_groups" not in scoring_config:
logger.warning(
"Section: scoring - No testing_metric_groups configured. "
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
File storage.py
has 568 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
# coding: utf-8
import itertools
import verboselogs, logging
File feature_generators.py
has 567 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import verboselogs, logging
logger = verboselogs.VerboseLogger(__name__)
from collections import OrderedDict
File cli.py
has 561 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import argparse
import importlib.util
import os
import yaml
import pathlib
File test_experiments.py
has 553 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import os
import time
from datetime import datetime, timedelta
from functools import partial
from tempfile import TemporaryDirectory
File builders.py
has 530 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import io
import subprocess
import verboselogs, logging
logger = verboselogs.VerboseLogger(__name__)
File __init__.py
has 509 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
from triage.component.results_schema import upgrade_db, Retrain, TriageRun, TriageRunStatus
from triage.component.architect.entity_date_table_generators import EntityDateTableGenerator, DEFAULT_ACTIVE_STATE
from triage.component.architect.features import (
FeatureGenerator,
FeatureDictionaryCreator,
ModelEvaluator
has 35 functions (exceeds 20 allowed). Consider refactoring. Open
Open
class ModelEvaluator:
'''
ModelExtractor class calls the model metadata from the database
and hold model_id metadata features on each of the class attibutes.
This class will contain any information about the model, and will be
File utils.py
has 488 lines of code (exceeds 400 allowed). Consider refactoring. Open
Open
import datetime
import functools
import importlib
import os
import random