original_docstring: Populates features with their consecutive exponents.
          E.g. It maps them into polynomial terms up to the 'exp' power.
          It results in more complex hypothesis, which may suit some data
          sets better, but it's prone to overfitting at the same time.
  
          :param x1: ndarray; feature 1.
          :param x2: ndarray; feature 2.
          :param exp: int; power.
          :return: 2D ndarray. x1, x2, x1^2, x2^2, x1*x2, x1*x2^2, etc
          
docstring: Populates features with their consecutive exponents.
docstring_tokens: Populates features with their consecutive exponents .
code: def map_features(x1, x2, exp):
          """Populates features with their consecutive exponents.
          E.g. It maps them into polynomial terms up to the 'exp' power.
          It results in more complex hypothesis, which may suit some data
          sets better, but it's prone to overfitting at the same time.
  
          :param x1: ndarray; feature 1.
          :param x2: ndarray; feature 2.
          :param exp: int; power.
          :return: 2D ndarray. x1, x2, x1^2, x2^2, x1*x2, x1*x2^2, etc
          """
  
          # 1s for the intercept term are not added here.
          hypo = np.empty([len(x1), 0])
          for i in range(1, exp + 1):
              for j in range(i + 1):
                  hypo = np.c_[hypo, (x1 ** (i-j)) * (x2 ** j)]
  
          return hypo
code_tokens: def map_features ( x1 , x2 , exp ) : hypo = np . empty ( [ len ( x1 ) , 0 ] ) for i in range ( 1 , exp + 1 ) : for j in range ( i + 1 ) : hypo = np . c_ [ hypo , ( x1 ** ( i - j ) ) * ( x2 ** j ) ] return hypo
short_docstring: Populates features with their consecutive exponents.
short_docstring_tokens: Populates features with their consecutive exponents .
comment: """Populates features with their consecutive exponents.
          E.g. It maps them into polynomial terms up to the 'exp' power.
          It results in more complex hypothesis, which may suit some data
          sets better, but it's prone to overfitting at the same time.
  
          :param x1: ndarray; feature 1.
          :param x2: ndarray; feature 2.
          :param exp: int; power.
          :return: 2D ndarray. x1, x2, x1^2, x2^2, x1*x2, x1*x2^2, etc
          """$SEP$# 1s for the intercept term are not added here.