ValueError:マスクされた配列は1-Dである必要があります



Valueerror Masked Arrays Must Be 1 D



numpyを使用して散布図を描画すると、上記の問題が発生します。 (「機械学習-アルゴリズムの原則とプログラミングの実践」7ページ)

元のコードは次のとおりです。



import numpy as np import matplotlib.pyplot as plt dataSet=np.random.rand(2,10) dataSet=np.mat(dataSet)#1 print(dataSet) plt.scatter(dataSet[0],dataSet[1])#2 plt.show()

解決

次のような多くの方法があります
1.#1のコードを削除します(言っていないことを意味しているようです)
2.#2がplt.scatter(dataSet[0].tolist(),dataSet[1].tolist())に変更されます
またはplt.scatter(array(dataSet[0]),array(dataSet[1].tolist()))

私のは方法2です



type(dataSet[0])==<class 'numpy.matrixlib.defmatrix.matrix'> Is the matrix object is not one-dimensional (1-D)
  • 1

画像

元のテキスト:http://blog.csdn.net/nima1994/article/details/78727483