在python中复制预测模型

时间:2019-06-23 00:40:35

标签: python scikit-learn

在我的预测python代码中

我使用sklearn预测模型(KNN,RandomForest,LinearRegression等)

在循环中尝试找到最佳的超参数优化。

一旦找到要复制训练模型

的最佳参数,

我该怎么做?

for k in range(1,10):
    knn = KNeighborsClassifier(n_neighbors=k)
    ...
    #some code to fit and train the model here and find the accuracy
    ...
    if accuracy > top_accuracy:
         top_accuracy = accuracy
         top_knn = knn <==== ?


# code to fit top_knn with a new test dataset

用受过训练的模型复制受过训练的模型吗,有什么办法可以确保我的模型具有受过训练的数据

2 个答案:

答案 0 :(得分:0)

scikit-learn包含用于超参数调整的组件(请参阅https://scikit-learn.org/stable/modules/grid_search.html)。示例代码为here。可以通过clf.best_estimator_访问在搜索过程中找到的最佳模型。

答案 1 :(得分:0)

您在使用sklearn吗?每次训练时,KNN对象都会保留最新的拟合功能。如果要记录新拟合是否比上一个拟合更好,我只需创建一个新类并将模型对象分配给它:

class foo:
    __init__(self,model,accuracy):
        self.current = model
        self.accuracy = accuracy

if accuracy > foo.accuracy:
    foo.current = model