1、
它是一个开源的框架,能够自动为机器学习模型找到最佳超参数。
最基本的替代方案或许是广为人知的那种。它会尝试诸多超参数的组合,并且会依据交叉验证来挑选出最佳的组合。
会在之前定义的空间内进行尝试组合。比如对于随机森林分类器,或许想要对几个不同树的最大深度进行测试。会给出每个超参数的所有可能值,并且会查看所有的组合情况。
在定义的搜索空间中,它会利用自身尝试的历史来确定接下来要尝试的值。它所使用的方法是一种被称作“Tree-”的贝叶斯优化算法。
这种不同的方法意味着它并非随意地尝试每一个值,而是在尝试之前先去寻找最佳候选者。这样做能够节省时间,要是不这样做,这些时间就会花费在尝试那些没有希望的替代品上,并且还可能会产生更好的结果。
它与框架无关。这表明您能够将它和 、、 或者任何其他的 ML 框架一同使用。
2、
它是一个特征选择库,能够为 ML 模型进行特征选择。观察值越少,就越要谨慎对待过多的特征,避免过度拟合。“谨慎”意味着要规范模型。通常,更简单的模型(特征更少),更易于理解和解释。
算法有 6 个不同的类别。其中包括监督过滤器。还有无监督过滤器。有包装器。有混合。有嵌入式。有集成。并且它主要关注监督过滤器。
“监督过滤器”算法有一个简单示例,即依据特征与目标变量的相关性去选择特征。并且,我们可以尝试逐个将特征删除,然后确认这些被删除的特征对模型预测能力会产生怎样的影响。
这是一个关于如何使用 及其对模型分数的影响的普通示例:
>>> from sklearn.[id_1035109222]import[id_102916472]
>>> from ITMO_FS.embedded import MOS
>>>[id_2103723008], y = make_classification(n_samples=300, n_features=10, random_state=0, n_informative=2)
>>> sel = MOS()
>>> trX = sel.fit_transform(X, y, smote=False)
>>> cl1 = SGDClassifier()
>>> cl1.fit(X, y)
>>> cl1.score(X, y)
0.9033333333333333
>>> cl2 = SGDClassifier()
>>> cl2.fit(trX, y)
>>> cl2.score(trX, y)
0.9433333333333334
它是一个相对较新的库,所以目前还不是很稳定,不过我依然建议你去尝试一下。
3、Shap-
我们目前已经看到了用于特征选择的库,也看到了用于超参数调整的库。那么,为什么不能同时使用这两者呢?这就是 shap- 的作用所在。
让我们从了解什么是“SHAP”开始:
SHAP 是一种能够用来解释任何机器学习模型输出的方法,它属于博弈论范畴。
SHAP 是被广泛使用来解释模型的库之一。它通过产生每个特征对于模型最终预测的重要性来开展工作。
一方面,shap 借助这种方法去挑选最佳特征,并且也会挑选最佳超参数。之所以要将其合并,是因为未考虑它们之间的相互作用,倘若独立地选择特征和调整超参数,可能会做出次优的选择。而同时进行这两项操作,既能顾及到这一点,又能节省一些编码时间,不过由于搜索空间的增大,可能会使运行时间有所增加。
搜索有 3 种完成方式,分别是网格搜索、随机搜索和贝叶斯搜索。并且,搜索可以进行并行化。然而,shap-只适用于梯度提升模型。
4、
它是一个开源且低代码的机器学习库,能够自动执行机器学习的工作流程。此库涵盖了探索性数据分析、数据预处理、建模(其中包含可解释性)以及其他相关方面。
让我们看看他们网站上的一些实际示例,看看它是如何工作的:
# load dataset
from pycaret.datasets import get_data
diabetes = get_data('diabetes')
# init setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')
# compare models
best = compare_models()
几行代码就能尝试多个模型,并且这些模型在整个主要分类指标中被进行了比较。
它还允许创建一个基本的应用程序来与模型进行交互:
from pycaret.datasets import get_data
juice = get_data('juice')
from pycaret.classification import *
exp_name = setup(data = juice, target = 'Purchase')
lr = create_model('lr')
create_app(lr)
最后,可以轻松地为模型创建 API 和 文件:
from pycaret.datasets import get_data
juice = get_data('juice')
from pycaret.classification import *
exp_name = setup(data = juice, target = 'Purchase')
lr = create_model('lr')
create_api(lr, 'lr_api')
create_docker('lr_api')
没有比这更容易的了,对吧?
这是一个极为完整的库,在这里难以将所有内容都涵盖其中。建议你当下就下载并开始使用它,以此来了解它在实践中的一些能力。
5、
能够从流数据集中制作出桑基图。倘若你不了解桑基图是什么,那么这里有一个示例:
在展示转化漏斗、营销旅程或者预算分配的数据时,这些数据是很有用的(以上例子)。入口数据需要采用这样的格式:“源 x 目标 x 值”,仅仅用一行代码就能够创建出这样的图(非常具体且非常直观)。
6、
如果你阅读过敏捷数据科学,就会明白拥有一个前端界面是很有帮助的,这个界面能让最终用户从项目开始就与数据进行交互。通常在其中最常用的是某种方式,但它对初学者不太友好,因为它需要多个文件以及一些 html、css 等方面的知识。
您可以通过设置输入类型,比如文本、复选框等,以及设置功能和输出,从而创建简单的界面。它虽然看起来不如可定制,但却更为直观。
现在已经加入了,能够在互联网上进行永久托管,并且是免费的。
7、
理解的最佳方式是把它当作“某种情况,但速度更快”。这不是说要完全替换某个东西并且必须重新学习如何使用 df,因为某个东西与另一个东西具有完全相同的语法。实际上,他们甚至建议“将其视为 pd”,并且继续按照之前习惯的方式进行编码。它快多少呢?他们的网站有时说它快 30 倍,有时快 10 到 100 倍。
另一个重要的方面是能够并行化并且不在本地运行。这就意味着您的 8GB RAM 笔记本电脑将不会再遇到相关问题。
它背后是如何运作的呢?一个很好理解的比喻是,他们在本地使用兼容的语法,并将其编译成计算操作,然后利用这些操作进行后端的计算。也就是说,计算并非在本地运行,而是被提交到了他们的平台上。
有什么问题呢?每月免费处理的数据最多为 1TB。若需要更多数据,就必须每月至少支付 49 美元。1TB 每月对于测试工具和个人项目来说或许是足够的,但要是用于实际公司使用,肯定需要付费。
8、-
如果你是的使用者,可以试试这个库。
它是一个辅助框架。能将繁琐且重复的训练代码进行抽象。这样数据科学家们就可以把精力集中在数据处理、创建模型以及参数优化上,而无需编写重复的训练循环代码。使用该框架,能让你的代码更简洁易读,让你的开发任务更高效。
对训练和推理过程进行了抽象整理与提取,仅需使用几行代码便能实现深度学习管道,并且能够生成完整的训练报告,同时还可以进行集成可视化。
from collections import OrderedDict
import torch
from torchhandle.workflow import BaseConpython
class Net(torch.nn.Module):
def __init__(self, ):
super().__init__()
self.layer = torch.nn.Sequential(OrderedDict([
('l1', torch.nn.Linear(10, 20)),
('a1', torch.nn.ReLU()),
('l2', torch.nn.Linear(20, 10)),
('a2', torch.nn.ReLU()),
('l3', torch.nn.Linear(10, 1))
]))
def forward(self, x):
x = self.layer(x)
return x
num_samples, num_features = int(1e4), int(1e1)
X, Y = torch.rand(num_samples, num_features), torch.rand(num_samples)
dataset = torch.utils.data.TensorDataset(X, Y)
trn_loader = torch.utils.data.DataLoader(dataset, batch_size=64, num_workers=0, shuffle=True)
loaders = {"train": trn_loader, "valid": trn_loader}
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model = {"fn": Net}
criterion = {"fn": torch.nn.MSELoss}
optimizer = {"fn": torch.optim.Adam,
"args": {"lr": 0.1},
"params": {"layer.l1.weight": {"lr": 0.01},
"layer.l1.bias": {"lr": 0.02}}
}
scheduler = {"fn": torch.optim.lr_scheduler.StepLR,
"args": {"step_size": 2, "gamma": 0.9}
}
c = BaseConpython(model=model,
criterion=criterion,
optimizer=optimizer,
scheduler=scheduler,
conpython_tag="ex01")
train = c.make_train_session(device, dataloader=loaders)
train.train(epochs=10)
定义一个模型,接着设置数据集,然后配置优化器以及损失函数,这样就能够自动进行训练了,这是否和 TF 差不多呢?
关于学习指南
学好的话,无论是用于就业还是做副业赚钱都很不错。不过,要学会的话,还是需要制定一个学习规划。最后,给大家分享一份完整的学习资料,希望能给那些想要学习的小伙伴们提供一些帮助。
包含激活码与安装包,还有 web 开发、爬虫、数据分析、人工智能以及自动化办公等方面的学习教程。能引领你从毫无基础开始,进行系统性的学习并掌握!
所有方向的学习路线
常用的技术点会被整理,形成各个领域的知识点汇总,这就是所有方向路线的内容。它的用处在于,你能够依据上面的知识点去寻找对应的学习资源,从而确保自己学得较为全面。(全套教程文末领取)
学习视频600合集
观看零基础学习视频,视频学习是快捷且有效果的方式。跟着视频中老师的思路,从基础开始逐渐深入,是很容易入门的。
温馨提示:因篇幅有限,已将相关内容打包成文件夹。获取该文件夹的方式位于文末的一个实战练手案例及源码处。
光学理论本身并无实际用处,需要学会动手去敲代码,进行实际操作,这样才能把所学知识运用到实际中。在这个过程中,可以找一些实战案例来进行学习。
大厂面试资料
我们学习的目的必然是找到高薪工作。这些面试题来自阿里、腾讯、字节等一线互联网大厂,且是最新的面试资料。同时,有阿里大佬给出了权威解答。刷完这一套面试资料后,大家相信都能找到满意的工作。
副业兼职路线&方法
学好的话,无论是用于就业还是开展副业赚钱,都很不错。然而,要学会兼职接单,还是需要制定一个学习规划。
这份完整版的全套学习资料已经被上传了。朋友们要是需要的话,就可以扫描下方 CSDN 官方认证的二维码,或者点击链接来免费领取,并且保证是 100%免费的。
点击即可免费领取《CSDN 大礼包》,这里包含入门到进阶的资料,还有实战源码以及兼职接单的方法,是安全链接,可免费领取。
版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;
工作时间:8:00-18:00
客服电话
0755-88186625
电子邮件
admin@lanyu.com
扫码二维码
获取最新动态