采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
二维数组如果不改成浮点型为什么得出来的结果全是0或1
我不确定你的程序哪里有问题,你可以参考这一小节的课程代码,现在自己的环境下运行,看看是不是有一样的问题?如果没有,再看一看自己的代码哪里有问题:https://git.imooc.com/coding-169/coding-169/src/master/04-kNN/07-Feature-Scaling/07-Feature-Scaling.ipynb
注意,在 In[6] 中,我们将 X 的 dtype 改为 float,以能存储浮点型。
继续加油!:)
x_2 = np.random.randint(0, 100, (50, 2)) x_2 = np.array(x_2, dtype=float) # 归一化 for i in range(x_2.shape[1]): x_2[:, i] = (x_2[:, i] - np.min(x_2[:, i])) / (np.max(x_2[:, i]) - np.min(x_2[:, i])) print(x_2) x_2 = np.array(x_2, dtype=float)这一行若注释掉,print出来x_2只有0或1,为什么会这样
因为 nparray 默认的 dtype 是 int64。在做 array 之间的运算的时候,dtype 不会自动转换。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14