u++の備忘録

python

AtCoder Beginner Contest 122をPythonで解く

「AtCoder Beginner Contest 122」に出て、全完でした。A問題で誤読して2WAして号泣スタートでしたが、最後が精進していたDP問題だったので何とか取り戻せた形です。atcoder.jp A - Double Helix(100点) 4通りの場合分け 対応を空目して2WAしたので、明日…

AtCoder Grand Contest 031 AをPythonで解く

「AtCoder Grand Contest 031」に出て、1完でした。atcoder.jp A - Colorful Subsequence(200点) 総当たりで解くとTLE アルファベットを1文字ずつ数え上げて計算する N = int(input()) S = input() M = 10**9 + 7 cnt = [0] * 26 for i in range(N): cnt[o…

AtCoder Beginner Contest 121をPythonで解く

「AtCoder Beginner Contest 121」に出て、3完でした。atcoder.jpC問題まで順調に解けたのですが、D問題でTLEした後、O(1)の解法が分かりませんでした。 A - White Cells(100点) h個の行とw個の列をそれぞれ一番端まで動かしても答えは変わらない H, W = l…

コルモゴロフ-スミルノフ検定を利用した特徴量選択

はじめに コルモゴロフ-スミルノフ検定を利用した特徴量選択 コルモゴロフ-スミルノフ検定とは 特徴量選択にどう活用する? Kaggle Kernel おわりに はじめに えじさんの下記記事を読んで「コルモゴロフ-スミルノフ検定を利用した特徴量選択」が気になりまし…

ABC015「C - 高橋くんのバグ探し」をPythonで解く

ABC014「C - 高橋くんのバグ探し」をPythonで解いた。atcoder.jp愚直に全通りをfor文で回す解答もあるが、競技プログラミングをPythonで解く上で、より汎用的な解法に落とし込めたので、まとめておく。 解答 import itertools from functools import reduce …

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何となく書いたボヤキだったのですが、ありがたいことに次のリプライを頂きました。休日フラグ…