你可能不知道的 7 个 Scikit-Learn 秘密

作为具备 Python 编程技能的数据科学家,我们经常使用 Scikit-Learn。它是一个机器学习软件包,通常会先教给新用户,然后可以直接用于生产环境。然而,它所教授的大部分内容都是基础的实现,而 Scikit-Learn 蕴含着许多改进我们数据工作流程的秘诀。

本文将探讨 Scikit-Learn 中你可能不知道的七个秘密。闲话少叙,让我们开始吧。

1.概率校准

一些机器学习模型分类任务模型为每个类别提供概率输出。概率估计输出的问题在于它不一定经过良好校准,这意味着它不能反映输出的实际可能性。

例如,你的模型可能提供了 95% 的“欺诈”类别输出,但只有 70% 的预测是正确的。概率校准旨在调整概率以反映实际可能性。

校准方法有很多种,但最常见的是 S 型函数校准和保序回归。以下代码使用 Scikit-Learn 在分类器中校准该技术。

from sklearn.calibration import CalibratedClassifierCV
from sklearn.svm import SVC

svc = SVC(probability=False)
calibrated_svc = CalibratedClassifierCV(base_estimator=svc, method='sigmoid', cv=5)
calibrated_svc.fit(X_train, y_train)
probabilities = calibrated_svc.predict_proba(X_test)

只要模型能够提供概率输出,你就可以更改它。该方法允许你在“S 型”或“等渗”之间切换。

例如,这是一个具有等渗校准的随机森林分类器。

from sklearn.calibration import CalibratedClassifierCV
from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier(random_state=42)
calibrated_rf = CalibratedClassifierCV(base_estimator=rf, method='isotonic', cv=5)
calibrated_rf.fit(X_train, y_train)
probabilities = calibrated_rf.predict_proba(X_test)

如果您的模型没有提供所需的预测,请考虑校准您的分类器。

2. 功能联盟

我们接下来要探索的秘密是特征联合的实现。如果你还不了解,特征联合是一个 Scikit 类,它提供了一种将多个转换器对象组合成一个转换器的方法。

当我们想要从同一个数据集执行多个转换和提取并将它们并行用于机器学习建模时,它是一个很有价值的类。

让我们看看它们在下面的代码中是如何工作的。

from sklearn.pipeline import FeatureUnion, Pipeline
from sklearn.decomposition import PCA
from sklearn.feature_selection import SelectKBest
from sklearn.svm import SVC

combined_features = FeatureUnion([
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值