복붙노트

[PYTHON] sklearn : 다항식의 계수를 구하는 방법

PYTHON

sklearn : 다항식의 계수를 구하는 방법

polynomial_features.transform (X)를 사용하여 숫자로 다항식 피쳐를 구하는 것이 가능하다는 것을 알고 있습니다. 매뉴얼에 따르면, 2 도의 특징은 [1, a, b, a ^ 2, ab, b ^ 2]입니다. 그러나 더 높은 주문에 대한 기능에 대한 설명을 얻으려면 어떻게해야합니까? .get_params ()는 기능 목록을 표시하지 않습니다.

해결법

  1. ==============================

    1.그건 그렇고, 지금은 더 적절한 기능이 있습니다 : PolynomialFeatures.get_feature_names.

    그건 그렇고, 지금은 더 적절한 기능이 있습니다 : PolynomialFeatures.get_feature_names.

    from sklearn.preprocessing import PolynomialFeatures
    import pandas as pd
    import numpy as np
    
    data = pd.DataFrame.from_dict({
        'x': np.random.randint(low=1, high=10, size=5),
        'y': np.random.randint(low=-1, high=1, size=5),
    })
    
    p = PolynomialFeatures(degree=2).fit(data)
    print p.get_feature_names(data.columns)
    

    다음과 같이 출력됩니다 :

    ['1', 'x', 'y', 'x^2', 'x y', 'y^2']
    

    N.B. 어떤 이유 때문에 get_feature_names ()를 사용하기 전에 PolynomialFeatures 객체에 적합해야합니다.

    당신이 팬더스 애호가라면 (나는 그렇듯이) 다음과 같은 새로운 기능으로 DataFrame을 쉽게 구성 할 수 있습니다 :

    features = DataFrame(p.transform(data), columns=p.get_feature_names(data.columns))
    print features
    

    결과는 다음과 같습니다.

         1    x    y   x^2  x y  y^2
    0  1.0  8.0 -1.0  64.0 -8.0  1.0
    1  1.0  9.0 -1.0  81.0 -9.0  1.0
    2  1.0  1.0  0.0  1.0   0.0  0.0
    3  1.0  6.0  0.0  36.0  0.0  0.0
    4  1.0  5.0 -1.0  25.0 -5.0  1.0
    
  2. ==============================

    2.

    import numpy as np
    from sklearn.preprocessing import PolynomialFeatures
    
    X = np.array([2,3])
    
    poly = PolynomialFeatures(3)
    Y = poly.fit_transform(X)
    print Y
    # prints [[ 1  2  3  4  6  9  8 12 18 27]]
    print poly.powers_
    

    이 코드는 다음과 같이 인쇄됩니다.

    [[0 0]
     [1 0]
     [0 1]
     [2 0]
     [1 1]
     [0 2]
     [3 0]
     [2 1]
     [1 2]
     [0 3]]
    

    따라서 i 번째 셀이 (x, y)이면 Y [i] = (a ** x) * (b ** y)를 의미합니다. 예를 들어, 코드 예제에서 [2 1]은 (2 ** 2) * (3 ** 1) = 12와 같습니다.

  3. from https://stackoverflow.com/questions/31290976/sklearn-how-to-get-coefficients-of-polynomial-features by cc-by-sa and MIT license