第一次接触lightgbm框架解决基础的多分类问题,用的是自带的鸢尾花数据集。
在JupyterLab进行python代码的编写。
关于JupyterLab第一天调试时候遇到了一些报错,比如在pip install 时要选好运行环境,我当时在main环境下加载这些包,但在python3的环境里进行运行,导致报错浪费了很多时间。如下图片
代码实现部分:
# 加载数据
iris = datasets.load_iris()
print(iris) // datasets自带的数据集已经把特征和数据分好了可以直接在数组里分着调用
X = iris.data //150行4列的数组
y = iris.target // 一个关于种类[0 1 2 2 1 2.....]的数组
iris_train = iris.data
iris_target = iris.target
labels = iris.target_names
//将数据集分割成训练集和测试级
X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.2)
//在字典里对lightgbm的一些参数的设定
params = {
'task': 'train',
'boosting_type': 'gbdt', # 设置提升类型
'objective': 'multiclass',
'metric' : {'multi_logloss'}, # 评估函数
'num_leaves': 31, # 叶子节点数
'learning_rate': 0.05, # 学习速率
'feature_fraction': 0.9, # 建树的特征选择比例
'bagging_fraction': 0.8, # 建树的样本采样比例
'bagging_freq': 5, # k 意味着每 k 次迭代执行bagging
'verbose': -1 , # <0 显示致命的, =0 显示错误 (警告), >0 显示信息
'num_class': 3,
} # 目标函数a%matplotlib inline
//将数据集转化为lgb的dataset形式
train_data=lgb.Dataset(X_train,label=y_train)
validation_data=lgb.Dataset(X_test,label=y_test)
//对模型进行训练
clf=