pyhaya’s diary

機械学習系の記事をメインで書きます

Dockerを動かしてみる

Dockerを勉強し始めたので、学習記録としてまとめておきます。内容は基本的に knowledge.sakura.ad.jp のDocker入門で勉強したものを基礎としており、自分が引っかかったとことを付け足して書いています。 環境 Dockerのインストール Dockerイメージをダウン…

ABC022-B Bumble Beeを解く

今回のエントリーはAtCoder Beginners Contestの過去問を扱います。今回扱うのは第22回のコンテストのB問題です。B問題にしては入力が大きく、計算量を意識するよい練習となります。 問題文 考察 戦略1 戦略2 解答例(C++14) 戦略1 戦略2 解答例(Python 3) 戦…

Tensorflowで犬猫画像分類する

最近Tensorflowを勉強していて、試しに定番の(?)犬猫の画像分類をしてみました。僕がやったことをまとめると CNN tf.kerasは使わない TFRecordにデータを保存してそこからデータを引っ張り出してくる もちろんBatch こんな感じのことを書きます。なのでこの…

Google Cloud Platform (GCP)を気軽に勉強する

久しぶりのエントリーです。今日はGoogle Cloud Platform (GCP)について書いてみたいと思います。 GCPというのは、Googleが提供するクラウド上のインフラサービスで、簡単なウェブサービスから、ビッグデータ解析、機械学習など幅広い用途に使えることから今…

Djangoで家計簿のWebアプリケーションを作る8 Chartjsを使ってグラフを描画する

久しぶりのエントリーです。今回は前々から言っていた、JavaScriptを用いたグラフの描画を行います。これまではPythonのMatplotlibを使ってSVG画像を作り、それをページに表示してきました。これをChartjsを使って書き直すことで、グラフ上にカーソルを移動…

「How Google Works」を読んだ

Kindleで何か面白そうな本ないかなと探していたら、「How Google Works」という本を見つけました。Googleといえば知らない人がいないほどのIT分野の巨人ですよね。Googleでは社員はどのように働いているのか、そこに興味があって購入してみました。How Googl…

AtomとVSCodeのJupyter Notebook環境を比較した

仕事でよくJupyter Notebookを使ってのデータ解析を行うのですが、最近いちいちブラウザでNotebookを起動するのが面倒になってきました。そこでエディタを使ってJupyter Notebookを使おうと思って色々調べていたら、AtomとVSCodeを使うのがどうやらよさそう…

機械学習を原理から理解する 回帰

機械学習をただ使うだけでなく、どのような原理で動いているのか理解するために数学的な観点からちゃんとアルゴリズムを見てみます。前回は線形回帰の記事を書きました。 pyhaya.hatenablog.com今回は、前回の線形回帰のアルゴリズムを拡張して、高次の回帰…

機械学習を原理から理解する 線形回帰

最近始めた機械学習の理論的な話の3つめです。相変わらず線形の話が続きます。過去記事を下に貼っておきます。pyhaya.hatenablog.com pyhaya.hatenablog.com今回は、前回までの分類アルゴリズムとは異なり、回帰アルゴリズムについて書きます。 回帰とは 線…

機械学習を原理から理解する パーセプトロン

内容的には、前回の記事の続き的な感じになります。 pyhaya.hatenablog.com今回は、二値分類をパーセプトロンを使って実装します。パーセプトロンといえば、ニューラルネットワークやディープラーニングの基本という感じの学習器です。前回に引き続き、理論…

Kaggleのタイタニックデータの解析

Kaggleの定番データセットといえば「タイタニックの生存者予測」です。今回は生存者の予測を目指して解析を行っていきたいと思います。データの可視化について詳しい説明は前回記事で書いているのでそちらを参照してください。 Titanic: Machine Learning fr…

機械学習を原理から理解する 線形分類

最近、機械学習がブームでPythonを使えばだれでも簡単に学習器を作れるようになってきましたね。Pythonはライブラリが充実しているのでモデルについて何も知らなくでも機械学習をできます。私も別に仕事で機械学習を使っているわけではないのでそのような状…

ABC012 B 入浴時間 を解いた

今回は、AtCoder Beginners Contest 012 のB問題を解きましたのでまとめておきます。この問題は特別アルゴリズム等が必要なわけではなく、難しくもないのですが、ゼロ埋めが必要で、私がこれをよく忘れるので、備忘録的な感じで書きました。 beta.atcoder.jp…

Kaggleのデータセットで遊んでみた 2 

前回の続きで、Titanicのデータセットで分析の基礎を学びます。 年齢と生存の関係を見てみる コードの説明 性別と生存率の関係 コードの説明 複数の指標を同時に比較してみる バイオリンプロット ペアプロット ヒートマップ 年齢と生存の関係を見てみる 前回…

Djangoで家計簿のWebアプリケーションを作る 7 ビューをクラスを使って整理する

Djangoで家計簿のWebアプリケーションを作っています。 ビューが汚い リファクタリング ビューの機能とは無関係の部分を抽出する ビュークラスを使う ビューが汚い ここまで様々な機能を実装してきました。その結果、views.pyの中身がだいぶ見づらくなってし…

Kaggleのデータセットで遊んでみた 1 データの可視化

Kaggleとは、機械学習とデータサイエンスのプラットフォームのことです。このサイトでは、様々なデータを使って自分で分析を行うことができたり、データ解析のコンペティションに参加して精度を競い合ったりすることができます。今回はKaggleの中で最初に出…

