u++の備忘録

2019-01-01から1年間の記事一覧

「Sports Analyst Meetup #2」を開催しました #spoana

「Sports Analyst Meetup #2」を開催しました。実務でスポーツのデータ分析をしている方のロングトーク2本に加え、LTも10本と盛りだくさんの内容でした。spoana.connpass.com2月末に開催した初回に続く、第2回の開催です。upura.hatenablog.com発表資料はこ…

「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' …

千代田線を端から端まで歩いてみた

GWやることないから北綾瀬→代々木上原の千代田線ウォーキングチャレンジする pic.twitter.com/bsS4VdscAs— u++ (@upura0) April 28, 2019 暇だったので、普段通勤などで使っている千代田線を歩いてみることにしました。下記シリーズの第3弾です。upura.haten…

AtCoder Beginner Contest 125をPythonで解く

atcoder.jp A - Biscuit Generator(100点) Tまでに何回ビスケットが生産されるか考える 0.5は無視で良い A, B, T = list(map(int, input().split())) ans = T//A * B print(ans) B - Resale(200点) それぞれの宝石の「価値-コスト」を考え、正の宝石の値…

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…

Data Driven Developer Meetup 【番外編 好きな論文について語る会】 #1 の発表資料

これは何? ↓のイベントで話す際の資料です。d3m.connpass.com 自己紹介 事業会社のデータアナリスト&エンジニア Data Driven Developer Meetupは #4 で登壇 ブログやGitHubで読んだ論文をまとめています Many analysts, one dataset: Making transparent h…

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…

Kaggle PetFinderコンペで準優勝しました

KaggleのPetFinderコンペで準優勝しました。Solutionの概要はdiscussionで公開しています。 PetFinder.my Adoption Prediction | Kaggle

AtCoder Beginner Contest 123をPythonで解く

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

Kaggleコンペでは忘れずに「Final Submission」を選ぼう

「Santander Customer Transaction Prediction」コンペが、残り5日になりました。過去最多だった7,198 teams参加の「Home Credit Default Risk」コンペを超え、現時点でも8,650 teams参加と過去最多になっています。このコンペが「メダルが獲得できるKaggle…

Kaggle入門記事をQiitaに書きました

先日「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…

Kaggleでメダルが獲得できるコンペか否か確認する

コンペのトップページの「Tiers」部分の表記で確認できます。例えば、メダルが獲得できるpetfinderコンペでは、次のような表記です。https://www.kaggle.com/c/petfinder-adoption-prediction一方で、メダルが付与されないコンペでは、次のような表記になっ…

Kaggle CareerCon とは

はじめに Kaggle CareerCon とは Kaggle CareerCon 2018 Kaggle CareerCon 2019 おわりに はじめに 4月16〜18日に開催される「Kaggle CareerCon 2019」の早期受付が始まりました。昨年には「Kaggle CareerCon 2018」も開催されていたのですが、私が本格的にK…

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…

ブレインパッド「白金鉱業 Meetup Vol.6」にて「技術アウトプットを支える技術」の題目で発表しました

本日、ブレインパッド主催「白金鉱業 Meetup Vol.6」に登壇しました。brainpad-meetup.connpass.com題目は「技術アウトプットを支える技術」で、社会人として働きながら技術アウトプットを出そうとしている理由、そのために心掛けているTipsを紹介しました。…

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

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

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番目に「大きい」こ…

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

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

「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. アンサンブル 『機械学習のため…

「全国統一プログラミング王決定戦」イベント&懇親会に参加しました

本日開催された「全国統一プログラミング王決定戦」イベント&懇親会に参加しました。atcoder.jp↓で出場した予選の201-500位の枠(イベント&懇親会のみ参加可能)です。upura.hatenablog.com会場は東京ドームホテル 大宴会場「天空」というとても豪勢な場所…