小编Dav*_*ora的帖子

我如何使用 scikit learn 迭代 python 中的模型“列表”?

我构建了一个显示单个模型的一些评估指标的函数,现在我想将此函数应用于我估计的模型池。

旧函数的输入是:

OldFunction(code: str, x, X_train: np.array, X_test: np.array, X:pd.DataFrame)
Run Code Online (Sandbox Code Playgroud)

在哪里:

code 是一个字符串,用于创建数据框的列名
x 是模型名称
X_train 和 X_test 是数据分割器的 np.arrays
X 是整个数据的数据框

为了估计模型池的指标,我尝试通过在函数中添加循环并将模型放入列表中来修改函数。

但这不起作用。

出现问题是因为我无法迭代模型列表,那么我有什么选择呢?你有什么想法吗?

我将新功能留在下面。

import numpy as np
import pandas as pd
from sklearn.metrics import roc_curve, auc
from sklearn.metrics import accuracy_score, recall_score, precision_score
from sklearn.model_selection import cross_val_score

def displaymetrics(code: list, models: list, X_train: np.array, X_test: np.array, X: pd.DataFrame):
    for i in models:      
        
        y_score = models[i].fit(X_train, y_train).decision_function(X_test)
        fpr, tpr, _ = roc_curve(y_test, y_score)
        roc_auc = auc(fpr, tpr)
        
        # Traditional …
Run Code Online (Sandbox Code Playgroud)

python function machine-learning scikit-learn logistic-regression

3
推荐指数
1
解决办法
8537
查看次数