コンピュータサイエンスで有名なアルゴリズムのPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルのデータ構造やアルゴリズムから機械学習やブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw
みなさん、ムーンサルトり!事業開発部の塩谷 (@kwappa) です。 預言の書「こんにちはマイコン」 いきなり昔話で恐縮ですが、1982年に発行された「こんにちはマイコン」という本をご存知でしょうか。当時大人気だった「ゲームセンターあらし」というマンガのキャラクターが、ブームに火がつきかけていた「マイコン(今でいうパソコン)」でプログラミングに入門する、という作品です。 同じくこの年から刊行された「ベーマガ」こと「マイコンBASICマガジン」とともに、少年たちをマイコンの道へと導き、現在でも活躍する多くのエンジニアがはじめてプログラミングに触れるきっかけとなった、おおげさにいえば「預言の書」です。もちろんぼくもそのクチで、「こんにちはマイコン」で興味を持つ(取り上げられていたNEC PC-6001は結局入手できなかった)→「ベーマガ」でBASICに入門する(X1turboでした)→現在に
教師なし学習はラベル付けされていないデータから学習する機械学習の一種です。現在の機械学習では大量のラベル付きのデータを用いる教師あり学習が主流ですが、ラベルを付けるには膨大なコストがかかります。現実世界に機械学習を適用していくためには、ラベル付けを必要としない教師なし学習の重要性が増してくると考えられます。本書は実践的な視点から、データにある隠れたパターンを特定し、異常検出や特徴量抽出・選択を行う方法を紹介します。ラベルなしデータを有効に利用することで、機械学習の可能性を各段に広げる教師なし学習の本質に迫ります。さらに、変分オートエンコーダ(VAE)や敵対的生成ネットワーク(GAN)、制限付きボルツマンマシン(RBM)などの生成モデルも紹介します。 正誤表 書籍発行後に気づいた誤植や更新された情報を掲載しています。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ペー
TL;DR アウトオブコア、かつマルチコアでデータ処理を行えるVaexの紹介です。 string関係のメソッドで平均して100倍以上の高速化が確認できました。(作者のベンチマークだと最大1000倍) 文字列処理以外でも数倍~数十倍の高速化が行えそうです。 この記事では性能の比較のみ行い、解説記事は別で書こうと思います。 pandasより1000倍早いフレームワーク? 今週、興味深い記事を読みました。重要な部分だけ抜き出すと次のような内容です。 Vaexの最近のアップデートでの文字列処理が超早くなった 32コアだとpandasと比べて1000倍早い towardsdatascience.com 1000倍って本当なの?って感じですよね。そもそも自分はVaex自体を知らなかったので調べてみました。 ちなみに調べていて気づいたのですが、この記事の著者はVaexの作者なんですよね。 疑っているわけ
本稿ではプログラミングの基本は理解しているがより実践的なデータ解析に取り組みたい方を対象に、スクリプト言語によるデータ解析の実践を解説します。スクリプト言語の中でも特にデータ解析に役立つライブラリや環境が整っているPythonをとりあげ、対話型解析ツールやライブラリについて導入から解析の実行・可視化までを解説します。本稿ではPythonによる統計データ解析を解説します。まず統計の概観について確認し、Jupyter Notebookを使った基本統計量の確認・相関・検定の手順を解説します。 対象読者 Pythonの基本的な文法を理解しておりデータ解析のスキルアップに取り組みたい方 サンプルの動作確認環境 MacOS 10.13 Anaconda 5.1 Python 3.6 Jupyter Notebook 5.4 統計の概要 この章では実際にPythonでの統計処理に入る前に、統計自体につい
Microsoftは、Visual Studio CodeのPython用エクステンション「Python extension for Visual Studio Code」の2018年10月版アップデートとなる"the October 2018 release of the Python Extension for Visual Studio Code"をリリースしたことを現地時間8日、公式ブログで発表した。マーケットプレイスからダウンロードもしくはVisual Studio Code内のエクステンションギャラリーから直接インストールできる。 10月版では、新たにPythonのインタラクティブな実行環境であるJupyterをサポート。エディタ上にPythonの実行結果を即座に返すJupyterの"editor-centric"なPythonが実装できる。pythonファイルのコード上で"#
世界観をつかめるぐらいには機械学習やっておきたいと思い、とりあえず何かしらのお題がないと興味が続かなさそうなので、二次元の盤面上で何かしらの行動をする、ローグライクのモンスターのエージェントを作るのを目標にしようと思う。自分がゲーム作るとき、大抵エージェントのルール作る段階で飽きてくるので。 今回の記事は、迷路を解くところまで。 学習資料 [Python]強化学習(DQN)を実装しながらKerasに慣れる - Qiita DQNをKerasとTensorFlowとOpenAI Gymで実装する 全力で人工知能に対決を挑んでみた(理論編) - ニコニコ動画 雰囲気を掴むのに、ニコ動の解説動画わかりやすかった。 よく使われてる OpenAI Gym 、見た目は派手だが、環境変数が多すぎていまいち理解の助けにならない + 次元が多すぎて収束が遠いので、すごい単純なゲームルールを自分で作って、それ
Dopamine is a research framework for fast prototyping of reinforcement learning algorithms. It aims to fill the need for a small, easily grokked codebase in which users can freely experiment with wild ideas (speculative research). Our design principles are: Easy experimentation: Make it easy for new users to run benchmark experiments. Flexible development: Make it easy for new users to try out res
機械学習など主に予測を目的とした統計手法に強いイメージのPythonでしたが、統計的因果推論を行うためのライブラリ、“DoWhy”がついにリリースされました。 DoWhy | Making causal inference easy — DoWhy | Making Causal Inference Easy documentation これまで因果推論があまり浸透してこなかった*1データサイエンス界に新しい風が吹くのではと期待が高まります。 一方でこのパッケージが何を可能にし、逆に何ができないのかを理解しなければ、雑なデータ分析が増えて逆に有害なのではと思い、今回ブログを書くことにしました。 先に言っておくと、私自身はPythonをメインに使っているわけではありません(使ったことはあるので一応コードを読んで何が起こっているかくらいはわかります)。したがって本記事の目的は、DoWhyライブ
English version available on dev.to はじめに matplotlibで作ったグラフの細かい調整は大変です。何をどういじったらいいのかを調べるのにアホみたいに時間がかかることもあります1。「何を」の部分の名前さえわからないこともあります。解決の糸口を掴んだ後も希望通りの見た目を実現するまでの最後のアレンジに苦労することが多いです2。これらの問題は matplotlibのグラフがどういう要素で構成されていて、それらに対してどういうことができるかを知る ことでいくらか改善されます。私はひたすらStack Overflowの回答を読むことでいろんなつまづきを時間をかけて乗り越えてきましたが、最近になってようやく公式チュートリアルにこの苦労を回避できたはずのヒントが書いてあることに気づきました。初期にざっと目を通したのですが「なるほど、よくわからん」と判断して読み込
pandas.Series, pandas.DataFrameのメソッドとしてplot()がある。Pythonのグラフ描画ライブラリMatplotlibのラッパーで、簡単にグラフを作成できる。 pandas.DataFrame.plot — pandas 0.22.0 documentation Visualization — pandas 0.22.0 documentation Irisデータセットを例として、様々な種類のグラフ作成および引数の設定などをサンプルコード・結果とともに説明する。 Irisデータセット plot()メソッドの基本的な使い方 表示 画像ファイルとして保存 オブジェクトとして操作 共通の設定 サイズを変更 別々のサブプロットに描画 サブプロットのレイアウト サブプロットのx軸, y軸の共通化 プロットする列の指定 グラフの種類 折れ線グラフ(line plot)
データの前処理にはいくつかの工程がある。書籍「データ分析プロセス」には 欠損など 前処理に必要なデータ特性の考慮とその対処方法が詳しく記載されている。 が、書籍のサンプルは R なので、Python でどうやればよいかよく分からない。同じことを pandas でやりたい。 データ分析プロセス (シリーズ Useful R 2) 作者: 福島真太朗,金明哲出版社/メーカー: 共立出版発売日: 2015/06/25メディア: 単行本この商品を含むブログ (2件) を見る とはいえ、pandas 自身は統計的 / 機械学習的な前処理手法は持っていない。また Python には R と比べると統計的な前処理手法のパッケージは少なく、自分で実装しないと使えない方法も多い。ここではそういった方法は省略し、pandas でできる前処理 / 可視化を中心に書く。 また、方法自体の説明は記載しないので、詳細
PythonでKaggleなどのデータ分析を行う際、pandasでゴリゴリ作業をすることが多いかと思います。 最近知って「めっちゃ便利やん!」ってなったものをまとめておきたいと思います。 全部の関数にドキュメントへのリンクを付けたので参考にしてください。 今回も検証にはTitanicのデータセットを用います。また、文中でのdf.hoge()はpandasのDataFrameのメソッドであることを、pd.hoge()はpandasの関数であることを表します。 df = read_csv('input/train.csv', index_col=0) print(df.shape) df.head() 最低限押さえておきたいやつら まずはここから。 10 Minutes to pandas よく使うやつら。詳しい解説は省略するので、ドキュメントのリンク先を見てください。 関数 内容 リンク d
Python Machine Learningで、正確な機械学習モデルを見つけることは、プロジェクトの終わりではありません。 今回は、scikit-learnを使って機械学習モデルを保存して読み込む方法を紹介します。これにより、モデルをファイルに保存して、それを後で読み込んで予測を行うことができます。 Pickleでモデルを保存する pickleは、Pythonでオブジェクトをシリアライズする一般的な方法です。シリアライズ(直列化)とは、プログラミング言語においてオブジェクトをバイト列などの表現に変換することを言います。対して、デシリアライズ(非直列化)とは、バイト列を元にオブジェクトを復元することを言います。 pickle操作を使用して、機械学習モデルをシリアライズし、シリアライズされたフォーマットをファイルに保存することができます。 その後、このファイルを読み込んでモデルをデシリアライ
前置き# 記事がはてぶ炎上して恥ずかしい思いをしたので、結構書き直しました。 この記事よりも良質な記事を参考記事に列挙したので、このページをブックマーク集だとして、他のページを参照していただければと思います。 はじめに# 機械学習を勉強するにあたって、 ベースとなる数学を勉強したいというモチベーションが高まってきた。なぜか?それは、今まで数学的な知識なしに勉強を進めていたのたけれども、論文が読めなかったり、少し数式で込み入ってくると、とたんにわけがわからなくなったからだ。 しかし、一番のモチベーションは、やっぱり機械学習を勉強するものとしての登竜門、PRML(パターン認識と機械学習)を読みたいというものがある。 参考記事# そこで、機械学習のために必要な数学を調べてみたのだが・・・どのサイトをみてもこれはというものがみつからないのだ。 2017年現在で、有益な記事をできるかぎり集めてみた。
本書は、Pythonの基本レベルの習得者を対象に、コンピュータービジョンと機械学習のためのオープンソースライブラリーである OpenCVによる画像や動画の処理を、Pythonで行う方法についての解説書だ。 データサイエンス向けのPythonパッケージ 「Anaconda」のインストール、統合開発環境 「Spyder」の起動、OpenCVのインストールなど、開発環境の準備と動作確認用の簡単なプログラム作成から始まり、グラフィックス、アフィン変換、色の処理、フィルタ処理、画像合成、動画処理、オブジェクト検出などの処理方法を、サンプルプログラムとともに提示して説明している。学習に使えるサンプルファイルのダウンロードサービスも用意されており、機械学習のディープラーニングを利用したカメラで撮影した手書き数字の解析例の紹介や、関数などについても説明している。 付録には、本書のプログラムをLinux環境
前回、高機能な画像動画ライブラリのOpenCVに関して、インストールから簡単な使い方を紹介した。今回は、OpenCVのWebカメラの機能を利用して、自作の監視カメラを作ってみよう。ここでは、留守宅に侵入者があった場合に画像を保存するというものを作ってみよう。 監視カメラを実行したところ - 侵入者があると画像をファイルに保存する Webカメラをセットアップしよう 最近のノートPCには、だいたいWebカメラが付いているので、今回は、これを利用しよう。もし、Webカメラが付いていないとしても、2000円ちょっと出せば、USBのWebカメラが入手できる。そして、OpenCVがインストールされていれば、手軽にWebカメラの画像を取得出来る。OpenCVのインストールについては、前回紹介した。 OpenCVでWebカメラの画像を得るには、以下のようなプログラムを記述すれば良い。以下のプログラムを「c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く