2013-05-04 2 views
2

저는 파이썬 2.7 및 Scikit을 사용하여 곱셈 선형 회귀를 사용하여 데이터 집합에 맞도록 배웁니다. 여기서는 sklearn.linear_models.Ridge처럼 서로 다른 용어가 함께 곱 해지지 않습니다.Python/Sklearn을 사용하여 곱셈 선형 회귀를 만들고 맞추십시오.

그래서 대신

y = c1 * X1 + c2 * X2 + c3 * X3 + ... 

우리는

y = c1 * X1 * c2 * X2 * c3 * X3... 

우리는 파이썬과 Sklearn 맞게 그러한 쾌락/곱셈 회귀 모형을 예측 할 수 있습니다해야합니까?

+0

흠 나는 최근에 이런 일을했을 것 같아. 이 정보를 어떻게 적용하고 데이터가 어떤 것인지에 대해 더 많은 정보를 게시 할 수 있습니까? –

답변

4

입력 데이터 세트 (데이터 매트릭스)를 조작하여 일반 선형 회귀로이 작업을 수행 할 수 있어야한다고 생각합니다.

회귀 Y ~ C1 * X1 * C2 * X2 * ... Y 동등 ~ k는 어떤 일정한

인 케이 * (X1 * X2 * ...)는 모두 승산 그렇다면 함께 당신의 디자인 매트릭스의 가치, 그리고 그것에 회귀 해, 나는 당신이 이것을 할 수 있어야한다고 생각합니다.

즉, 데이터 매트릭스 X가 X1, X2, X3 및 X4 기능이있는 4 x 1000 인 경우 전처리 단계를 사용하여 새 행렬 X_new를 만듭니다. 즉, 단일 열이 같으면 1 x 1000입니다. X1 * X2 * X3 * X4 다음에 y ~ X_new (clf = LinearRegression(), clf.fit (X_new, y))에 맞춰 짐

+0

+1; 똑같은 방식으로 테스트 데이터를 사전 처리하는 것을 잊지 마십시오. –

0

여기에 필요한 것이 있습니다. X는 모든 X 값의 행렬입니다.

Y는 모든 Y 값에 대한 행렬 또는 벡터입니다.

학위는 수식에 허용되는 최고 등급입니다. 마찬가지로 X^2는 2의 차수를 가지고 X1^2 * X2^3의 차수는 5입니다. 직접 결정해야합니다.

from sklearn.preprocessing import PolynomialFeatures 
from sklearn import linear_model 

poly = PolynomialFeatures(degree=degree) 
X_ = poly.fit_transform(X) 
model = linear_model.LinearRegression(fit_intercept=True) 
model.fit(X_, Y) 
관련 문제