u++の備忘録

python

「オレシカナイトデータコンペティションvol.2」で準優勝でした

はじめに コンテストの概要 オレシカナイトとは 競技概要 ビジネス的な意義 既存の説明変数 評価指標 自分の解法 戦略 説明変数 学習モデル 結果 所感 はじめに 1月26日に、AbemaTVの実データを使ったデータ分析のコンテストに参加し、準優勝でした。本記事…

「カンマ区切りで複数要素が入った列」をpandasで集計

本記事では、「カンマ区切りで複数要素が入った列」をpandasで集計する方法を紹介します。「カンマ区切りで複数要素が入った列」とは、下記のような状況です。例えばアンケートの複数選択可の回答などで、行ごとに含まれる要素数も異なる場合が考えられます…

多クラス分類の不均衡データのdownsampling

問題設計 例えば4クラス分類で、比率が[0.5, 0.25, 0.15, 0.10]のような問題を考えます。 from sklearn.datasets import make_classification args = { 'n_samples': 100000, 'n_features': 10, 'n_informative': 3, 'n_redundant': 0, 'n_repeated': 0, 'n_…

Data Driven Developer Meetup #4 で登壇しました&全発表まとめ

はじめに スポンサーセッション 『機械学習を使ったサポート問い合わせ予測』 メインセッション 『機械学習を⽤いた⽇経電⼦版Proのユーザ分析』 『医療用語に注目した文書の類似度計算』 LT 『Bokehではじめるデータビジュアライゼーション』 『SlackへのKP…

Fizz Buzz in PyTorch

In this article, I utilize MLP(Multilayer perceptron) by PyTorch to solve Fizz Buzz problem.This challenge is highly inspired by the following page, and I use the same situation.joelgrus.comYou can see the Japanese version here:upura.haten…

PyTorchでFizzBuzz

本記事では、PyTorchのMLP(Multilayer perceptron)を用いて、FizzBuzzを解いてみます。条件設定は、以前に話題になった下記のサイトに従います。IT会社面接官:「数字を列挙し、3の倍数ならfizz、5の倍数ならbuzz、15の倍数ならfizzbuzzを出力するプログラム…

pd.read_csv()が高速化するmodin.pandas

はじめに GitHubリポジトリ 試してみた インストール ライブラリの読み込み 実験 pandas modin.pandas 未対応機能も おわりに はじめに Twitterで見かけて、全く知らなかったので試してみました。pandasのimportを置き換えるだけで、並列処理にしてくれる、m…

LightGBMでdownsampling+bagging

はじめに データセットの作成 LightGBM downsampling downsampling+bagging おわりに はじめに 新年初の技術系の記事です。年末年始から最近にかけては、PyTorchの勉強などインプット重視で過ごしています。その一環で不均衡データの扱いも勉強しました。ク…

2018年のKaggleの"leak"を眺めてみる

はじめに 2018年のKaggleでは、何かと "leak" という単語が話題になった印象があります。https://www.kaggle.com/docs/competitions#leakage今回は、Meta Kaggleのデータを分析し、2018年のコンペで話題になった "leak" を眺めてみました。Meta Kaggle 分析…

【Kaggleのフォルダ構成や管理方法】タイタニック用のGitHubリポジトリを公開しました

はじめに Kaggleのタイタニック GitHubリポジトリ 執筆の経緯 大まかな方針 参考にした情報 フォルダ構成 configs data input output features logs models notebook scripts utils 計算の実行 Git管理 おわりに はじめに 本記事では、Kaggle用フォルダ構成…

日付のフォーマットが混在するDataFrameを扱う

はじめに 今回は日付のフォーマットに関する試行錯誤のメモです。 "Zuerich monthly sunspot numbers 1749-1983" データセット 時系列データで遊びたくて "Zuerich monthly sunspot numbers 1749-1983" というデータセットをcsvでダウンロードしてみました。…

Christmas Tree Drawn with LightGBM

It is Christmas, so I painted Christmas tree with LightGBM.This post is highly inspired by the following post:tjo.hatenablog.comThe data was downloaded from the author's Github. And I added new data containing a new label representing the …

LightGBMでクリスマスツリーを描く

本記事は、kaggle Advent Calendar 2018 その2の25日目の記事です。意図的にフライングして前日の24日、クリスマスイブに投稿します。qiita.comクリスマス用の記事として、LightGBMでクリスマスツリーを描いてみました。なお「決定境界を用いて絵を描く」と…

第43回阪大AIメディカル研究会にて「野球データ分析ハッカソン準優勝解法と特徴量重要度」の題目で発表しました

はじめに 12月22日に開催された「第43回阪大AIメディカル研究会」にて「野球データ分析ハッカソン準優勝解法と特徴量重要度」の題目で発表しました。下記の記事で取り上げたハッカソンのについての発表です。upura.hatenablog.com12月21〜23日に京都・大阪に…

pandas.DataFrameに祝日の特徴量を作る

はじめに 昨日公開した下記の記事で、以下のような感想を書きました。 祝日フラグは、手動で作成したので地味に辛かった思い出があります。 upura.hatenablog.com何となく書いたボヤキだったのですが、ありがたいことに次のリプライを頂きました。休日フラグ…

signate「国立公園の観光宿泊者数予測」コンペで10位でした

本記事は、kaggle Advent Calendar 2018 その2の21日目の記事です。qiita.com はじめに 但し書き コンペの概要 関連コンペ 特徴 日付に関する特徴 公共交通検索ログデータに関する特徴 カテゴリ変数 気象データに関する特徴 使わなかったデータ モデル その…

redashのpythonデータソースでカラム名を指定する時に使える型

BIツールのredashでpythonデータソースを使う際、カラム名を指定するために以下の関数を用いる。 add_result_column(result, column_name, friendly_name, column_type) redash.ioここで4つ目の引数 "column_type" を指定した際に「この型はサポートしていま…

TF-IDFを用いた「Kaggle流行語大賞2018」【kaggle Advent Calendar 14日目】

本記事は、kaggle Advent Calendar 2018の14日目の記事です。12日目で最後の予定でしたが、穴が空いていたので2日ぶり6回目の投稿です。qiita.com はじめに 本記事では、年の瀬ということで「Kaggle流行語大賞2018」という題材に取り組みます。具体的には、…

遺伝的プログラミングによる特徴量生成でLightGBMの精度向上【kaggle Advent Calendar 11日目】

本記事は、kaggle Advent Calendar 2018の11日目の記事です。qiita.com 執筆のきっかけ 先日参加したKaggle Tokyo Meetup #5 の ikiri_DS の発表「Home Credit Default Risk - 2nd place solutions -」にて、遺伝的プログラミングで生成した特徴がLocal CV、…

『Kaggle Ensembling Guide』はいいぞ【kaggle Advent Calendar 7日目】

本記事は、kaggle Advent Calendar 2018の7日目の記事です。qiita.comTwitterでこのAdvent Calendarに書く話題を募集したところ、次のようなリプを頂きました。あと Kaggle で多用される Ensemble のテクニックに関する記事も読んでみたいです。特に Stackin…

validationの切り方いろいろ(sklearnの関数まとめ)【kaggle Advent Calendar 4日目】

本記事は、kaggle Advent Calendar 2018の4日目の記事です。qiita.com はじめに 重要な視点 scikit-learnに用意されている関数 KFold StratifiedKFold GroupKFold ShuffleSplit GroupShuffleSplit StratifiedShuffleSplit TimeSeriesSplit 回帰問題の場合 必…

Cross Validationはなぜ重要なのか【kaggle Advent Calendar 3日目】

本記事は、kaggle Advent Calendar 2018の3日目の記事ということにします。本日、このAdvent Calendarに空きがあると気付いたので、穴埋めの形で急遽記事を執筆しました。僕が遅刻したわけではありません。qiita.comTwitterでこのAdvent Calendarに書く話題…

Kaggle Tokyo Meetup #5 にて「kaggler-ja driven learning」の題目で発表しました

本記事は、kaggle その2 Advent Calendar 2018の1日目の記事だったことにしました(2018年12月11日付)。qiita.com12月1日に開催された「Kaggle Tokyo Meetup #5」にて「kaggler-ja driven learning なぜ質問に答え、どう学んでいるか」の題目でLTをしました…

AtCoderのレートが1000になりました

昨日のABC113に参加し、A〜Cの3完でレートが1018になりました。 https://beta.atcoder.jp/users/upura競技プログラミングを始めた当初、記事では明示していませんでしたがレート1000が一つの目標だったので、ひとまず嬉しいです。upura.hatenablog.com本記事…

仮説と可視化から新しい特徴量を作る Kaggleのタイタニックを例に

本記事では、Kaggleのタイタニックを例に、仮説と可視化から新しい特徴量を作る過程についてまとめます。 仮説と可視化から新しい特徴量を作る 予測精度に寄与する新しい特徴量を作成するに当たっては、仮説と可視化を繰り返す過程が大事です。 予測精度に寄…

Jリーグ2018年シーズンの勝ち点推移を可視化 pythonでデータ取得から可視化まで

2018年シーズンのJ1リーグでは、序盤にサンフレッチェ広島が独走していましたが、7月のW杯中断明けごろから失速。後半になって追い上げた昨年王者の川崎フロンターレに首位を譲る展開になっています。川崎フロンターレの驚異的な追い上げがどの程度か気にな…

「ベースボールデータハッカソン」エンジニアリング部門で準優勝しました

昨日と本日の2日間にわたって開催された「パ・リーグ×パーソル ベースボールデータハッカソン」にて、エンジニアリング部門で準優勝しました。techplay.jp賞品として、パリーグ6球団タオルセットを頂きました。ありがとうございました。本記事では、ハッカソ…

技術書典5で弊社の機械学習活用事例を紹介します

2018年10月8日に池袋サンシャインシティで開催される技術書典5に、弊社のエンジニア有志で執筆した書籍を頒布します。techbookfest.org私は第1章「機械学習を用いた日経電子版Proのユーザ分析」を担当しました。私は弊社にて、営業・マーケティング向け…

Pythonで動く形態素解析ツール「nagisa」を使ってみた

はじめに nagisaとは 使ってみた nagisaの利点 文字単位の双方向LSTMを採用しており、URLや顔文字に頑健 単語分割の方法を調整できる nagisaの課題 おわりに はじめに PyCon2018でポスター展示があったらしく、フォロワーさんの投稿で存在を知りました。形態…

ランダムフォレストなど木系のアンサンブルモデルの解釈性を高める「Feature Tweaking」

はじめに GitHub 手法の概要 論文 著者による紹介動画 日本語文献 「featureTweakPy」の使い方 Requirements Download Package import Random Forest Prediction Using function() Hyper Parameters Setting Cost Function Setting Sample Data for Demonstr…