rgmining/fraud-eagle

View on GitHub

Showing 59 of 59 total issues

File graph.py has 488 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#
# graph.py
#
# Copyright (c) 2016-2023 Junpei Kawamoto
#
Severity: Minor
Found in fraud_eagle/graph.py - About 7 hrs to fix

    Function psi has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
    Open

    def psi(u_label: UserLabel, p_label: ProductLabel, r_label: ReviewLabel, epsilon: float) -> float:
    """Likelihood of a pair of user and product.
     
    The likelihood is dependent on the review of the user gives the product.
    The review is one of {+, -}. We defined constant representing "+" and "-",
    Severity: Minor
    Found in fraud_eagle/likelihood.py - About 3 hrs to fix

    Cyclomatic complexity is too high in function psi. (15)
    Open

    def psi(u_label: UserLabel, p_label: ProductLabel, r_label: ReviewLabel, epsilon: float) -> float:
    """Likelihood of a pair of user and product.
     
    The likelihood is dependent on the review of the user gives the product.
    The review is one of {+, -}. We defined constant representing "+" and "-",
    Severity: Minor
    Found in fraud_eagle/likelihood.py by radon

    Cyclomatic complexity is too high in method update. (10)
    Open

    def update(self) -> float:
    """Update reviewers' anomalous scores and products' summaries.
     
    For each user :math:`u`, update messages to every product :math:`p`
    the user reviews. The message function :math:`m_{u\\rightarrow p}`
    Severity: Minor
    Found in fraud_eagle/graph.py by radon

    Function update has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
    Open

    def update(self) -> float:
    """Update reviewers' anomalous scores and products' summaries.
     
    For each user :math:`u`, update messages to every product :math:`p`
    the user reviews. The message function :math:`m_{u\\rightarrow p}`
    Severity: Minor
    Found in fraud_eagle/graph.py - About 2 hrs to fix

    Function add_review has 5 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def add_review(self, reviewer: Reviewer, product: Product, rating: float, *_args: Any, **_kwargs: Any) -> Review:
    Severity: Minor
    Found in fraud_eagle/graph.py - About 35 mins to fix

      Avoid too many return statements within this function.
      Open

      return epsilon
      Severity: Major
      Found in fraud_eagle/likelihood.py - About 30 mins to fix

        Avoid too many return statements within this function.
        Open

        return 2 * epsilon
        Severity: Major
        Found in fraud_eagle/likelihood.py - About 30 mins to fix

          Avoid too many return statements within this function.
          Open

          return 1 - 2 * epsilon
          Severity: Major
          Found in fraud_eagle/likelihood.py - About 30 mins to fix

            Avoid too many return statements within this function.
            Open

            return 1 - epsilon
            Severity: Major
            Found in fraud_eagle/likelihood.py - About 30 mins to fix

              Line too long (82 > 79 characters)
              Open

              :data:`ReviewLabel.PLUS<fraud_eagle.labels.ReviewLabel.PLUS>` is returned.
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (82 > 79 characters)
              Open

              where :math:`u` and :math:`p` is the user and the product, respectively.
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (96 > 79 characters)
              Open

              diffs.append(abs(np.exp(review.user_to_product(p_label)) - np.exp(updated)))
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (103 > 79 characters)
              Open

              message_to_user[u_label] = self._update_product_to_user(reviewer, product, u_label)
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (84 > 79 characters)
              Open

              """Compute an updated message from a user to a product with a product label.
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (84 > 79 characters)
              Open

              \\phi_{i}^{\\cal{U}}: \\cal{L}_{\\cal{U}} \\rightarrow \\mathbb{R}_{\\geq 0},
              Severity: Minor
              Found in fraud_eagle/prior.py by pep8

              Line too long (96 > 79 characters)
              Open

              diffs.append(abs(np.exp(review.product_to_user(u_label)) - np.exp(updated)))
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (84 > 79 characters)
              Open

              \\phi_{j}^{\\cal{P}}: \\cal{L}_{\\cal{P}} \\rightarrow \\mathbb{R}_{\\geq 0},
              Severity: Minor
              Found in fraud_eagle/prior.py by pep8

              Line too long (82 > 79 characters)
              Open

              where :math:`u` and :math:`p` is the user and the product, respectively.
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8

              Line too long (117 > 79 characters)
              Open

              def add_review(self, reviewer: Reviewer, product: Product, rating: float, *_args: Any, **_kwargs: Any) -> Review:
              Severity: Minor
              Found in fraud_eagle/graph.py by pep8
              Severity
              Category
              Status
              Source
              Language