Python sklearn的管道函数用于自建函数

Python sklearn的管道函数用于自建函数,python,scikit-learn,Python,Scikit Learn,功能如下: def lin_fit(): data=pd.read_csv('Advertising.csv') x=data[:,1] y=data[:,3] output_array= np.zeros(12) for j in range(2,14): model_fit_new=sp.polyfit(x,y,j, full=True) print(model_fit_new[1]) output

功能如下:

def lin_fit():

    data=pd.read_csv('Advertising.csv')

    x=data[:,1]
    y=data[:,3]
    output_array= np.zeros(12)
    for j in range(2,14):

        model_fit_new=sp.polyfit(x,y,j, full=True)
        print(model_fit_new[1])
        output_array[j-2]= model_fit_new[1]

    return output_array
管道功能:内置函数输入器和我自己的函数LINU fit

estimator = Pipeline([("imputer", Imputer(missing_values=0,
                                      strategy="mean",
                                      axis=0)), ("linear_fit", lin_fit())])
我得到以下错误:

TypeError:不可损坏的类型


从管道文档:

按顺序应用变换列表和最终估计器。管道的中间步骤必须是“变换”,也就是说,它们必须实现拟合和变换方法。最终估计器只需要实现拟合


所以你必须实现这些方法。您可能还必须遵守其他sklearn约定,例如继承自BaseEstimator,并确保在类的init中明确列出所有参数。

来自管道文档:

按顺序应用变换列表和最终估计器。管道的中间步骤必须是“变换”,也就是说,它们必须实现拟合和变换方法。最终估计器只需要实现拟合

所以你必须实现这些方法。您可能还必须遵守其他sklearn约定,例如继承自BaseEstimator,并确保在类的init中明确列出所有参数