python|LightGBM模型

本文详细介绍了如何在Python中使用LightGBM进行机器学习建模,包括数据预处理、模型训练、参数调优及模型评估等关键步骤。LightGBM作为一款高效的梯度提升框架,以其速度快、内存占用低和准确度高等特点深受数据科学家喜爱。
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 12 16:20:17 2020

@author: weiping
"""

import xgboost as xgb
import lightgbm as lgb  
from sklearn.model_selection  import train_test_split
from sklearn.metrics import *
from sklearn.datasets import load_iris

iris = load_iris()

data_x = iris.data 
data_y = iris.target

x_tr,x_te,y_tr,y_te = train_test_split(data_x,data_y,train_size = 0.7,random_state =22)
#XGBboost模型
xgb_model = xgb.XGBClassifier()
xgb_model.fit(x_tr,y_tr)
xgb_predict = xgb_model.predict(x_te)

print("xgb准确率:" ,str(xgb_model.score(x_te,y_te)))
#print("roc_auc_score:",str(roc_auc_score(y_te,xgb_predict))) 不支持多分类
print("precision_score:",str(precision_score(y_te,xgb_predict,average = 'weighted')))
print("recall_score:" , str(recall_score(y_te,xgb_predict,average = 'weighted')))
print("f1_score:",str(f1_score(y_te,xgb_predict,average = 'weighted')))
'''
xgb准确率: 0.9333333333333333
precision_score: 0.9344662309368191
recall_score: 0.9333333
Python中调用LightGBM模型,需要经过安装库、准备数据、创建模型、训练模型和进行预测等步骤[^1][^2]。 1. **安装LightGBM库** 可以使用pip进行安装,命令如下: ```bash pip install lightgbm ``` 2. **准备数据** 通常需要将数据分为特征矩阵`X`和目标向量`y`,并将其划分为训练集和测试集。以下是一个示例代码: ```python import lightgbm as lgb from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split # 生成示例数据 X, y = make_classification(n_samples=1000, n_features=10, random_state=42) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建LightGBM数据集 train_data = lgb.Dataset(X_train, label=y_train) test_data = lgb.Dataset(X_test, label=y_test) ``` 3. **创建模型并设置参数** LightGBM有很多参数,可根据需求进行调整,这里给出一个基本示例: ```python # 定义参数 params = { 'objective': 'binary', 'metric': 'binary_logloss', 'boosting_type': 'gbdt', 'num_leaves': 31, 'learning_rate': 0.05, 'feature_fraction': 0.9 } ``` 4. **训练模型** 使用定义好的参数和数据集进行模型训练: ```python # 训练模型 num_round = 100 model = lgb.train(params, train_data, num_round, valid_sets=[test_data], early_stopping_rounds=10) ``` 5. **进行预测** 训练好模型后,就可以使用它对新数据进行预测: ```python # 进行预测 y_pred = model.predict(X_test) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值