美文网首页
Scikit-Learn指南03

Scikit-Learn指南03

作者: Nefelibatas | 来源:发表于2022-03-18 11:25 被阅读0次

接上文

注意事项:
关于评估器、解释器、转化器等名词的辨析:
其实这一组概念广泛存在于不同的算法库和算法框架中,但不同的算法库对其的定义各有不同,并且sklearn对其定义也并不清晰。因此,为了统一概念,称所有的sklearn中类的调用为评估器的调用,而不区分评估器与转化器。

sklearn中的构建机器学习流

所谓机器学习流,其实就指的是将多个机器学习的步骤串联在一起,形成一个完整的模型训练流程。

在sklearn中,我们可以借助其make_pipline类的相关功能来实现,当然需要注意的是,sklearn中只能将评估器类进行串联形成机器学习流,而不能串联实用函数,并且最终串联的结果其实也等价于一个评估器。当然,这也从侧面说明sklearn评估器内部接口的一致性。

from sklearn.pipeline import make_pipeline
make_pipeline?

可以通过如下方式将模型类进行机器学习流的集成。需要注意的是,只有模型类才能参与构建机器学习流,而实用函数不行。

在make_pipeline中输入评估器的过程同时对评估器类进行参数设置
pipe = make_pipeline(StandardScaler(),LogisticRegression(max_iter=1000))

数据集切分
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)

pipe对象看成是一个完整的模型类(一个可以先执行Z-Score标准化再进行逻辑回归建模的模型),直接使用fit对其进行训练
pipe.fit(X_train, y_train)

该过程就相当于两个评估器都进行了训练,然后我们即可使用predict方法,利用pipe对数据集进行预测,当然实际过程是先(借助训练数据的统计量)进行归一化,然后再进行逻辑回归模型预测。

pipe.predict(X_test)
pipe.score(X_test, y_test)
pipe.score(X_train, y_train)

sklearn的模型保存

模型构建完毕之后,即可借助joblib包来进行sklearn的模型存储和读取,相关功能非常简单,可以使用dump函数进行模型保存,使用load函数进行模型读取

import joblib
joblib.dump?
joblib.dump(pipe,'pipe.model')
pipe1 = joblib.load('pipe.model')
pipe1.score(X_train, y_train)

相关文章

网友评论

      本文标题:Scikit-Learn指南03

      本文链接:https://www.haomeiwen.com/subject/fxtydrtx.html