Scikit-Learn Custom Imputer,均值附近具有随机值

凯文

我想创建一个自定义Imputer,以用NaN所在的列mean - std范围内的随机值替换数据mean + std中的NaN值。

这是到目前为止我拥有的Imputer的代码:

class GroupImputer(BaseEstimator, TransformerMixin):
    def fit(self, X, y=None):
        X = check_array(X, force_all_finite=False)
        self.means = np.nanmean(X, axis=0)
        self.stds = np.nanstd(X, axis=0)
        return self

    def transform(self, X, y=None):
        check_is_fitted(self, 'means')
        check_is_fitted(self, 'stds')
        X = check_array(X, force_all_finite=False)
        # how do i apply to each row of the data?
        return 0

self.means包含的一个列表means的每一列。

self.stds包含所有的列表stds为每列。

如何在数据行之间mean - std以及mean + std每个NaN数据行中应用随机值

我是否需要遍历数据?for row in X:),然后根据列索引选择正确的均值和std?还是有一种方法可以做到这一点?

柴可夫斯基

不,您不必遍历数据,假设数据的行数和列数分别为5和4

num_rows,num_cols = 5,4

# just fake two arrays of column means and stds
column_means = np.random.uniform(1,8,num_cols)
column_stds = np.random.rand(num_cols)

disp = np.random.uniform(column_means-column_stds,column_means+column_stds, size=(num_rows,num_cols))

数组disp就像

array([[6.29377845, 6.56185572, 5.32590954, 2.14719305],
       [6.36648777, 6.97781432, 4.89773801, 2.21909144],
       [5.38109603, 6.70649396, 5.50100582, 2.26518757],
       [5.59764259, 6.90297057, 5.65199988, 2.25340505],
       [5.80928963, 6.4976407 , 5.23792109, 1.99580784]])

其中该数组的每一列均从范围中均匀采样(the column mean - the column std, the column mean + the column std)因此,NaN原始数组的条目可以替换为的条目disp

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scikit-Learn Imputer未输入

来自分类Dev

使用scikit-learn的Imputer模块预测缺失值

来自分类Dev

Scikit Learn-K均值-肘部-标准

来自分类Dev

scikit-learn / python中带有字符的随机森林

来自分类Dev

具有不同功能的不同内核-scikit-learn SVM

来自分类Dev

SVM,scikit-learn:带有RBF内核的决策值

来自分类Dev

使用scikit-learn消除随机森林上的递归特征

来自分类Dev

使用scikit-learn并行生成随机森林

来自分类Dev

导出Scikit Learn随机森林以在Hadoop平台上使用

来自分类Dev

Scikit-learn:并行化随机梯度下降

来自分类Dev

使用scikit-learn消除随机森林上的递归特征

来自分类Dev

SciKit-Learn:使用随机森林时的 JoblibException

来自分类Dev

SVM,scikit-learn:RBF内核的决策值

来自分类Dev

使用scikit-learn预测单个值会导致ValueError

来自分类Dev

使用scikit-learn预测有趣的文章

来自分类Dev

scikit-learn FunctionTransformer有什么用?

来自分类Dev

没有在SciKit-Learn的分解模块中安装LatentDirichletAllocation

来自分类Dev

更新scikit-learn:'SVC'对象没有属性'_probA'?

来自分类Dev

使用scikit-learn预测有趣的文章

来自分类Dev

用户定义的带有scikit-learn的SVM内核

来自分类Dev

.arff文件与scikit-learn?

来自分类Dev

Scikit Learn中的交叉验证

来自分类Dev

Python scikit-learn-TypeError

来自分类Dev

scikit-learn StratifiedKFold实现

来自分类Dev

Scikit Learn中的距离指标

来自分类Dev

输出 Scikit Learn OLS 报告

来自分类Dev

scikit-learn:最近的邻居

来自分类Dev

Scikit-learn 导入约定

来自分类Dev

scikit-learn Imputer类-中位数策略可能存在错误?