u++の備忘録

python

「diverta 2019 Programming Contest」をPythonで解く

A〜Dまで解きました。atcoder.jp A - Consecutive Integers(100点) サンプルなど、実際に具体的な数字で考えると良い N, K = list(map(int, input().split())) print(N - K + 1) B - RGB Boxes(200点) r, gを固定したときにbが答えとなり得るか(割り切…

Kaggle Kernel (Jupyter Notebook) でログを別ファイルに出力する

本記事では、Kaggle Kernel (Jupyter Notebook) でログを別ファイルに出力する方法を紹介します。「Jupyter Notebook形式での出力が大量になると見づらいので、別ファイルに吐き出したい」などの需要を想定しています。 方法 loggerでファイルに書き込んでい…

コロケーションの指標「C-value」のPython実装

概要 論文 要旨 C-valueの算出アルゴリズム 計算の具体例 実装 概要 コロケーション("Read a newspaper", "Write a blog" など、慣習的に用いられる英単語の組み合わせ)を抽出したい 以下のブログで紹介されていたコロケーションの指標「C-value」をPython…

遺伝的アルゴリズムで平成から令和に変えてみる

遺伝的アルゴリズムを用いて 'HEISEI' という文字列を 'REIWA' に変えてみました。平成(HEISEI)から令和(REIWA)に遺伝的アルゴリズムで変換するプログラム書いた pic.twitter.com/LefqiaPYBM— u++ (@upura0) April 30, 2019 開始時 終了時 ルール 'HEISEI' …

Tenka1 Programmer Beginner Contest 2019をPythonで解く

atcoder.jp A - On the Way(100点) 必ずしもA A = list(map(int, input().split())) if (A[0] < A[2] < A[1]) or (A[1] < A[2] < A[0]): print("Yes") else: print("No") B - *e**** ********e* *e****e* ****e**(200点) 問題文の通りに実装 N = int(inp…

AtCoder Beginner Contest 124をPythonで解く

予定があったので、リアルタイムでは参加できませんでした。atcoder.jp A - Buttons(100点) AとBを1回ずつ取る場合は、A==Bのときのみ それ以外は同じのを連続で取る A, B = list(map(int, input().split())) if (A == B): print(A + B) else: print(max(A…

AtCoder Beginner Contest 123をPythonで解く

「AtCoder Beginner Contest 123」を解きました(リアルタイムでは参加できませんでした)。atcoder.jp A - Five Antennas(100点) 一番大きい座標と小さい座標の差がKより大きいかで条件分岐 最初問題文のa~eの不等号を見落としていたので無駄にmax, minを…

「Kaggleに登録したら次にやること ~ これだけやれば十分闘える!Titanicの先へ行く入門 10 Kernel ~」を書いた

先日「Kaggleに登録したら次にやること ~ これだけやれば十分闘える!Titanicの先へ行く入門 10 Kernel ~」という記事の初版を公開しました。qiita.com初めてQiitaに記事を書いたのですが、ありがたいことにTwitter含め大きな反響を頂きました。新年度に心…

「累積和を何も考えずに書けるようにする!」をPythonで解く

「累積和を何も考えずに書けるようにする!」という記事に記載されていた計5問をPythonで解きました。Pythonだと、itertools.accumulateを利用することで1次元累積和が簡単に記述できます。最近話題の「累積和」について色々書いてみました!!!累積和は、…

AtCoder「エクサウィザーズ 2019」をPythonで解く

AtCoder「エクサウィザーズ 2019」に出て、2完でした。atcoder.jpABCのA, B問題を全て埋めていた甲斐があり、3分で2完できました。C問題はTLEが取れませんでした。昼休みに2問解いて、ABCのA, B埋め完了〜C, Dも仕上げていくぞ pic.twitter.com/KNsTUJsJ7a— …

「典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ 」をPythonで解く

2月下旬に「典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ 」の前半7問をPythonで解きました。ABCのD問題で時折出題されるDPの感覚をザックリと掴むことができました。qiita.com 1 ナップサック DP とは 問題 1: 最大和問題 2…

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…