Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
今日は昨日に引き続き SciPy and NumPy Optimizing & Boosting your Python Programming の中から scikit-learn を使った例を軽く説明します。クラスタリングについてはすでに食べられるキノコを見分けるやクラスタリングの結果を再利用するといった記事で説明しましたし scikit-learn によるクラスタリング でも取り扱ってきましたから機械学習の中でもすっかりお馴染みの手法かと思います。 scikit-learn でのクラスタリング ポピュラーな kmeans と比較して多くのデータ点を有するコア点を見つける DBSCAN アルゴリズムは、コアが定義されると指定された半径内内でプロセスは反復します。ノイズを多く含むデータに対して、しばしば kmeans と比較される手法です。 原著においてもこれらの手法を比較し可視化していま
前回は scikit-learn に実装されている機械学習の手法をざっくりと書いてみたのですけれども、それなりに需要がありそうなので今日から scikit-learn を使った機械学習のサンプルコードを書きつつ、その手法の理解と実践に迫ってみたいと思います。 まずは以前にもやった K 平均法によってクラスタリングをする例を挙げていきます。 K 平均法はクラスタリングの中でも基本的な手法で、シンプルで高速に動作しますし、入門にも最適です。動作についての説明は毎回おすすめしているのですがこのあたりがわかりやすいです。 クラスタリングする対象としてはやはり株価データを利用します。 株価のデータは 無料で誰でも入手することができる 企業の「業績」を示す指標となるリアルなデータである 定量的なデータであるため分析しやすい といった特長があるため扱いやすいのです。 企業の業績と株価は密接な関係にありま
今回の記事は一応前回の続きなのですが、 scikit-learn による機械学習を利用して、実際に未来を予測する話を書いていきたいと思います。 なにはともあれ、まずは以下の図をみてください。 今回も実験対象のデータとして株価データを利用します。 上の図に挙げたのは弊社 (DTS) の株価であり、本物のデータです。 図にあるように「過去の株価の変化から結果どうなったのか」という情報を、機械学習を利用して計算機に学習させ、それをもとに将来の株価を予測してみます。 決定木アルゴリズム 今回は数ある分類の手法の中から決定木 (デジジョン・ツリー) を利用します。手法の選択理由は以前に書いた記事を参考にしてください。 決定木自体の説明は Wikipedia あたりを読んでいただくと早いかと思います。 また scikit-learn に実装されている決定木についての説明は公式ドキュメントにあります。
2016.09.14 処理時間のバラつきについて追記しました scikit-learnのSVC(rbfカーネルとlinearカーネル)とLinearSVCの処理速度を比較してみました. 利用したデータはRのkernlabパッケージに含まれているspamデータです. 説明変数は4601サンプル,57次元, ラベルはspam:1813サンプル,nonspam:2788サンプルです. サンプル数,次元数を変えた時の結果は以下の通りです. SVCのlinearカーネルが遅すぎますね. ついついカーネル種別まで含めてグリッドサーチしてしまいたくなりますが, きちんとLinearSVCを使ったほうが良さそうです. 検証用コードは以下. 処理時間計測の都合でパラメータCを振っています. また特徴量選択(次元削減)はRandomForestのfeature importanceを利用しました. これは適当
モチベーション DeepLearningを簡単に書けることで最近話題のChainerだけど、いまいちAPIがまだ洗練されていない気がしたのでscikit-learn likeに使えるようにしてみた。 成果物 -> https://github.com/lucidfrontier45/scikit-chainer , https://pypi.python.org/pypi/scikit-chainer 方針 scikit-learnと同じようにmodel.fit(X, y)やmodel.predict(X), model.score(X, y)のように使えるようにする。 実装 そんなに長くないので全部貼っつける。 まずは基底クラス。sklearn.base.BaseEstimatorに相当します。 from abc import ABCMeta, abstractmethod from c
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 「OpenCV-Python Tutorials」についての訳に関連して、他の書籍と比較を行いました。 ###OpenCV入門 OpenCV-Pythonチュートリアル入門 OpenCV-Pythonを始めてみよう OpenCV-PythonをWindowsにインストールする OpenCVをwindowsで使えるようにする。 OpenCV-PythonをFedoraにインストールする OpenCVをFedoraで使えるようにする。 ###OpenCVでのGUIの特色 画像操作を始めてみよう 画像を読み込むこと、表示すること、保存すること
はじめに Pythonで機械学習といえばscikit-learnですが、scikit-learnを使うにはnumpyやscipyといった大きめのライブラリを入れる必要があります。でも、プログラムでほんのちょこっとだけ機械学習のモデルを使って分類したいって場合だと、わざわざそういう重いもの入れたくないなーと思うときがあります。scikit-learnで学習したものをnumpy, scipy, scikit-learnなしに使って分類処理ができたらなーって。 そこで今回はscikit-learnの決定木 (DecisionTreeClassifier) やRandom forest (RandomForestClassifier) からif-then形式のコードを生成するものを紹介します。 コード https://github.com/ikegami-yukino/misc/blob/mast
やりたいこと Sparkで機械学習といえばMLlibだけど、まだまだscikit-learnには機能面で劣っているように思えます。例えば、scikit-learnでは学習時に正例と負例の数が不均等な場合の補正とかできますが、mllibの1.5ではまだそのような機能はありません1。こんな時にメモリに乗る程度のデータで事前にscikit-learnで学習器を作成しておき、それをpysparkで大規模データの予測に使用できるとsklearnとsparkの両者のメリットが活かせるのではと思っています。 Let's Try 方針 データをndarrayのRDDに変換し、RDDのmapで学習済みのモデルのpredictに渡せばいいのですが、そのままやると関数呼び出しのオーバーヘッドが大きそうなのである程度の大きさのバッチ単位で処理したいと思います。 事前準備 Anaconda等のscikit-lear
1. scikit-learnを使った実験概要 Gradient Boostingについて - 準備編 - ( http://goo.gl/y2EVLI ) の予告通り今回はSklearnで実験をしてみました。目的は、GBDTを使ったfeature transformationが予測を改善するのか、という点を確認する事です。 ところで、Gradient Boostingでfeature transformationする話は昔からあったはずですが、ADKDD'14で発表されたPractical Lessons from Predicting Clicks on Ads at Facebook[1]が非常に有名です。実験はこの論文がやっている事と同じですが、featureの安定性等は計算していません。実務で適用する場合は重要な点ですので、ぜひトライしてみて下さい(結果を教えて頂けるととてもうれ
やりたいこと scikit-learn はPythonのほぼデファクトの機械学習ライブラリです.scikit-learnの利点としては多くのアルゴリズムが実装されていることもそうですが,一貫した形で設計されており様々なアルゴリズムを共通したかたちで扱えることです.scikit-learnにないアルゴリズムを新たに実装したり,他のライブラリを使用するときにsciki-learnの他の推定器と同様に扱えるよう実装すれば,もともと実装されている推定器同様にクロスバリデーションで性能を評価したりグリッドサーチでパラメータを最適化したりできます.ここでは最低限の推定器の実装を示します.ここでは識別器または回帰器をターゲットとして考えます(クラスタリングとか教師なし学習とかは考えない). べたな実装 from sklearn.base import BaseEstimator class MyEsti
Grid search とは scikit learnにはグリッドサーチなる機能がある。機械学習モデルのハイパーパラメータを自動的に最適化してくれるというありがたい機能。例えば、SVMならCや、kernelやgammaとか。Scikit-learnのユーザーガイドより、今回参考にしたのはこちら。 3.2.Parameter estimation using grid search with cross-validation Example:Parameter estimation using grid search with cross-validation やったこと 手書き数字(0~9)のデータセットdigitsをSVMで分類 GridSearchCVを使って、交差検定でハイパーパラメータを最適化 最適化時のモデルの評価関数にはf1を使用 データの準備 手書き数字のdigitsをインポ
さくらのVPSとDjangoとscikit-learnを使って、気になる顔画像と類似したAV女優が出てるAVの類似画像検索できるウェブサイトを作った。 サイト名はそっくりナビ 今までアプリの開発をしていたのでunityとかopen-GLとかObjective-Cは使ったことあったのだけど、pythonや機械学習の勉強と実益もかねて、1からウェブサービスを作った履歴を記録します。 初心者がはまるポイントは全部はまっていると思うので初心者の人たちには参考になると思います。 ちなみにSIFTとかCNNとか使わなかったのは、BOVW的なやつの精度が低かったり、次元が大きくなって計算量が増えちゃったからです。CNNやるなら動画から画像抽出とかしないとサンプル数足りない感じになっちゃって貧弱なマシンだったので諦めました。 元ネタ:AV画像認識技術とその周辺 ありがとうございます! 目次 ------
こんにちは。 林@アイエンターです。 前回はブログでは数学的なアプローチの回帰分析のお話をいたしました。 最近は統計分析や機械学習の分野では、Pythonが使われるケースが増えています。 Pythonには、数理演算やデータ可視化の強力なライブラリがそろっているのが その一因かと思います。 今回は「scikit-learn」という機械学習で良く用いられるpythonライブラリを紹介します。 非常にパワフルなライブラリーです。 実際、前回のブログのサンプルデータをライブラリーで回帰分析してみます。 ■環境セットアップ 「Anaconda」という、Pythonパッケージをインストールします。 これはPython本体と、科学技術、数学、データ分析関連で良く使われるライブラリを、一括でインストールできるパッケージです。 Windows/MacOS/Linuxのそれぞれのパッケージが用意されています。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。 林@アイエンターです。 前回のブログでは、Pandasやデータ可視化用のSeabornを導入し、米国自動車株の解析を行いました。 今回は再びscikit-learnにフォーカスして、機械学習のクラスタリングで用いられる「k平均法(k-means)」で画像の減色処理を行ってみます。 また、今回は画像の扱いには「OpenCV」も使ってみることにします。 k平均法での画像減色 k平均法とはWikiに詳細が記載されておりますが、空間上の点群データをk個のグループに分類するアルゴリズムです。 アルゴリズムから、各点がどこのグループに
クラスタリングアルゴリズムの一つであるDBSCANの概要や簡単なパラメータチューニングについて, 日本語記事でまとまっているものがないようでしたのでメモしました。 DBSCANの概要は,wikipediaの(雑な)和訳ですのでご容赦ください。 DBSCANとは Density-based spatial clustering of applications with noiseの略 クラスタリングアルゴリズムの一つ アルゴリズムの概要 1.点を3つに分類する Core点 : 半径ε以内に少なくともminPts個の隣接点を持つ点 Reachable点(border点):半径ε以内にminPts個ほどは隣接点がないが,半径ε以内にCore pointsを持つ点 Outlier : 半径ε以内に隣接点がない点 2.Core点の集まりからクラスタを作成し,Reachable点を各クラスタに割り当て
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く