代码如下:
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()
分析:
代码中biao标红部分,_doc_应该是双下划线,对于初学者来说容易不注意导致报错,应该改为__doc__。
更改后不再报错