机器学习有可能帮助解决企业和世界各地的各种问题。一般来说,开发机器学习模型并将该模型部署到可以操作使用的状态需要对编程有扎实的理解,并对其背后的算法有扎实的理解。这将机器学习的使用限制在一小部分人中,因此也限制了可以解决的问题数量。幸运的是,在过去的几年里,出现了许多库和工具,它们减少了模型开发所需的代码量,或者在某些情况下完全消除了它。这为非数据科学家(例如分析师)打开了利用机器学习功能的潜力,并允许数据科学家更快地制作模型原型。以下是我最喜欢的一些用于机器学习的低代码工具。PyCaretPyCaret是Scikit-learn和XGBoost等流行机器学习库的Python包装器。它只需几行代码就可以将模型开发成可部署状态。Pycaret可以通过pip安装。有关更详细的安装说明,请参阅PyCaret文档。pipinstallpycaretPyCaret有一个公共数据集存储库,可以使用pycaret.datasets模块直接安装。可以在此处找到完整列表,但出于本教程的目的,我们将使用一个非常简单的数据集来解决称为“葡萄酒”数据集的分类任务。PyCaret库包含一组用于所有常见机器学习问题的模块,包括:分类。返回。聚类。自然语言处理。关联规则挖掘。异常检测。要创建分类模型,我们需要使用pycaret.classification模块。创建模型非常简单。我们只需使用模型ID作为参数调用create_model()函数。您可以在此处找到受支持模型及其对应ID的完整列表。或者,您可以在导入适当的模块后运行以下代码以查看可用模型的列表。frompycaret.classificationimport*models()>可用于分类的模型快照。图片由作者提供。在调用create_model()之前,您首先需要调用setup()函数来为您的机器学习实验指定合适的参数。您可以在此处指定测试序列拆分的大小以及是否在实验中实施交叉验证等内容。frompycaret.classificationimport*rf=setup(datadata=data,target='type',train_size=0.8)rf_model=create_model('rf')create_model()函数会自动推断数据类型并使用默认方法来处理它们。当您运行create_model()时,您将收到以下输出,其中显示了推断的数据类型。>图片由作者提供。PyCaret将使用一组默认的预处理技术来处理分类变量和估算缺失值等问题。但是,如果您需要更自定义的数据解决方案,您可以将它们指定为模型设置中的参数。在下面的示例中,我将numeric_imputation参数更改为使用中位数。frompycaret.classificationimport*rf=setup(datadata=data,target='type',numeric_imputation='median')rf_model=create_model('rf')当您对参数感到满意时,按回车键,模型将最终确定并执行结果将显示在网格中。>图片由作者提供。PyCaret还有一个plot_model()函数,它显示模型性能的图形表示。plot_model(rf_model)>图片由作者提供。本教程刚刚展示了使用PyCaret库进行模型训练的基础知识。还有更多功能和模块可提供完整的低代码机器学习解决方案,包括特征工程、模型调优、持久化和部署。BigQueryML谷歌在2018年发布了一个名为BigQueryML的新工具。BigQuery是谷歌的云数据仓库解决方案,旨在为数据分析师和科学家提供对大量数据的快速访问。BigQueryML是一种工具,可以仅使用SQL直接从BigQuery数据仓库开发机器学习模型。自发布以来,BigQueryML已经发展到支持最常见的机器学习任务,包括分类、回归和聚类。您甚至可以导入自己的Tensforflow模型以在该工具中使用。根据我自己的经验,BigQueryML是一个非常有用的工具,可以加速模型原型制作,也可以用作基于生产的系统来解决简单的问题。为了简要介绍该工具,我将使用一个名为成人收入数据集的数据集来说明如何在BigQueryML中构建和评估逻辑回归分类模型。该数据集在UCI机器学习存储库中可用,我使用以下Python代码将其下载为CSV文件。url_data='https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data'column_names=['age','workclass','fnlwgt','education','educational-num','婚姻状况','职业','关系','种族','性别','资本收益','资本损失','每周工作时间','本国','income']adults_data=pd.read_csv(url_data,names=column_names)adults_data.to_csv('adults_data.csv')这是一个用于下载数据并将其导出为CSV文件的脚本。如果您还没有GoogleCloudPlatform(GCP)帐户,可以在此处创建一个。最初注册时,您将获得300的免费信用额度,足以试用以下示例。进入GCP后,从下拉菜单导航到BigQuery网页界面。如果您是第一次使用GCP,则需要创建一个项目并使用BigQuery对其进行设置。Google快速入门指南在这里提供了很好的概述。我之前下载的CSV文件可以直接上传到GCP中来创建表。>图片由作者提供。您可以通过单击侧边栏中的表名称并选择预览来检查表中的数据。现在,成人数据就是BigQuery中的数据。>图片由作者提供。要基于此数据训练模型,我们只需编写一个SQL查询,从表(*)中选择所有内容,将目标变量(收入)重命名为标签,并添加逻辑以创建名为“adults_log_reg”的逻辑回归模型表。有关所有型号选项,请参阅此处的文档。CREATEMODEL`mydata.adults_log_reg`OPTIONS(model_type='logistic_reg')ASSELECT*,ad.incomeASlabelFROM`mydata.adults_data`ad如果我们点击现在将出现在数据表旁边边栏中的模型,我们可以看到贡献培训效果评价。>图片由作者提供。现在我们可以使用模型使用ML.PREDICT函数进行预测。Fastai像Tensorflow这样流行的深度学习框架是出了名的陡峭学习曲线,对于初学者或非数据科学家来说可能很难启动和运行。fastai库提供了一个高级API,允许您使用几行简单的代码来训练神经网络。Fastai与Pytorch一起使用,因此您需要先安装这两个库才能使用它。pipinstallpytorchpipinstallfastaifastai库具有用于处理结构化和非结构化数据(例如文本或图像)的模块。在本教程中,我们将使用fastai.tabular.all模块来解决我们之前使用的葡萄酒数据集的分类任务。与PyCaret类似,fastai将通过嵌入层对非数字数据类型进行预处理。为了准备数据,我们使用TabularDataLoaders辅助函数。在这里,我们指定数据框的名称、列的数据类型以及我们希望模型执行的预处理步骤。要训??练神经网络,我们只需使用tabular_learner()函数,如下所示。dl=TabularDataLoaders.from_df(data,y_names="type",cat_names=['quality'],cont_names=['fixedacidity','volatileacidity','citricacid','residualsugar','chlorides','freesulsulfurdioxide','totalsulfurdioxide','density','pH','sulphates','alcohol'],procs=[Categorify,FillMissing,Normalize])运行此代码后,将显示性能指标。>图片由作者提供。要使用模型进行预测,您可以简单地使用learning.predict(df.iloc[0])。
