- Core Parameters参数
- 一、pandas是什么?
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
Core Parameters参数
| 参数 | 别名 | 默认值 | 类型 | 含义 | 选项 |
|---|---|---|---|---|---|
| config | config_file | “” | string | 配置文件路径 | |
| task | task_type | train | enum | 数据的用途 | train-用于训练 predict-用于预测 convert_model-将模型文件转换为if-else格式 refit-用于用新数据改装现有模型 save_binary-加载训练(和验证)数据,然后将数据集保存到二进制文件 |
| objective | objective_type, app, application, loss | regression | enum | 学习的任务类型 | *回归应用 regression-L2损失 regression_l1-L1损失 huber-Huber loss fair-Fair loss poisson-Poisson regression quantile-Quantile regression mape-MAPE loss gamma-Gamma regression with log-link.如对保险索赔的严重程度建模,或可能是伽马分布的目标 tweedie-Tweedie regression with log-link.如对保险中的总损失进行建模,或可能是花呢分布的目标 *二元分类应用 binary-二元对数损失分类(或逻辑回归) 需要{0,1}中的标签 *多类分类应用 multiclass-softmax目标函数 multiclassova-一对多二元目标函数 num_class也要设置 *交叉熵应用 cross_entropy-交叉熵的目标函数 cross_entropy_lambda-交叉熵的替代参数化 *排名申请 lambdarank-lambdarank目标 rank_xendcg-排名目标函数(更快) |
| boosting | boosting_type, boost | gbdt | enum | 集成学习算法 | gbdt-传统的梯度提升决策树(gbrt) rf-随机森林(random_forest) dart-Dropouts遇到多个加法回归树 goss-基于梯度的单边采样 |
| data | train, train_data, train_data_file, data_filename | “” | string | 训练数据的路径,LightGBM 将从这些数据中训练 | - |
| valid | test, valid_data, valid_data_file, test_data, test_data_file, valid_filenames | “” | string | 验证/测试数据的路径,LightGBM 将输出这些数据的指标,支持多个验证数据以‘,’ 分隔 | - |
| num_iterations | num_iteration, n_iter, num_tree, num_trees, num_round, num_rounds, nrounds, num_boost_round, n_estimators, max_iter | 100 | int | 训练的迭代次数 | >=0;通常大于100 |
| learning_rate | shrinkage_rate, eta | 0.1 | double | 收缩因子,类似于学习率,为每一棵树都添加一个收缩因子,从而减少每棵树的影响 | > 0.0;通常为0.1,0.01,0.003,0.001 |
| num_leaves | num_leaf, max_leaves, max_leaf, max_leaf_nodes | 31 | int | 每棵树的最大叶子数 | 防止过拟合;1 < num_leaves <= 131072 |
| tree_learner | tree, tree_type, tree_learner_type | serial | enum | 训练时的并行方式 | serial-不并行 feature-特征并行 data-数据并行 voting-投票并行 |
| device_type | device | cpu | enum | 训练的硬件设备 | cpu, gpu, cuda |
| seed | random_seed, random_state | None | int | 随机种子 | - |
# Learning Control参数
| 参数 | 别名 | 默认值 | 类型 | 含义 | 选项 |
|---|---|---|---|---|---|
| max_depth | - | -1 | int | 单棵树的最大深度,避免过拟合 | - |
| min_data_in_leaf | min_data_per_leaf, min_data, min_child_samples, min_samples_leaf | 20 | int | 每个叶子节点的最小样本数 ,避免过拟合 | >= 0.0 |
| min_sum_hessian_in_leaf | min_sum_hessian_per_leaf, min_sum_hessian, min_hessian, min_child_weight | 1e-3 | double | 每个叶子节点的最小二阶梯度和 ,避免过拟合 | >= 0.0 |
| bagging_fraction | sub_row, subsample, bagging | 1.0 | double | bagging迭代抽样比例,不重抽样,加速训练,避免过拟合 | 0.0 < bagging_fraction <= 1.0;进行bagging,则bagging_freq应取为非零值 |
| bagging_freq | subsample_freq | 0 | int | 执行bagging迭代次数,每次迭代,LightGBM 将随机选择 bagging_fraction * 100% 的数据用于迭代 | 进行bagging,则bagging_fraction应取值小于等于1 |
| bagging_seed | bagging_fraction_seed | 3 | int | 用于bagging的随机种子 | |
| feature_fraction | sub_feature, colsample_bytree | 1.0 | double | 每一轮迭代训练(树)时,随机选择的特征比例,加速训练,避免过拟合 | 0.0 < feature_fraction <= 1.0 |
| feature_fraction_bynode | sub_feature_bynode, colsample_bynode | 1.0 | double | 每个树节点上,随机选择的特征比例,避免过拟合 | 0.0 < feature_fraction_bynode <= 1.0 |
| feature_fraction_seed | - | 2 | int | 用于选择特征的随机种子 | |
| extra_trees | extra_tree | false | bool | 使用极其随机的树,当评估节点分裂时 LightGBM 将只检查每个特征的一个随机选择的阈值,加速训练,避免过拟合 | |
| extra_seed | - | 6 | int | 选择阈值的随机种子 | |
| early_stopping_round | early_stopping_rounds, early_stopping, n_iter_no_change | 0 | int | 控制早停的最大轮数,如果验证集上的某一评价指标在最近的early_stopping_round轮内没有提升,则停止训练,加速训练 | <=0表示没有早停控制 |
| first_metric_only | - | false | bool | LightGBM 允许您提供多个评估指标,true时,使用第一个指标进行提前停止 | |
| max_delta_step | max_tree_output, max_leaf_output | 0.0 | double | 控制输出的最大叶子数,其最大叶子数为learning_rate * max_delta_step | <= 0.0表示没有限制 |
| lambda_l1 | reg_alpha, l1_regularization | 0.0 | double | L1 正则化 | >= 0.0 |
| lambda_l2 | reg_lambda, lambda, l2_regularization | 0.0 | double | L2 正则化 | >= 0.0 |
| linear_lambda | - | 0.0 | double | (*回归)线性树正则化,对应于方程中的参数 lambda | >= 0.0 |
| min_gain_to_split | min_split_gain | 0.0 | double | 控制节叶点是否分割的最小增益,加速训练 | >= 0.0 |
| drop_rate | rate_drop | 0.1 | double | 0.0 <= drop_rate <= 1.0 | |
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤 1.引入库代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。



