懒人预测
懒人预测可以帮助您用少量代码构建大量基本模型,并且无需任何参数调优就能了解哪些模型表现更好。
- 免费软件:MIT许可证
- 文档:https://lazypredict.readthedocs.io
安装
安装懒人预测:
pip install lazypredict
使用
在项目中使用懒人预测:
import lazypredict
分类
示例:
from lazypredict.Supervised import LazyClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
data = load_breast_cancer()
X = data.data
y= data.target
X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=.5,random_state =123)
clf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None)
models,predictions = clf.fit(X_train, X_test, y_train, y_test)
print(models)
模型 | 准确率 | 平衡准确率 | ROC AUC | F1分数 | 耗时 |
---|---|---|---|---|---|
线性支持向量分类器 | 0.989474 | 0.987544 | 0.987544 | 0.989462 | 0.0150008 |
随机梯度下降分类器 | 0.989474 | 0.987544 | 0.987544 | 0.989462 | 0.0109992 |
多层感知机分类器 | 0.985965 | 0.986904 | 0.986904 | 0.985994 | 0.426 |
感知机 | 0.985965 | 0.984797 | 0.984797 | 0.985965 | 0.0120046 |
逻辑回归 | 0.985965 | 0.98269 | 0.98269 | 0.985934 | 0.0200036 |
交叉验证逻辑回归 | 0.985965 | 0.98269 | 0.98269 | 0.985934 | 0.262997 |
支持向量机 | 0.982456 | 0.979942 | 0.979942 | 0.982437 | 0.0140011 |
校准分类器交叉验证 | 0.982456 | 0.975728 | 0.975728 | 0.982357 | 0.0350015 |
被动攻击分类器 | 0.975439 | 0.974448 | 0.974448 | 0.975464 | 0.0130005 |
标签传播 | 0.975439 | 0.974448 | 0.974448 | 0.975464 | 0.0429988 |
标签扩散 | 0.975439 | 0.974448 | 0.974448 | 0.975464 | 0.0310006 |
随机森林分类器 | 0.97193 | 0.969594 | 0.969594 | 0.97193 | 0.033 |
梯度提升分类器 | 0.97193 | 0.967486 | 0.967486 | 0.971869 | 0.166998 |
二次判别分析 | 0.964912 | 0.966206 | 0.966206 | 0.965052 | 0.0119994 |
直方图梯度提升分类器 | 0.968421 | 0.964739 | 0.964739 | 0.968387 | 0.682003 |
岭回归分类器交叉验证 | 0.97193 | 0.963272 | 0.963272 | 0.971736 | 0.0130029 |
岭回归分类器 | 0.968421 | 0.960525 | 0.960525 | 0.968242 | 0.0119977 |
AdaBoost分类器 | 0.961404 | 0.959245 | 0.959245 | 0.961444 | 0.204998 |
极随机树分类器 | 0.961404 | 0.957138 | 0.957138 | 0.961362 | 0.0270066 |
K近邻分类器 | 0.961404 | 0.95503 | 0.95503 | 0.961276 | 0.0560005 |
装袋分类器 | 0.947368 | 0.954577 | 0.954577 | 0.947882 | 0.0559971 |
伯努利朴素贝叶斯 | 0.950877 | 0.951003 | 0.951003 | 0.951072 | 0.0169988 |
线性判别分析 | 0.961404 | 0.950816 | 0.950816 | 0.961089 | 0.0199995 |
高斯朴素贝叶斯 | 0.954386 | 0.949536 | 0.949536 | 0.954337 | 0.0139935 |
Nu支持向量机 | 0.954386 | 0.943215 | 0.943215 | 0.954014 | 0.019989 |
决策树分类器 | 0.936842 | 0.933693 | 0.933693 | 0.936971 | 0.0170023 |
最近中心分类器 | 0.947368 | 0.933506 | 0.933506 | 0.946801 | 0.0160074 |
极端树分类器 | 0.922807 | 0.912168 | 0.912168 | 0.922462 | 0.0109999 |
检查分类器 | 0.361404 | 0.5 | 0.5 | 0.191879 | 0.0170043 |
虚拟分类器 | 0.512281 | 0.489598 | 0.489598 | 0.518924 | 0.0119965 |
回归
示例:
from lazypredict.Supervised import LazyRegressor
from sklearn import datasets
from sklearn.utils import shuffle
import numpy as np
boston = datasets.load_boston()
X, y = shuffle(boston.data, boston.target, random_state=13)
X = X.astype(np.float32)
offset = int(X.shape[0] * 0.9)
X_train, y_train = X[:offset], y[:offset]
X_test, y_test = X[offset:], y[offset:]
reg = LazyRegressor(verbose=0, ignore_warnings=False, custom_metric=None)
models, predictions = reg.fit(X_train, X_test, y_train, y_test)
print(models)
模型 | 调整后R方 | R方 | 均方根误差 | 耗时 |
---|---|---|---|---|
支持向量回归 | 0.83 | 0.88 | 2.62 | 0.01 |
装袋回归器 | 0.83 | 0.88 | 2.63 | 0.03 |
Nu支持向量回归 | 0.82 | 0.86 | 2.76 | 0.03 |
随机森林回归器 | 0.81 | 0.86 | 2.78 | 0.21 |
XGBoost回归器 | 0.81 | 0.86 | 2.79 | 0.06 |
梯度提升回归器 | 0.81 | 0.86 | 2.84 | 0.11 |
极限树回归器 | 0.79 | 0.84 | 2.98 | 0.12 |
AdaBoost回归器 | 0.78 | 0.83 | 3.04 | 0.07 |
直方图梯度提升回归器 | 0.77 | 0.83 | 3.06 | 0.17 |
泊松回归器 | 0.77 | 0.83 | 3.11 | 0.01 |
LightGBM回归器 | 0.77 | 0.83 | 3.11 | 0.07 |
K近邻回归器 | 0.77 | 0.83 | 3.12 | 0.01 |
决策树回归器 | 0.65 | 0.74 | 3.79 | 0.01 |
多层感知器回归器 | 0.65 | 0.74 | 3.80 | 1.63 |
Huber回归器 | 0.64 | 0.74 | 3.84 | 0.01 |
伽玛回归器 | 0.64 | 0.73 | 3.88 | 0.01 |
线性支持向量回归 | 0.62 | 0.72 | 3.96 | 0.01 |
岭回归交叉验证 | 0.62 | 0.72 | 3.97 | 0.01 |
贝叶斯岭回归 | 0.62 | 0.72 | 3.97 | 0.01 |
岭回归 | 0.62 | 0.72 | 3.97 | 0.01 |
变换目标回归器 | 0.62 | 0.72 | 3.97 | 0.01 |
线性回归 | 0.62 | 0.72 | 3.97 | 0.01 |
弹性网络交叉验证 | 0.62 | 0.72 | 3.98 | 0.04 |
Lasso交叉验证 | 0.62 | 0.72 | 3.98 | 0.06 |
Lasso最小角回归信息准则 | 0.62 | 0.72 | 3.98 | 0.01 |
Lasso最小角回归交叉验证 | 0.62 | 0.72 | 3.98 | 0.02 |
最小角回归 | 0.61 | 0.72 | 3.99 | 0.01 |
最小角回归交叉验证 | 0.61 | 0.71 | 4.02 | 0.04 |
随机梯度下降回归器 | 0.60 | 0.70 | 4.07 | 0.01 |
Tweedie回归器 | 0.59 | 0.70 | 4.12 | 0.01 |
广义线性回归器 | 0.59 | 0.70 | 4.12 | 0.01 |
弹性网络 | 0.58 | 0.69 | 4.16 | 0.01 |
Lasso | 0.54 | 0.66 | 4.35 | 0.02 |
RANSAC回归器 | 0.53 | 0.65 | 4.41 | 0.04 |
正交匹配追踪交叉验证 | 0.45 | 0.59 | 4.78 | 0.02 |
被动攻击型回归器 | 0.37 | 0.54 | 5.09 | 0.01 |
高斯过程回归器 | 0.23 | 0.43 | 5.65 | 0.03 |
正交匹配追踪 | 0.16 | 0.38 | 5.89 | 0.01 |
极端树回归器 | 0.08 | 0.32 | 6.17 | 0.01 |
虚拟回归器 | -0.38 | -0.02 | 7.56 | 0.01 |
Lasso Lars | -0.38 | -0.02 | 7.56 | 0.01 |
核岭回归 | -11.50 | -8.25 | 22.74 | 0.01 |