0

ドキュメントを分類するために機能を追加しようとしています。しかし、私の質問は、マトリックスのサイズがサンプルの数に対応していない場合、どのように機能を追加できるかです。ここで私の見積もり

class Add(BaseEstimator, TransformerMixin):
    def __init__(self):
        pass

    def transform(self, X, y=None):
        print(type(X))
        print('Dans Add X vaut:', X.shape)
        return X

    def fit(self, X, y = None):
        return self

pipeline = Pipeline([
       ('vect', TfidfVectorizer()),
       ('add_features', Add()),
       ('clf', SGDClassifier())
])
parameters = {'vect__max_features': (3000,5000)}
data  = load_files('./HO_without_tag', categories=None)
X , Y = (data.data, data.target)
print(len(X), len(Y))
grid_search = GridSearchCV(pipeline, param_grid = parameters, n_jobs = 1, verbose = 1000)
grid_search.fit(X,Y).transform(X)

しかし、私の結果では、すべてを印刷するわけではありません...

Fitting 3 folds for each of 1 candidates, totalling 3 fits
[CV] vect__max_features=3000
<class 'scipy.sparse.csr.csr_matrix'>
Dans Addned X vaut: (323, 3000)
<class 'scipy.sparse.csr.csr_matrix'>
Dans Addned X vaut: (163, 3000)
.......

(323, 3000) と (163, 3000) の意味がわかりません???

通常、私は 486 個のドキュメント (ファイル) を持っています。変換メソッドにいくつかの機能を追加したい場合は、最初のパイプライン tdfIdfVectorizer (私の理解では (486, 3000)) によって指定された配列を、この形状 (486, 私の数特徴)。今のところ、行の次元に互換性がないため、変換方法をパーソナライズすることはできません。助けてくれてありがとう。

4

0 に答える 0