私は自分でsklearnライブラリを学び、実践してきました。Kaggleのコンテストに参加したとき、BaseEstimator
から使用されているサンプルコードに気づきましたsklearn.base
。使用方法/使用理由がよくわかりませんBaseEstimator
。
from sklearn.base import BaseEstimator
class FeatureMapper:
def __init__(self, features):
self.features = features #features contains feature_name, column_name, and extractor( which is CountVectorizer)
def fit(self, X, y=None):
for feature_name, column_name, extractor in self.features:
extractor.fit(X[column_name], y) #my question is: is X features? if yes, where is it assigned? or else how can X call column_name by X[column_name].
...
これは私がsklearnのチュートリアルページで通常見るものです:
from sklearn import SomeClassifier
X = [[0, 0], [1, 1],[2, 2],[3, 3]]
Y = [0, 1, 2, 3]
clf = SomeClassifier()
clf = clf.fit(X, Y)
sklearnの公式ページで良い例やドキュメントを見つけることができませんでした。githubでコードを見つけましたが、sklearn.base
いくつかの例とその使用方法の説明が必要です。
アップデート
サンプルコードへのリンクは次のとおりです 。https ://github.com/benhamner/JobSalaryPrediction/blob/master/features.py
訂正:BaseEstimator
クラスに使用されていることに気づきましたSimpleTransform
。私の最初の質問は、なぜそれが必要なのかということだと思います。(計算のどこでも使用されていないため)、もう1つの質問は、フィットを定義するとき、Xとは何か、およびどのように割り当てられるかです。通常私が見るので:
def mymethod(self, X, y=None):
X=self.features
# then do something to X[Column_name]