报错ImportError:cannot import name 'fetch_openml' from 'sklearn.datasets'及问题解决方案

对多层感知机权重在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也同步升级),升级后不再报错。

你可能感兴趣的:(ML,sklearn,python,MLP,Visualization,of,MLP,weights,o,spyder)