美文网首页
lgb的categorical_feature

lgb的categorical_feature

作者: 张虾米试错 | 来源:发表于2021-04-27 08:58 被阅读0次

在lightgbm中对categorical feature有专门的处理,但是需要标明哪些特征是categorical类型;另外在执行config文件也有相应的参数categorical_feature,可见LightGBM parameters.
如果是python API, 是通过pandas标明category,如下:

import pickle
import datetime
import json

import xgboost as xgb
import lightgbm as lgb
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn import cross_validation
from sklearn import metrics
from sklearn.linear_model import LogisticRegression

def categorize(X, cols):
    """
    输入: X pd数据
           cols 需要变换的列
    输出:变换好的X
    """
    for col in cols:
        X[col] = X[col].astype("category")  
    return X

def train_lgb(path_X, path_y):
    """
    训练lgb模型
    输出:lgb模型文件
    """
    #从csv中读取提取好的特征,如果没有对应的csv,需要先执行gen_data()
    X = pd.read_csv(path_X)
    cols = ['x1', 'x2'] #只是作为例子
    X = categorize(X, cols) #需要category的列
    del X['pv'] #这里的pv选成了new_resblock_pv,暂时不加上,改过来之后删除这一行
    label = pd.read_csv(path_y, header=None) #不需要header,不然会少一行
    label = label[0].tolist() #不会有警告
    train_X,test_X,train_y,test_y = train_test_split(X, label, test_size = 0.2, random_state = 2019)    
    #利用类别型特征需要标注出来,目前是auto
    clf = lgb.LGBMClassifier(objective='binary', max_depth=4, learning_rate=0.3,  n_estimators = 300, verbosity = -1, metric = 'auc')
    clf.fit(train_X, train_y)
    pred = clf.predict_proba(test_X)[:, 1]
    #计算AUC
    auc = metrics.roc_auc_score(test_y, pred)
    pred_train = clf.predict_proba(train_X)[:, 1]
    auc_train = metrics.roc_auc_score(train_y, pred_train)
    print "train_auc:", auc_train
    print "test_auc:", auc
    #保存模型
    model_name = 'lgb' + datetime.datetime.now().strftime('%Y-%m-%d-%H_%M') + '.model'
    print model_name
    clf.booster_.save_model(DIR + "model/" + model_name )
    return clf

相关文章

  • lgb的categorical_feature

    在lightgbm中对categorical feature有专门的处理,但是需要标明哪些特征是categoric...

  • lgb

    参考网址:https://www.cnblogs.com/jiangxinyang/p/9337094.html

  • 算法整理

    lgb输出参数重要性 lgb模型保存 K-means聚类算法demo 神经网络处理kaggle比赛数据 pytor...

  • 绘图常用

    matplotlib 分类变量 饼图 箱型图 lgb

  • 三大树模型

    lgb1 lig2 随机森林 xgboost

  • 逾期的青春——LGB

    一 吴言走进教室的时候,里面已经坐满了人,他悄悄找到后排的一个位子坐下。 这是高二年级新学期的第一天。由于刚刚文理...

  • 孤独的梦. —— LGB

    想背上行囊,乘着动车去远方,看一看那个城市的繁华。 可能习惯于流浪的生活,骨子里带着不羁和洒脱。喜欢在城市的某个角...

  • lgb 修改 feval 、fobj

    fobj https://www.cnblogs.com/chenxiangzhen/p/10962983.htm...

  • 【转】XGBoost和LGB参数对比

    原文:https://blog.csdn.net/zwqjoy/article/details/90637423[...

  • (⊙o⊙)…

    [cp]#LGB试穿间# 四大主题之复古试穿间是目前最受新娘喜爱的,还可以在伦敦风浓郁的大厅和走廊拍摄试纱,复古味...

网友评论

      本文标题:lgb的categorical_feature

      本文链接:https://www.haomeiwen.com/subject/hwxkyqtx.html