这是一个新手问题,但我确实是个新手。我能很好地跟随这个关于构建预测模型的例子:
https://machinelearningmastery.com/machine-learning-in-python-step-by-step/
我的问题是,现在我已经构建了这个模型,我如何手动输入这些值来查看这是哪种鸢尾花:[5.1,3.5,1.4,0.2]。
我知道我需要使用model.predict(),但我似乎无法将数据格式化正确或使其适应。
我只是试图通过剖析这个例子来学习。谢谢你。
回答:
在进行预测部分,作者有一行代码
predictions = knn.predict(X_validation)
你传递给predict方法的参数不需要是一整张表。你也可以传递单行数据。只要确保你传递的行的方向与你训练时使用的数据相同即可。
例如,如果你使用数据框作为输入,你可能做了类似这样的事情:
pd.DataFrame({"x1": [1,4,2,1,4,1], "x2": [7,9,7,7,6,8], ...})
那么,你可以这样做
datapoint = pd.DataFrame({"x1": [1], "x2": [8], ...})
将datapoint对象通过你为准备训练数据所做的所有预处理(例如缩放器、独热编码等),然后将其传递到模型的predict方法中:
datapoint_predict = knn.predict(datapoint)