天天看點

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      

解決方案

方法很多,如

1. 去掉#1處代碼(似乎等于沒說)

2. #2改為​​

​plt.scatter(dataSet[0].tolist(),dataSet[1].tolist())​

​​

或​​

​plt.scatter(array(dataSet[0]),array(dataSet[1].tolist()))​

type(dataSet[0])==<class 'numpy.matrixlib.defmatrix.matrix'>是矩陣對象不是一維(1-D)的      

繼續閱讀