對多層感覺機權重在MINIST資料集上的可視化實作實驗中,遇到報錯。
首先,代碼如下:
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_openml
from sklearn.neural_network import MLPClassifier
print(__doc__)
X,y=fetch_openml('mnist_784',version=1,return_X_y=True)
X=X/255.
X_train,X_test=X[:60000],X[60000:]
y_train,y_test=y[:60000],y[60000:]
mlp=MLPClassifier(hidden_layer_sizes=(50,),max_iter=10,alpha=1e-4,solver='sgd',verbose=10,tol=1e-4,random_state=1,learning_rate_init=.1)
mlp.fit(X_train,y_train)
print("Training set score:%f"% mlp.score(X_train,y_train))
print("Test set score:%f"% mlp.score(X_test,y_test))
fig,axes=plt.subplots(4,4)
vmin,vmax=mlp.coefs_[0].min(),mlp.corfs_[0].max()
for coef,ax in zip(mlp.coefs_[0].T,axes.rave()):
ax.matshow(coef.reshape(28,28),cmap=plt.cm.gray,vmin=.5*vmin,vmax=.5*vmax)
ax.set_xticks(())
ax.set_yticks(())
plt.show()
報錯ImportError:cannot import name 'fetch_openml' from 'sklearn.datasets',一般對于這種ImportError,需要更新對應的第三方庫(spyder也同步更新),更新後不再報錯。