AI

ML : sklearn : PolynomialFeatures

월곡동로봇팔 2020. 5. 22. 12:46

다항 변환

PolynomialFeatures은 "입력값 x를 다항식으로 변환한다."

x[1,x,x2,x3,]

만약 열의 갯수가 두 개이고 2차 다항식으로 변환하는 경우에는 다음처럼 변환한다.

[x1,x2][1, x1, x2, x1**2, x2**2, x1x2]

다음과 같은 입력 인수를 가진다.

  • degree : 차수
  • interaction_only: True면 제곱은 빼고, 서로x끼리 상호작용하는만큼 (x1x2, x2x3 --- )
  • include_bias : 상수항 생성 여부

from sklearn.preprocessing import PolynomialFeatures

from sklearn.preprocessing import PolynomialFeatures 
X = np.arange(6).reshape(3, 2)
"""
array(
[[0, 1], 
[2, 3], 
[4, 5]])
"""

poly = PolynomialFeatures(2) 
poly.fit_transform(X)
"""
array(
[[ 1., 0., 1., 0., 0., 1.], 
[ 1., 2., 3., 4., 6., 9.], 
[ 1., 4., 5., 16., 20., 25.]])
"""

poly = PolynomialFeatures(interaction_only=True) 
poly.fit_transform(X)
"""
array([[ 1., 0., 1., 0.], 
	[ 1., 2., 3., 6.], 
    [ 1., 4., 5., 20.]])
"""