我正在使用GridSearchCV并适合错误:get_params()缺少1个必需的位置参数

时间:2018-12-29 15:14:05

标签: python grid-search

我有一个句子列表,这些句子最终应该以随机梯度分类器结尾。我使用word2vec将单词转换为向量,对句子取平均并将这些向量提供给SGC。

在使用给定参数进行拟合和预测时,效果非常好。但是,当我应用gridSearch来为SGC查找最佳参数时,就会失败。

尽管我只在分类器上执行网格搜索,但我还是在类中添加了set_params和get_params。

这是我使用word2vec矢量化的课程。

#!/bin/ash
set -e

if [ "$1" = '/bin/ash' ]; then
    echo "container booting..."
    echo "creating directory having name $VAR2"
    mkdir -p $VAR2
fi

exec "$@"

这是测试场景:

import numpy as np
from gensim.models import Word2Vec
from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import Pipeline

class MeanEmbeddingVectorizer(object):
    def __init__(self, word2vec):
        self.word2vec = word2vec
        if self.word2vec.vector_size > 0:
            self.dim = self.word2vec.vector_size
        else:
            self.dim = 0

    def set_params(self, **parameters):
        print("foo")

    def get_params(self,deep=True):
            return {}

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

    def transform(self, X):
        return np.array([
            np.sum([self.word2vec[w] for w in words if w in self.word2vec]
                    or [np.zeros(self.dim)], axis=0)
            for words in X

        ])

我不明白,为什么它不起作用。使用clfTest__alpha时,应该只为SGC优化alpha,不是吗?

有人可以帮我吗?

0 个答案:

没有答案