win7+python2.7

1. install from pip

(1)首先需要安装 VC runtime(可编译C++的小程序):
http://download.csdn.net/download/zhouwenyuan1015/9944566
VC_redist.x64.exe
(2)安装
pip install lightgbm

2. install from GitHub

 (1) 安装CMake :https://cmake.org/download/ 
      (cmake-3.6.1-win64-x64.msi)
    手动配置path环境变量:C:\Program Files\CMake\bin
 (2) 安装MS Build工具
     https://www.microsoft.com/en-us/download/details.aspx?id=48159  (BuildTools_Full.exe)
 (3) mingw安装
    详细见http://blog.csdn.net/zhouwenyuan1015/article/details/73776627
 (4) git bash下安装lightgbm
git clone --recursive https://github.com/Microsoft/LightGBM
cd LightGBM/python-package
python setup.py install --mingw
 (5) 测试
       cmd-->python-->import lightgbm
       没有报错则显示成功

3. 案例测试

# coding: utf-8
# pylint: disable = invalid-name, C0111
import lightgbm as lgb
import pandas as pd
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import GridSearchCV

# load or create your dataset
print('Load data...')
df_train = pd.read_csv('../regression/regression.train', header=None, sep='\t')
df_test = pd.read_csv('../regression/regression.test', header=None, sep='\t')

y_train = df_train[0].values
y_test = df_test[0].values
X_train = df_train.drop(0, axis=1).values
X_test = df_test.drop(0, axis=1).values

print('Start training...')
# train
gbm = lgb.LGBMRegressor(objective='regression',
                        num_leaves=31,
                        learning_rate=0.05,
                        n_estimators=20)
gbm.fit(X_train, y_train,
        eval_set=[(X_test, y_test)],
        eval_metric='l1',
        early_stopping_rounds=5)

print('Start predicting...')
# predict
y_pred = gbm.predict(X_test, num_iteration=gbm.best_iteration)
# eval
print('The rmse of prediction is:', mean_squared_error(y_test, y_pred) ** 0.5)

print('Calculate feature importances...')
# feature importances
print('Feature importances:', list(gbm.feature_importances_))

# other scikit-learn modules
estimator = lgb.LGBMRegressor(num_leaves=31)

param_grid = {
    'learning_rate': [0.01, 0.1, 1],
    'n_estimators': [20, 40]
}

gbm = GridSearchCV(estimator, param_grid)

gbm.fit(X_train, y_train)

print('Best parameters found by grid search are:', gbm.best_params_)
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