https://github.com/taijizuomantou/machine_learning_zhouzhihua
常用:
1.f = csv.reader(open("watermelon3_0_Ch.csv","r"))
2.enumerate
3.concatenate
np.concatenate((px1,px2,np.ones((50,1))),axis = 1)
4. np.where(ans > 0.5,"是","否")
5.import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(x,y,z,c = 'r')
px1 = np.linspace(0.0, 1.0, num=50).reshape(50,1)
px2 = np.linspace(0.0, 1.0, num=50).reshape(50,1)
px1,px2=np.meshgrid(px1,px2)#必须有
ax.plot_surface(px1, px2,z,rstride=1, cstride=1, cmap=plt.cm.coolwarm)
plt.show()
需要注意的问题:
1.关于shape为(3,)这种情况。此时如果无法通过reshape,resize,定义成(3,1)。当np.dot(x,x.T)时,结果是一个数。可以通过reshape((-1,1))解决。shape为(3,1)时普通加减乘操作后得到的结果往往是一维数组的形式需要特别注意。
2.注意绘3d面一定要有px1,px2=np.meshgrid(px1,px2) 只要在将x,y,z写在一起之前有就行