「テスト駆動開発」をPythonで書き直してみた 7

書籍「テスト駆動開発」をPythonで書き直したシリーズです。前回の記事はこちらです。 pyhaya.hatenablog.com今回は、いよいよ多国通貨を扱うための準備に取り掛かります。テスト駆動開発作者: Kent Beck,和田卓人出版社/メーカー: オーム社発売日: 2017/10/…

AtCoder Beginners Contest (ABC) 011 C: 123引き算 を解いた

競技プログラミング初心者が初心者向けに問題の解説を行います。 使用環境 問題文 例 単純に考える 満点解法 使用環境 Windows10 Visual Studio 2017 問題文 今回挑戦するのは、次の問題です。 あなたは、友人から、一人用のゲームを紹介されました。最初に…

「データサイエンティスト ハッチングフェス by アビームコンサルティング・神戸製鋼所」に参加した

ハッチングフェスに参加 techplay.jp今日はDataShipさんが主宰するデータサイエンス系のハッチングフェスに参加してきました。ここでは、企業でのデータサイエンスの活用状況のほか、アイデアソンを行いました。このイベントの参加企業はタイトルにもありま…

Djangoで家計簿のWebアプリケーションを作る 6 HTMLを整理する

Djangoで家計簿のWebアプリケーションを作る記事の第6弾です。今回は、実際に表示されるHTMLの部分を整理していきます。 前回の記事はこちら pyhaya.hatenablog.com 前後の月へのリンクを張る money/templates/money/index.html {% load static %} <html> <head> <meta charset="utf-8"> <title>House</title></meta></head></html>…

Djangoで家計簿のWebアプリケーションを作る 5 テストを書く

DjangoでWebアプリケーションを作る解説記事です。今回のトピックはテストです。今更感がすごいですが、だいぶコードが増えてきたのでテストを書いてくさびを打っておきます。前回の記事 pyhaya.hatenablog.com モデルのテスト URLのテスト モデルのテスト f…

「テスト駆動開発」をPythonで書き直してみた 6

書籍「テスト駆動開発」をPythonで書き直してみたシリーズの第6弾です。すでに書籍のコードとは大きく乖離し始めていますが一応参考書籍は明示しておきます。過去の記事はこちらです。 pyhaya.hatenablog.com テスト駆動開発作者: Kent Beck,和田卓人出版社/…

PythonでC拡張を書く

Pythonは速度で見ると早いとは言えない言語です。しかし、C言語による拡張を書くことができて、それにより速度を大幅に上昇させることができます。よく言語の速さを比較するのに使われるフィボナッチ数列を使ってピュアPythonとC拡張の速度の比較を行います…

AtCoder Beginners Contest (ABC) 002 C: 罠 を解いた

AtCoder Beginners Contest,通称ABCを解いてそれを解説します。自分も競技プログラミングは初心者なので、簡単な問題をわかりやすく解説していこうと思います。もしよかったらTwitterフォローお願いします。 問題文 解法(Python3) 解法(C++14) 問題文 神の恵…

Djangoで家計簿のWebアプリケーションを作る 4 日ごとの支出額を可視化する

Djangoで家計簿のアプリケーション作ってみた、という記事の4つ目です。今回は日ごとの支出をmatplotlibでグラフ化します。Webアプリでグラフを作る場合にはJavascriptに便利なツールがそろっているのですが、Javascriptは現在勉強中なので今回はmatplotlib…

LeetCodeを使ってアルゴリズムの勉強&面接対策

今回は、LeetCodeというプログラミングの学習サイト兼就活・転職サイトを紹介したいと思います。 LeetCode - The World's Leading Online Programming Learning Platform どんなサイトか 機能 アルゴリズム 面接対策 オンラインジャッジ ユーザー同士の議論…

「テスト駆動開発」をPythonで書き直してみた 5

書籍「テスト駆動開発」をPythonで書き直してみたシリーズの5です。前回は、DollarクラスとFrancクラスの親クラスとしてMoneyクラスを作り、重複したコードを親クラスへ引き上げました。 pyhaya.hatenablog.comテスト駆動開発作者: Kent Beck,和田卓人出版社…

「テスト駆動開発」をPythonで書き直してみた 4

書籍「テスト駆動開発」をPythonで書き直してみたシリーズです。過去の記事はこちらです。「テスト駆動開発」をPythonで書き直してみた - pyhaya’s diary「テスト駆動開発」をPythonで書き直してみた 2 - pyhaya’s diarypyhaya.hatenablog.comテスト駆動開発…

Djangoで家計簿のWebアプリケーションを作る 3 カテゴリー選択を可能にする

家計簿アプリの続きです。これからグラフを表示することを考えて、ユーザー入力欄に支出のカテゴリーを選択する欄を追加します。 開発環境 モデルにカテゴリーを追加する。 フォームを変更する ビューを変更する テンプレートを変更する データベースを更新…

「テスト駆動開発」をPythonで書き直してみた 3

名著「テスト駆動開発」をPythonで書き直してみたシリーズの第三弾です。過去の記事はこちらです。pyhaya.hatenablog.com pyhaya.hatenablog.com テストを書きなおす __eq__を書き直す テストコードを再び見直す まとめ テストを書きなおす 今までのテストは…