LightGBMのインストールのエラーに戸惑った話
事件の発生
LightBGMというライブラリを公式の手順に従ってインストールしようとしたらエラーメッセージが突如現れた。 github.com
またインストールするときにスムーズに行くように記録を残しておく。
どんなエラーが出たか
$ cmake ..
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/CMakeDetermineCCompiler.cmake:48 (message): Could not find compiler set in environment variable CC: gcc-7. Call Stack (most recent call first): CMakeLists.txt:9 (PROJECT) CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!
gccまわりの設定がうまく行ってないみたいな?
ずいぶん前に別のマシーンにインストールしたときもこれではない別の問題でインストールに苦戦したような気もする…これだからpipだけでインストールできないやつは...
どうやって解決したか
公式の手順
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM export CXX=g++-7 CC=gcc-7 # replace 7 with version of gcc installed on your machine mkdir build ; cd build cmake .. make -j4
これの2行目を
export CXX=g++-8 CC=gcc-8
に変えることで、無事インストールできた。コメントアウトに# replace 7 with version of gcc installed on your machine
って書いてくれてるし、自分のgccのバージョンに合わせれば平気そう。
2018/07/03現在、下記のコマンドを書き換えた2行目の前に入れておけば、すでに古いgccが入っていても平気なはず…?(未検証)
brew upgrade gcc
追記2018/08/03
別のマシーンでまたまたハマりました。
さらに追記
condaを用いているなら、かなり楽にインストールできる
conda install -c conda-forge lightgbm
Jupyter notebookで変数一覧を常に出す方法
- はじめに
- 変数一覧を出す方法
- おわりに
はじめに
RStudioやMATLABを使ったことのある方ならわかると思うが、今扱っている変数を一望する機能がある。 RStudioならばこんな感じ。
RStudioならGlobal Environmentと書いてあり、MATLABならばWorkspaceと書いてあるやつだ。
jupyter notebookでも%whosと打つと、変数の一覧が表示されるが自動更新はされない。いちいち%whosと打つのはめんどくさい。
めちゃくちゃぐぐると、一応Jupyter notebookでもRStudioなどと同じように変数一覧を出す拡張機能があるようで、あまり知られていないようなので、共有する。
変数一覧を出す方法
続きを読むPythonでForward Selection (mlxtend)
- 背景
- Sequential Feature Selector
- まず、forward selectionを行ってみる。
- sequential feature algorithms (SFAs)
- 1. Sequential Forward Selection (SFS)
- 2. Sequential Backward Selection (SBS)
- 3. Sequential Forward Floating Selection (SFFS)
- 4. Sequential Backward Floating Selection (SBFS)
- 選択手法の切り替え
- 他の便利機能
- feature selectionしてるときの詳細
- 扱う特徴の数と性能のプロット
- transform
- GridSearch
- さいごに
背景
前に変数選択(feature selection)をまとめたが、その中のForward Selectionはsklearnでは実装されていなかった。
ググるとsklearnのissueで実装しろって突っ込まれてる。(2016年3月ってことはもう実装する気がない?)
そしたらRでやれって話なんですが、できるなら慣れたPythonでやりたい...
続きを読むimbalanced-learnを実際に使った分析例 使わない場合と比較
- はじめに
- データの説明
- 分析の流れ
- 分析
- 1. どういう判別器を用いたら良いか。
- 2. 変数選択をする。
- 3. imblearnでオーバーサンプリングとアンダーサンプリングを行う。
- 4. インバランスを考慮しなかった場合と性能を比較する。
- 5. 分析結果
- まとめ
imbalanced-learnの機能の紹介
変数選択(Feature Selection)の実装と改善の確認
- はじめに
- 実験設定
- 目的
- 用いるデータ
- 用いる変数選択手法
- 用いる判別器
- 評価指標
- 行わないこと
- 実験設定
- データを少し見てみる
- すべての特徴を用いた場合
- Filter Method
- 目視により選択
- sklearn.feature_selection.SelectKBestによる選択
- Wrapper Method
- sklearn.feature_selection.RFECVによる選択
- Borutaによる変数選択
- 実験結果
- まとめ