★☆★おすすめのUdemy講座こんにちわ!都内のベンチャー企業でデータ分析しているやじろべえです。今回はこちらの記事を見かけて何やら楽しそうなライブラリだったので早速使ってみたのでその忘備録になります。目次PyCaretとは機械学習モデル開発に必須なデータの前処理や結果のビジュアライズをたった数行のプログラミングで出来てしまう自動化ライブラリです。イメージ的にはDataRobotのような感じですね。詳細は公式ホームページを見てみてください。使ってみたインストールはこれだけ。pycaret今回はタイタニックのデータを使って試してみます。PyCaretはPandasのデータフレームにも対応しているので、Pandasで読み込んでPyCaretに放り込んでみます。pd.read_csv("./train.csv")print(df.shape)df.head()はい、kaggleのタイタニックやったことある方であれば見慣れたテーブルデータが出ました。機械学習モデルを一から作ろうと思うと通常はここから各特徴量の前処理やったり統計値見てみたりといったことが続くのですが、この工程はPyCaretに任せてみます。データ前処理タイタニックデータはSurvivedカラムが目的変数でバイナリ値になっている分類問題なので、PyCaretのclassification関数をインポートします。回帰問題にも対応していますので、興味ある方はそちらも試してみてください。データ前処理はsetup関数のたった一行。これまで一生懸命前処理やってきたのがコマンド一発だなんて。ちなみに、どんな前処理をやってくれるかというと下図のように一通り基本的な処理はやってくれるようです。setup関数の引数にはタイタニックのデータと目的変数がどのカラムかを指定してあげます。無視するカラムがある場合はignore_featuresでリストにして渡します。今回はPassengerIDが特徴量に加えないので、このカラムを無視します。['PassengerId'])すると次のような画面が出てきます。各カラムのデータ型が自動的に認識されたようです。青い枠にカーソルを移して空欄のまま”Enter”を押します。すると、自動的に前処理をPyCaretがやってくれて、無事に終了するとこんな感じの結果が表示されます。モデル作成と結果ではいよいよモデル作成して各モデルの結果を見てみます。言ってもこちらもたった一行ですが。compare_models()デフォルトでは10分割の交差検証で精度評価してくれてるようです。して無事に終わると各モデルにおけるそれぞれの評価指標の結果が自動的に表示されます。これはめちゃくちゃ楽だ。それぞれの評価指標で一番精度が良いモデルの結果に黄色マークまでつけてくれています。今回の実験ではAccuracyはCatBoostが一番精度が高く、次にLightGBMのようです。全部で15種類のアルゴリズムがサポートされています。モデルを指定してチューニングすることも出来ます。create_model関数にアルゴリズム名を指定して、tune_model関数を呼ぶだけです。ちなみに、入力するアルゴリズム名は公式ドキュメントに記載されているので、こちらを参照すればOK。tune_model('catboost')チューニング前チューニング後Accuracyは残念ながらチューニングしても精度向上は出来ませんでした。コンペでは必須となる技術であるアンサンブルやスタッキングも簡単に出来ます。アンサンブルはblend_models関数を使います。)また、アルゴリズムの引数指定しなければ全てのアルゴリズムをアンサンブルすることになります。blend_models()次にスタッキングです。キングはstack_models関数を使います。stack_models関数では複数の学習器とメタモデル用の学習器をセットするだけです。lgbm)ビジュアライズPyCaretは結果を簡単にビジュアライズ化してくれる機能も備わっています。以下はタイタニックデータを使った結果の一例です。他にもたくさんあるので公式ページをみて見てください。‘boundary’)気付いた点タイタニックデータよりももう少しデータサイズが大きいこちらのデータセットでも試してみましたが、compare_models()でSVDエラーが発生してしまいました。converge原因の詳細が何かは調べきれていませんが、少し動作に不安を感じました。追記>上記について、エラーが発生した原因がわかりました。TotalChargesカラムにおいて、スペースがある値があり、どうやらそれが悪さをしていたようです。df['TotalCharges'].astype(float)このような前処理を施してからPyCaretに放り込んだところしっかり走ってくれました。前処理を適当にやってしまった私のせいにも関わらずPyCaretのせいにしようとしてすみませんでした。おわりにDataRobotやAutoMLといった機械学習の自動化ツールがまた便利なものが一つ増えました。PyCaretを使って見た感じとしてはコーディングは最小限になるのでかなり使いやすいと感じました。ローカル環境でサクッと自動化環境が作れるのも良い点だと思います。一方でまだ動作に若干不安なところがあるので(私の環境だけ?)、ここら辺がどんどん改善されるとより使いやすくなっていきそうです。今後の更なる使いやすいさや機能面の強化に期待です!オンラインコース無料プレゼント!Pythonの基本を学んだNextステップとしてデータ分析の基礎を学んでみませんか?今回、Udemyのベストセラーコースになっているオンラインコースを今だけ無料プレゼントでプレゼントさせていただきます。今すぐ登録してプレゼントを受け取ってくださいね。それでは、コースでお待ちしております。指定時刻をunixtime変換する処理を毎回忘れてしまうので、自分への忘備録ついでに簡単にまとめます。私は子どもの頃一度読んだのですが、よく意味が分からなくて断念した記憶があります。kaggleで宇宙に関係する面白そうなコンペをあるイベントを通して知ったので、早速チャレンジしてみました。今回チャレンジしたコンペは既に終了していますが、大変興味深く面白かったので記事に残しました。世...プログラミング顔写真からジャニーズ系かEXILE系かを判定する学習モデルを深層学習を用いて作成してみた(~学習モデルの作成から評価編~)顔写真からジャニーズ系かEXILE系かを判定する学習モデルを作成してみました。全3回の記事の予定です。2/3)を掲載しています。Pythonと便利なScheduleライブラリを使って定期実行可能なWebスクレイピングをやってみます。意外とこの組み合わせの記事が見つからなかったので、記事に残しました。ソースコードはGitHubにもアップしています。...データ分析scikit-learn0.22.0から実装されたスタッキングクラスを試してみたこんにちわ。見習いデータ分析屋のやじろべえです。データ分析コンペで上位を取ろうとしたらマストテクニックになるスタッキング(stacking)ですが、これまではお手軽に使えるクラスが無かったので、パイプラインを作るのが非常に面倒でした。そんな中、scikit-learnのバージョン0.22.0からスタッキングクラスが実装されたと聞いて、早速どれだけお手軽か試してみました。宇宙開発系エンジニアが未経験からベンチャー企業の見習いデータサイエンティストに転職して1年経ちましたホーム技術忘備録データ分析Profileこのブログの管理人やじろべえUdemy受講生3,000人以上のベストセラー講師。エンジニア以外の職種の方に対してもIT/データリテラシーの向上に少しでも貢献したいという思いから、初学者にもなるべくわかりやすくかつ丁寧にプログラミングやデータサイエンスといったスキルを教えています。講師業の傍ら、ベンチャー企業の研究開発部門に在籍。ソフトウェアエンジニアリング・統計・機械学習といった技術領域でビジネス価値を生み出すための業務に従事。やじろべえをフォローする出版書籍UdemyオンラインコースUdemyにて下記のオンラインコースを公開しています。♪YAJIROBEラジオ配信中♪stand.fmでラジオ配信しています。良かったら聞きに来てください。キャリア・転職お問い合わせホーム検索トップサイドバーProfileこのブログの管理人やじろべえUdemy受講生3,000人以上のベストセラー講師。エンジニア以外の職種の方に対してもIT/データリテラシーの向上に少しでも貢献したいという思いから、初学者にもなるべくわかりやすくかつ丁寧にプログラミングやデータサイエンスといったスキルを教えています。講師業の傍ら、ベンチャー企業の研究開発部門に在籍。ソフトウェアエンジニアリング・統計・機械学習といった技術領域でビジネス価値を生み出すための業務に従事。やじろべえをフォローする出版書籍UdemyオンラインコースUdemyにて下記のオンラインコースを公開しています。♪YAJIROBEラジオ配信中♪stand.fmでラジオ配信しています。良かったら聞きに来てください。w)w.hasOwnProperty(e)&&S(e)}(),W(document,"keydown",F),document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")),w={},h=[],o=0}}});。