更简易的机器学习-pycaret的安装和环境初始化
1、安装
pip install pycaret
在谷歌colab中还要运行:
from pycaret.utils import enable_colab
enable_colab()
2、获取数据
(1)利用pandas库加载
import pandas as pd
data = pd.read_csv('c:/path_to_data/file.csv')
(2)使用自带的数据
from pycaret.datasets import get_data
data = get_data('juice')
数据集列表:
Dataset |
Data Types |
Default Task |
Target Variable |
# Instances |
# Attributes |
---|---|---|---|---|---|
anomaly |
Multivariate |
Anomaly Detection |
None |
1000 |
10 |
france |
Multivariate |
Association Rule Mining |
InvoiceNo, Description |
8557 |
8 |
germany |
Multivariate |
Association Rule Mining |
InvoiceNo, Description |
9495 |
8 |
bank |
Multivariate |
Classification (Binary) |
deposit |
45211 |
17 |
blood |
Multivariate |
Classification (Binary) |
Class |
748 |
5 |
cancer |
Multivariate |
Classification (Binary) |
Class |
683 |
10 |
credit |
Multivariate |
Classification (Binary) |
default |
24000 |
24 |
diabetes |
Multivariate |
Classification (Binary) |
Class variable |
768 |
9 |
electrical_grid |
Multivariate |
Classification (Binary) |
stabf |
10000 |
14 |
employee |
Multivariate |
Classification (Binary) |
left |
14999 |
10 |
heart |
Multivariate |
Classification (Binary) |
DEATH |
200 |
16 |
heart_disease |
Multivariate |
Classification (Binary) |
Disease |
270 |
14 |
hepatitis |
Multivariate |
Classification (Binary) |
Class |
154 |
32 |
income |
Multivariate |
Classification (Binary) |
income >50K |
32561 |
14 |
juice |
Multivariate |
Classification (Binary) |
Purchase |
1070 |
15 |
nba |
Multivariate |
Classification (Binary) |
TARGET_5Yrs |
1340 |
21 |
wine |
Multivariate |
Classification (Binary) |
type |
6498 |
13 |
telescope |
Multivariate |
Classification (Binary) |
Class |
19020 |
11 |
glass |
Multivariate |
Classification (Multiclass) |
Type |
214 |
10 |
iris |
Multivariate |
Classification (Multiclass) |
species |
150 |
5 |
poker |
Multivariate |
Classification (Multiclass) |
CLASS |
100000 |
11 |
questions |
Multivariate |
Classification (Multiclass) |
Next_Question |
499 |
4 |
satellite |
Multivariate |
Classification (Multiclass) |
Class |
6435 |
37 |
asia_gdp |
Multivariate |
Clustering |
None |
40 |
11 |
elections |
Multivariate |
Clustering |
None |
3195 |
54 |
Multivariate |
Clustering |
None |
7050 |
12 |
|
ipl |
Multivariate |
Clustering |
None |
153 |
25 |
jewellery |
Multivariate |
Clustering |
None |
505 |
4 |
mice |
Multivariate |
Clustering |
None |
1080 |
82 |
migration |
Multivariate |
Clustering |
None |
233 |
12 |
perfume |
Multivariate |
Clustering |
None |
20 |
29 |
pokemon |
Multivariate |
Clustering |
None |
800 |
13 |
population |
Multivariate |
Clustering |
None |
255 |
56 |
public_health |
Multivariate |
Clustering |
None |
224 |
21 |
seeds |
Multivariate |
Clustering |
None |
210 |
7 |
wholesale |
Multivariate |
Clustering |
None |
440 |
8 |
tweets |
Text |
NLP |
tweet |
8594 |
2 |
amazon |
Text |
NLP / Classification |
reviewText |
20000 |
2 |
kiva |
Text |
NLP / Classification |
en |
6818 |
7 |
spx |
Text |
NLP / Regression |
text |
874 |
4 |
wikipedia |
Text |
NLP / Classification |
Text |
500 |
3 |
automobile |
Multivariate |
Regression |
price |
202 |
26 |
bike |
Multivariate |
Regression |
cnt |
17379 |
15 |
boston |
Multivariate |
Regression |
medv |
506 |
14 |
concrete |
Multivariate |
Regression |
strength |
1030 |
9 |
diamond |
Multivariate |
Regression |
Price |
6000 |
8 |
energy |
Multivariate |
Regression |
Heating Load / Cooling Load |
768 |
10 |
forest |
Multivariate |
Regression |
area |
517 |
13 |
gold |
Multivariate |
Regression |
Gold_T+22 |
2558 |
121 |
house |
Multivariate |
Regression |
SalePrice |
1461 |
81 |
insurance |
Multivariate |
Regression |
charges |
1338 |
7 |
parkinsons |
Multivariate |
Regression |
PPE |
5875 |
22 |
traffic |
Multivariate |
Regression |
traffic_volume |
48204 |
8 |
3、设置环境
(1)第一步:导入模块
pycaret提供以下6种模块,当你导入相应的模块之后,就将环境切换到了该环境下。
S.No |
Module |
How to Import |
---|---|---|
1 |
Classification |
from pycaret.classification import * |
2 |
Regression |
from pycaret.regression import * |
3 |
Clustering |
from pycaret.clustering import * |
4 |
Anomaly Detection |
from pycaret.anomaly import * |
5 |
Natural Language Processing |
from pycaret.nlp import * |
6 |
Association Rule Mining |
from pycaret.arules import * |
(2)第二步:初始化设置
对于PyCaret中的所有模块都是通用的,设置是开始任何机器学习实验的第一步,也是唯一的必需步骤。 除默认情况下执行一些基本处理任务外,PyCaret还提供了广泛的预处理功能,这些功能在结构上将普通的机器学习实验提升为高级解决方案。 在本节中,我们仅介绍了设置功能的必要部分。 可以在此处找到所有预处理功能的详细信息。 下面列出的是初始化设置时PyCaret执行的基本默认任务:
数据类型推断:在PyCaret中执行的任何实验都始于确定所有特征的正确数据类型。 设置函数执行有关数据的基本推断,并执行一些下游任务,例如忽略ID和Date列,分类编码,基于PyCaret内部算法推断的数据类型的缺失值插补。 执行设置后,将出现一个对话框(请参见以下示例),其中包含所有特征及其推断的数据类型的列表。 数据类型推断通常是正确的,但是一旦出现对话框,用户应查看列表的准确性。 如果正确推断了所有数据类型,则可以按Enter键继续,否则,请键入“ quit”以停止实验。
如果您由于无法正确推断一种或多种数据类型而选择输入“退出”,则可以在setup命令中覆盖它们,方法是传递categorical_feature参数以强制分类类型,而numeric_feature参数则强制数字类型。 同样,为了忽略某些功能以成为实验的一部分,您可以在设置程序中传递ignore_features参数。
注意:如果您不希望PyCaret显示确认数据类型的对话框,则可以在设置过程中以“ True”(静默)方式传递为True,以执行无人看管的实验。 我们不建议您这样做,除非您完全确定推断是正确的,或者您之前已经进行过实验,或者正在使用numeric_feature和categorical_feature参数覆盖数据类型。
数据清理和准备:设置功能会自动执行缺失值插补和分类编码,因为它们对于任何机器学习实验都是必不可少的。 默认情况下,平均值用于数字特征的插补,而最频繁使用的值或模式用于分类特征。 您可以使用numeric_imputation和categorical_imputation参数来更改方法。 对于分类问题,如果目标不是数字类型,则安装程序还将执行目标编码。
数据采样:如果样本量大于25,000,PyCaret会根据不同的样本量自动构建初步的线性模型,并提供可视化效果,以根据样本量显示模型的性能。 然后可以使用该图来评估模型的性能是否随样本数量的增加而增加。 如果不是,您可以选择较小的样本量,以提高实验的效率和性能。 请参见下面的示例,在该示例中,我们使用了pycaret存储库中的“银行”数据集,其中包含45,211个样本。
训练测试拆分:设置功能还执行训练测试拆分(针对分类问题进行了分层)。 默认的分割比例为70:30,但是您可以在设置程序中使用train_size参数进行更改。 仅在Train set上使用k倍交叉验证,才能对PyCaret中已训练好的机器学习模型和超参数优化进行评估。
将会话ID分配为种子:如果未传递session_id参数,则会话ID是默认生成的伪随机数。 PyCaret将此id作为种子分发给所有函数,以隔离随机效应。 这样可以在以后在相同或不同的环境中实现可重现性。
以下是一些例子:
分类:
from pycaret.datasets import get_data
diabetes = get_data('diabetes')
# Importing module and initializing setup
from pycaret.classification import *
clf1 = setup(data = diabetes, target = 'Class variable')
回归:
from pycaret.datasets import get_data
boston = get_data('boston')
# Importing module and initializing setup
from pycaret.regression import *
reg1 = setup(data = boston, target = 'medv')
聚类:
from pycaret.datasets import get_data
jewellery = get_data('jewellery')
# Importing module and initializing setup
from pycaret.clustering import *
clu1 = setup(data = jewellery)
异常检测:
from pycaret.datasets import get_data
anomalies = get_data('anomaly')
# Importing module and initializing setup
from pycaret.anomaly import *
ano1 = setup(data = anomalies)
自然语言处理:
from pycaret.datasets import get_data
kiva = get_data('kiva')
# Importing module and initializing setup
from pycaret.nlp import *
nlp1 = setup(data = kiva, target = 'en')
关联规则挖掘:
from pycaret.datasets import get_data
france = get_data('france')
# Importing module and initializing setup
from pycaret.arules import *
arules1 = setup(data = france, transaction_id = 'InvoiceNo', item_id = 'Description')
- 如果裸写一个goroutine pool
- 【Dev Club 分享】微信 iOS SQLite 源码优化实践
- 移动客户端中高效使用 SQLite
- 【Dev Club 分享】微信热补丁 Tinker 的实践演进之路
- Android 进程保活招式大全
- 【Dev Club 分享】H5 视频直播那些事
- Android Patch 方案与持续交付
- Linux系统下MongoDB的简单安装与基本操作
- Go语言同步(Synchronization)
- 服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站
- 【Dev Club分享】JSPatch成长之路
- Node.js新手必须知道的4个JavaScript概念
- 博客文章重新启用评论,附一键填写评论中用户信息代码生成工具
- 提升 Node.js 应用性能的 5 个技巧
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法