-
카테고리
-
세부 분야
딥러닝 · 머신러닝
-
해결 여부
미해결
선생님 fit_transform 질문드립니다.
21.11.15 01:13 작성 조회수 192
0
다항회귀 실습 중인데
1) poly = PolynomialFeatures(degree = 3).fit_transform(X) --> 이렇게 실행하면 오류안뜸
2) ploy = PolynomialFeatures(degree = 3)
poly.fit_transform(X) --> Expected 2D array, got scalar array instead 오류발생
# LinearRegression 으로 회귀계수 예측
model = LinearRegression()
model.fit(poly, y)
위에 적었다시피 poly.fit_transform 변환이후 model.fit 하면 오류가 안뜨는데 2)번 같은 경우 오류가 뜨네요..!
원래 fit_transform 한꺼번에 수행하는거랑 나눠서 수행하는 경우 차원 변화가 일어나나요?
+ 추가 질문
사이킷런 Pipeline 으로 모델성능 실습하다가 질문드립니다
model = Pipeline([("ploy", PolynomialFeatures(degree = 3)),
("linear", LinearRegression())])
X = np.arange(4).reshape(2,2)
y = polynomial_func(X)
model = model.fit(X,y)
여기서 질문은
("ploy", PolynomialFeatures(degree = 3) 에서 따로 transform 을 안해줘도 Pipeline 에서 자동으로 변환 해주나요??
-------------------------------
+ 추가 질문입니다 (실습하다 보니 질문이 늘어나네요.. ㅠㅠ)
boston 주택가격 예측 실습할때
1) lr.fit(X_train, y_train) 식으로 train_test_split 로 데이터를 나눠서 모델 학습하는경우가 있고
2) rt_regressor.fit(feature, label) 이런식으로 모든피처와 label 을 학습하는 경우가 있는데
위 둘의 차이가 무엇인가요??
제가 생각하기로는 2)번 같은경우는 회귀계수를 구하기 위해 전체 데이터를 학습했다고 해석했는데 이러면
coeff_ 메서드 같은 경우도 전체 데이터를 학습한 회귀계수라 해석해도 되나요??
++ 항상 좋은강의 감사드립니다 :)
답변을 작성해보세요.
0
권 철민
지식공유자2021.11.15
안녕하십니까,
1. 아래에서 보시면 2)에서 poly가 아니라 ploy로 객체 변수를 할당하였습니다만, 혹 그것 때문 아닌지요?
1) poly = PolynomialFeatures(degree = 3).fit_transform(X) --> 이렇게 실행하면 오류안뜸
2) ploy = PolynomialFeatures(degree = 3)
poly.fit_transform(X) --> Expected 2D array, got scalar array instead 오류발생
2. 여기서 질문은
("ploy", PolynomialFeatures(degree = 3) 에서 따로 transform 을 안해줘도 Pipeline 에서 자동으로 변환 해주나요??
=> 네, 맞습니다. pipeline에서 PolynomialFeatues와 같은 Transformer 객체들을 fit()을 하면 자동으로 transform()을 적용해 줍니다.
3.
1) lr.fit(X_train, y_train) 식으로 train_test_split 로 데이터를 나눠서 모델 학습하는경우가 있고
2) rt_regressor.fit(feature, label) 이런식으로 모든피처와 label 을 학습하는 경우가 있는데
위 둘의 차이가 무엇인가요?? 제가 생각하기로는 2)번 같은경우는 회귀계수를 구하기 위해 전체 데이터를 학습했다고 해석했는데
=> 네, 맞습니다. 큰 차이는 없고 2)의 경우는 큰 의미가 있다기 보다는 전체 데이터 기반으로 전반적인 회귀 계수를 구해보기 위함입니다.
coeff_ 메서드 같은 경우도 전체 데이터를 학습한 회귀계수라 해석해도 되나요??
=> 네, 전체 데이터로 학습했으면, 전체 데이터를 기준으로한 회귀 계수가 coef_ 속성으로 저장됩니다.
감사합니다.
답변 1