编写一个小功能进行功能扩展时遇到一些麻烦。
data = [115, 140, 175]
def featureScaling(arr):
for a in arr:
return (a-min(data))/float((max(data)-min(data)))
print featureScaling(data)
我知道如果数据中的所有值都相同(除零问题),则存在潜在的极端情况
我只是不知道为什么我的想法不起作用,因为min(data)
正在运作。
我收到错误:
追踪(最近一次通话): 文件" vm_main.py",第33行,in 进口主力 文件" /tmp/vmuser_czbvlzqfxl/main.py" ;,第2行,在 导入studentMain 文件" /tmp/vmuser_czbvlzqfxl/studentMain.py" ;,第29行,在 elif not compare_numbers(student_output [0],solution_output [0]): TypeError:' float'对象没有属性' getitem '
答案 0 :(得分:1)
正如Tichodroma所说,这段代码不会引发错误,但我不相信它会以任何速度按预期执行。它返回一个值但我相信你实际上希望每个数据点都缩放,因此进行了以下修改:
data = [115, 140, 175]
def featureScaling(arr):
scaled=[]
for a in arr:
scaled.append((a-min(data))/(max(data)-min(data)))
return scaled
print(featureScaling(data))
此代码提供结果[0.0, 0.4166666666666667, 1.0]