在Spyder中,我训练了一个朴素贝叶斯分类器,用于根据降雪量和其他特征预测学校是否会停课。因此,我的疑问分为两部分。首先,如何创建一个网站,让用户可以输入降雪量和温度,当用户点击按钮时,分类器(用Python编写)能够输出一个响应?我是否必须使用Django来实现(这样所有东西都在Python中,可能会更简单)?其次,如何保存分类器,以便模型不必每次都重新训练?
回答:
回答我的第一个问题:你只需创建一个Django模型,包含两个字段,然后创建一个表单,让用户填写这两个字段。当表单提交后,将创建一个模型对象并发送到数据库。
回答我的第二个问题:在你的Python IDE中使用一个名为joblib的类(或者类似cpickle的东西),joblib或cpickle应该有一个内置的方法叫做保存分类器或类似的东西。这样,你可以将分类器实际保存为一个pkg文件。然后,将其拖到你的Django文件夹中,当你需要使用该分类器时,再次导入joblib/cpickle,并使用内置方法“load”。现在,你有一个可以部署的分类器。如果你用scikit-learn训练了分类器,所有分类器都有内置方法“predict”,所以访问用户数据库中存储的数据,然后执行classifier.predict(访问的数据)来获得预测。
这些只是需要在多个平台上具备知识的一些简单事情。