-
sklearn-11 regression 2 decison tree regressor머신러닝/sklearn 2023. 5. 10. 18:07
1. decision tree regressor
결정 트리 모델은 데이터의 불순도를 최소화하는 방향으로 분기를 생성한다.
2. python
from sklearn.tree import DecisionTreeRegressor dt_regr= DecisionTreeRegressor(max_depth=5)
결정 트리 모델을 불러오고 변수의 깊이를 설정한다.
dt_regr.fit(X_train['s6'].values.reshape((-1,1)), y_train) DecisionTreeRegressor DecisionTreeRegressor(max_depth=5) y_pred = dt_regr.predict(X_test['s6'].values.reshape((-1,1)))
데이터를 학습하고 라벨값을 예측한다.
print('단순 결정 트리회귀 r2:{:}'.format(r2_score(y_test,y_pred))) 단순 결정 트리회귀 r2:0.1381258997489918
r2 점수를 확인한다.
line_x = np.linspace(np.min(X_test['s6']),np.max(X_test['s6']), 10) line_y = dt_regr.predict(line_x.reshape((-1,1))) print(line_x) print(line_y) plt.scatter(X_test['s6'], y_test, s=10,c='k') plt.plot(line_x,line_y,c='red') plt.legend(['test data sample','regression line']) [-0.12948301 -0.10002803 -0.07057305 -0.04111806 -0.01166308 0.0177919 0.04724688 0.07670187 0.10615685 0.13561183] [118.41176471 118.41176471 118.41176471 125.75 118.63636364 150.42857143 197.57692308 202.66666667 202.66666667 263. ]
그래프를 그린다.
mt_regre = DecisionTreeRegressor(max_depth=5) mt_regre.fit(X_train, y_train) y_pred = mt_regre.predict(X_test) print('다중결정트리회귀 r2:{:}'.format(r2_score(y_test,y_pred))) 다중결정트리회귀 r2:0.2810509056350068
다중결정트리회귀의 r2 점수를 확인한다.
'머신러닝 > sklearn' 카테고리의 다른 글
sklearn-13 clustering 1 kmeans (0) 2023.05.10 sklearn-12 regression 3 svr (0) 2023.05.10 sklearn-10 regression 1 linear regression (0) 2023.05.10 sklearn-09 classification 4 ramdom forest (0) 2023.05.10