u++の備忘録

python

AtCoder Beginner Contest 120をPythonで解く

atcoder.jp A - Favorite Sound(100点) 満足する回数Cを無視すると、答えは(B//A) この数よりCが小さければ、答えはC A, B, C = list(map(int, input().split())) ans = min((B//A), C) print(ans) B - K-th Common Divisor(200点) K番目に「大きい」こ…

「Sports Analyst Meetup #1 」を開催&発表しました #spoana

はじめに 開催の背景 当日の発表内容 初心者向けスポーツ分析チュートリアル「目標達成に導くデータ分析」 LT 閉会後も・・・ おわりに はじめに 「Sports Analyst Meetup #1」を昨日2月24日に開催しました。多くの方に「楽しかった」と言っていただき、運営…

AtCoder Beginner Contest 119をPythonで解く

「AtCoder Beginner Contest 119」に出て、3完でした。atcoder.jpC問題の実装に苦しみ、時間をほぼ使ってクソコードで通しました。 A - Still TBD(100点) 文字列の比較 S = input() if S <= "2019/04/30": print("Heisei") else: print("TBD") B - Digital…

Kaggleにおける「特徴量エンジニアリング」の位置づけ 〜『機械学習のための特徴量エンジニアリング』に寄せて〜

はじめに 『機械学習のための特徴量エンジニアリング』の書誌情報 Kaggleのワークフロー 1. (探索的データ分析) 2. ベースラインモデルの構築 3. Validationの構築 4. 特徴量エンジニアリング 5. ハイパーパラメータ調整 6. アンサンブル 『機械学習のため…

ABC014「B - 価格の合計」をPythonで解く

ABC014「B - 価格の合計」をPythonで解いた。atcoder.jp 解法 AtCoder Beginner Contest 014 解説 from AtCoder Inc. 解答 N, X = list(map(int, input().split())) a = list(map(int, input().split())) ans = 0 for i in range(N): if (X>>i)&1 == 1: ans …

AtCoder Beginner Contest 118をPythonで解く

「AtCoder Beginner Contest 118」に出て、3完でした。atcoder.jpCは実装に確証が持てておらず、かつコードも汚いので解説などで勉強します。Dは方針が立ちそうでしたが「ちょうどN本のマッチ棒を使って」という条件で分からなくなりました。 A - B +/- A(1…

初心者向けスポーツ分析チュートリアル「目標達成に導くデータ分析」 | Sports Analyst Meetup #1

2019年2月24日開催「Sports Analyst Meetup #1」の「初心者向けスポーツ分析チュートリアル」を担当します。本記事では、事前に発表資料を公開します。connpass.com「目標達成に導くデータ分析」と題して、スポーツアナリストの定義や分析の基礎的な話をまと…

AtCoder「みんなのプロコン2019」をPythonで解く

「みんなのプロコン2019」に出て、3完でした。atcoder.jpC問題のテストケースが一つだけWAになる理由が分からず、1時間以上を浪費しました。レートが下がって悲しいです。 A - Anti-Adjacency(100点) 偶数・奇数で場合分け "Yes"ではないことに注意する N,…

pandasで協定世界時(UTC)を日本標準時(JST)に変換

はじめに 既存データ(協定世界時)を眺める 日本標準時に変換 おわりに はじめに 前回の記事で、iOS標準アプリ「ヘルスケア」からデータを書き出しcsvに変換する方法を紹介しました。upura.hatenablog.comただし、このデータでは協定世界時(UTC)に準拠した…

iOS標準アプリ「ヘルスケア」からデータを書き出しcsvに変換

はじめに データの概要 データの取り出し方 ヘルスケアアプリからXMLファイルを書き出す XMLファイルをcsvファイルに変換する 分析例 おわりに はじめに 本記事では、iOS標準アプリ「ヘルスケア」からデータを書き出し、csvに変換する方法をまとめます。 デ…

「オレシカナイトデータコンペティション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…