分類問題において,非線形な決定境界を表現するための一つの方法に,RBF Kernel Modelがあります. これは,入力を以下で定義されるに変換するものです.
コードはGistに載せてあります:
https://gist.github.com/nkt1546789/e41199340f7a42c515be
使い方は,例えばsklearnのLogisticRegressionに適用したい場合は,
clf=RbfModelWrapper(LogisticRegression()).fit(X,y)
同様にRidgeに適用したい場合は,
clf=RbfModelWrapper(Ridge()).fit(X,y)
ちなみにGridSearchもできるようになっています:
gs=GridSearchCV(RbfModelWrapper(Ridge()),param_grid={"gamma":np.logspace(-2,0,9),"alpha":[1,10,100]}).fit(X[itr],y[itr])