신축망(Elastic-Net)
2021. 8. 10. 21:57ㆍ머신러닝
from sklearn.linear_model import ElasticNet
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
X, y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X,y)
def plot_boston_prices(expected, predicted):
plt.figure(figsize=(8,4))
plt.scatter(expected, predicted)
plt.plot([5,50],[5,50],'--r')
plt.xlabel('True price ($1,000s)')
plt.ylabel('Predicted price ($1,000s)')
plt.tight_layout()
model = ElasticNet(alpha=0.01, l1_ratio=0.5)
model.fit(X_train, y_train)
print("학습 데이터 점수: {}".format(model.score(X_train, y_train)))
print("평가 데이터 점수: {}".format(model.score(X_test, y_test)))
predicted = model.predict(X_test)
expected = y_test
plot_boston_prices(expected, predicted)
학습 데이터 점수: 0.7374278181824386
평가 데이터 점수: 0.7086049564114089
'머신러닝' 카테고리의 다른 글
라쏘 회귀(Lasso Regression) (0) | 2021.08.10 |
---|---|
릿지 회귀(Ridge regression) (0) | 2021.08.10 |
선형회귀 (Linear Regression) (0) | 2021.08.10 |
머신러닝 Machine Learning (0) | 2021.08.07 |