跳至内容

零计数

此文件是 TPOT 库的一部分。

TPOT 当前版本由 Cedars-Sinai 开发,开发者包括: - Pedro Henrique Ribeiro (https://github.com/perib, https://www.linkedin.com/in/pedro-ribeiro/) - Anil Saini (anil.saini@cshs.org) - Jose Hernandez (jgh9094@gmail.com) - Jay Moran (jay.moran@cshs.org) - Nicholas Matsumoto (nicholas.matsumoto@cshs.org) - Hyunjun Choi (hyunjun.choi@cshs.org) - Gabriel Ketron (gabriel.ketron@cshs.org) - Miguel E. Hernandez (miguel.e.hernandez@cshs.org) - Jason Moore (moorejh28@gmail.com)

TPOT 原始版本主要由宾夕法尼亚大学开发,开发者包括: - Randal S. Olson (rso@randalolson.com) - Weixuan Fu (weixuanf@upenn.edu) - Daniel Angell (dpa34@drexel.edu) - Jason Moore (moorejh28@gmail.com) - 以及更多慷慨的开源贡献者

TPOT 是自由软件:您可以根据自由软件基金会发布的 GNU 宽通用公共许可证(GNU Lesser General Public License)的条款重新分发和/或修改它,无论许可证的第 3 版还是(由您选择)任何后续版本。

分发 TPOT 的目的是希望它有用,但不提供任何担保;甚至不提供适销性或特定用途适用性的默示担保。更多详情请参阅 GNU 宽通用公共许可证。

您应该已随 TPOT 收到一份 GNU 宽通用公共许可证的副本。如果未收到,请参阅 https://gnu.ac.cn/licenses/

ZeroCount

基类: BaseEstimator, TransformerMixin

将每个样本中的零计数和非零计数作为特征添加。

源代码位于 tpot/builtin_modules/zero_count.py
class ZeroCount(BaseEstimator, TransformerMixin):
    """Adds the count of zeros and count of non-zeros per sample as features."""

    def fit(self, X, y=None):
        """Dummy function to fit in with the sklearn API."""
        return self

    def transform(self, X, y=None):
        """Transform data by adding two virtual features.

        Parameters
        ----------
        X: numpy ndarray, {n_samples, n_components}
            New data, where n_samples is the number of samples and n_components
            is the number of components.
        y: None
            Unused

        Returns
        -------
        X_transformed: array-like, shape (n_samples, n_features)
            The transformed feature set
        """
        X = check_array(X)
        n_features = X.shape[1]

        X_transformed = np.copy(X)

        non_zero_vector = np.count_nonzero(X_transformed, axis=1)
        non_zero = np.reshape(non_zero_vector, (-1, 1))
        zero_col = np.reshape(n_features - non_zero_vector, (-1, 1))

        X_transformed = np.hstack((non_zero, X_transformed))
        X_transformed = np.hstack((zero_col, X_transformed))

        return X_transformed

fit(X, y=None)

与 sklearn API 集成的虚拟函数。

源代码位于 tpot/builtin_modules/zero_count.py
def fit(self, X, y=None):
    """Dummy function to fit in with the sklearn API."""
    return self

transform(X, y=None)

通过添加两个虚拟特征来转换数据。

参数

名称 类型 描述 默认值
X

新数据,其中 n_samples 是样本数量,n_components 是组件数量。

必需
y

未使用

None

返回

名称 类型 描述
X_transformed (array - like, shape(n_samples, n_features))

转换后的特征集

源代码位于 tpot/builtin_modules/zero_count.py
def transform(self, X, y=None):
    """Transform data by adding two virtual features.

    Parameters
    ----------
    X: numpy ndarray, {n_samples, n_components}
        New data, where n_samples is the number of samples and n_components
        is the number of components.
    y: None
        Unused

    Returns
    -------
    X_transformed: array-like, shape (n_samples, n_features)
        The transformed feature set
    """
    X = check_array(X)
    n_features = X.shape[1]

    X_transformed = np.copy(X)

    non_zero_vector = np.count_nonzero(X_transformed, axis=1)
    non_zero = np.reshape(non_zero_vector, (-1, 1))
    zero_col = np.reshape(n_features - non_zero_vector, (-1, 1))

    X_transformed = np.hstack((non_zero, X_transformed))
    X_transformed = np.hstack((zero_col, X_transformed))

    return X_transformed