我有以下代码:
import jsonimport numpy as npprint("This is a basic machine learning thing.")baseData = {"collecting":True,"x":[],"y":[]}while baseData["collecting"]: baseData["x"].append(int(input("X:"))) baseData["y"].append(int(input("Y:"))) if input("Do you want to keep feeding data? Press enter for yes, or type anything for no.") != "": baseData["collecting"] = Falseif len(baseData["x"]) == len(baseData["y"]): xdata = baseData["x"] ydata = baseData["y"] nums = [] for i in range(len(xdata)): nums.append(xdata[i] - ydata[i]) median = np.median(nums)else: print("malformed data")def getY(x): passwhile True: data = input("X/Data:") print(float(data)+median)
我的目标是找出每个X和Y之间的差异,然后使用这些数字计算中位数(平均差异),接着将它们相加。虽然没有出现错误,但我有很大的损失。
This is a basic machine learning thing.X:10Y:50Do you want to keep feeding data? Press enter for yes, or type anything for no.noX/Data:10-30.0
结果返回了-30.0
,尽管我教它10应该返回50。有什么解决方案吗?如果你想分支这个项目或者自己尝试,你可以使用我的repl。
回答:
原来我只需要在print(float(data)+median)
处改为减法而不是加法。