やりたいこと scikit-learn はPythonのほぼデファクトの機械学習ライブラリです.scikit-learnの利点としては多くのアルゴリズムが実装されていることもそうですが,一貫した形で設計されており様々なアルゴリズムを共通したかたちで扱えることです.scikit-learnにないアルゴリズムを新たに実装したり,他のライブラリを使用するときにsciki-learnの他の推定器と同様に扱えるよう実装すれば,もともと実装されている推定器同様にクロスバリデーションで性能を評価したりグリッドサーチでパラメータを最適化したりできます.ここでは最低限の推定器の実装を示します.ここでは識別器または回帰器をターゲットとして考えます(クラスタリングとか教師なし学習とかは考えない). べたな実装 from sklearn.base import BaseEstimator class MyEsti
こんにちは。 林@アイエンターです。 前回はブログでは数学的なアプローチの回帰分析のお話をいたしました。 最近は統計分析や機械学習の分野では、Pythonが使われるケースが増えています。 Pythonには、数理演算やデータ可視化の強力なライブラリがそろっているのが その一因かと思います。 今回は「scikit-learn」という機械学習で良く用いられるpythonライブラリを紹介します。 非常にパワフルなライブラリーです。 実際、前回のブログのサンプルデータをライブラリーで回帰分析してみます。 ■環境セットアップ 「Anaconda」という、Pythonパッケージをインストールします。 これはPython本体と、科学技術、数学、データ分析関連で良く使われるライブラリを、一括でインストールできるパッケージです。 Windows/MacOS/Linuxのそれぞれのパッケージが用意されています。
>>> import numpy >>> numpy.show_config() lapack_opt_info: extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] extra_compile_args = ['-msse3'] define_macros = [('NO_ATLAS_INFO', 3)] blas_opt_info: extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers'] define_macros = [('NO_ATLAS_INFO', 3)] にて確認する. 調べた結果,upda
対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし 内容はNumPyを用いた数値計算の高速化 : 基礎のつづきです. ndarrayのユニバーサル関数や演算を用いて可能な限りforループを使わずに基礎的な数値計算を実装していきます. 今回からSciPyも仲間に加わります. 以下ではNumPy・SciPyの関数の詳しい実装についてはあまりコメントしていないので, わからないことがあったら是非リファレンスを読んでみてください. 言わずもがな, 車輪の再発明をしないことがとっても大事です. 微分 物理の基礎方程式には微分がつきものです
対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 の続きになります. 基礎的な数値計算の手法を追っていきますが, 今回は少し発展的な内容も含みます. 代数方程式 / 超越方程式 代数方程式はいわゆる手で解けるふつうの方程式です. 超越方程式は随分大仰な名前ですが, 代数的な手法で解けない方程式のことを指します. 具体的には $$ \sin(x) = \frac{x}{2} $$ こんな子です. この方程式は, 「$\s
あらまし 以前の記事でNumPy・SciPyの高速化にまつわる事柄を書きました: NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 NumPy・SciPyを用いた数値計算の高速化 : 応用その2 ホントに早くなってるの?ちゃんと調べてみましょう. 調査方法 Pythonによるオレオレ実装と比較します. 速度よりシンプルさを重視した実装との比較なので正当な評価とは言い難いかもしれません. Pythonはanaconda3, 時間計測にはIPythonの%timeitを使用します. --実行環境-- OS : Ubuntu16.04 LTS 64bit Python : anaconda3-4.1.1 CPU : Intel Corei5 3550 (4-core / 4-thread) リストの初期化 たとえば行列の初期化です.
こんにちは。 support vector machine (SVM) の計算は、 人工知能に関する断創録「ソフトマージンSVM」の手順(cvxopt を利用)にそっくり従うと、少し自分でも解を計算した気分になれます。下記1では、Lagrange乗数alphaの収束解、tabplot 等もプロットしています(class × prediction == 1 となるデータを強調表示。prediction == 0 が境界線)。 #!/usr/bin/env python # -*- coding: utf-8 -*- # support vector machine (SVM) の計算 # cvxopt.solvers.qp (Quadratic Programming) を利用 from __future__ import print_function import numpy as np
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く