亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有屬性 loss_curve_ 的 MLPRegressor 問題

具有屬性 loss_curve_ 的 MLPRegressor 問題

搖曳的薔薇 2023-10-06 16:38:52
我想使用以下代碼繪制loss_curve:import pandas as pdimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.neural_network import MLPRegressordef plotCurves(Xtrain,ytrain,Xval,yval):    solver=["lbfgs", "sgd", "adam"]    for i in solver:        mlp=MLPRegressor(activation='relu',max_iter=1000,solver=i)        mlp.fit(Xtrain,ytrain)        pred=mlp.predict(Xval)        print (mlp.score(Xval,yval))        pd.DataFrame(mlp.loss_curve_).plot()但是,當我運行我的代碼時,出現以下錯誤:'MLPRegressor' object has no attribute 'loss_curve_'在Anaconda IDE 1.9.7版本中,當我編碼時會出現這種方法。我可以嘗試什么來解決這個問題?
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

只有隨機求解器loss_curve_才會在擬合后在估計器上公開屬性,因此在第一次迭代中,lbfgs求解器會失敗。您可以通過以下方式驗證這一點:


from sklearn.datasets import make_classification

from sklearn.neural_network import MLPRegressor


X, y = make_classification(n_samples=5)


solver=[

? ? "lbfgs",

? ? "sgd",

? ? "adam"

]


for i in solver:

? ? mlp = MLPRegressor(activation='relu',solver=i)

? ? mlp.fit(X,y)

? ? print(hasattr(mlp, "loss_curve_"))

False

True

True

如果您想訪問此屬性,您需要堅持使用 adam 或 sgd 求解器。


查看完整回答
反對 回復 2023-10-06
  • 1 回答
  • 0 關注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號