sklearn.impute.IterativeImputer 的实现

2024-03-02

考虑data其中包含以下一些 nan:

Column-1    Column-2    Column-3    Column-4    Column-5
0   NaN 15.0    63.0    8.0 40.0
1   60.0    51.0    NaN 54.0    31.0
2   15.0    17.0    55.0    80.0    NaN
3   54.0    43.0    70.0    16.0    73.0
4   94.0    31.0    94.0    29.0    53.0
5   99.0    52.0    77.0    91.0    58.0
6   84.0    19.0    36.0    NaN 97.0
7   41.0    91.0    62.0    67.0    68.0
8   44.0    38.0    27.0    53.0    37.0
9   58.0    NaN 63.0    57.0    28.0
10  66.0    68.0    89.0    36.0    47.0
11  7.0 81.0    5.0 99.0    16.0
12  43.0    55.0    64.0    88.0    NaN
13  8.0 90.0    91.0    44.0    4.0
14  29.0    52.0    94.0    71.0    47.0
15  22.0    21.0    68.0    61.0    38.0
16  76.0    36.0    70.0    99.0    50.0
17  38.0    31.0    66.0    79.0    99.0
18  94.0    22.0    92.0    39.0    58.0

我想替换 nan 中的data using sklearn.impute.IterativeImputer。一位朋友帮我写了下面的代码:

imp = IterativeImputer(missing_values=np.nan, sample_posterior=False, 
                                 max_iter=10, tol=0.001, 
                                 n_nearest_features=4, initial_strategy='median')
imp.fit(data)
imputed_data = pd.DataFrame(data=imp.transform(data), 
                             columns=['Column-1', 'Column-2', 'Column-3', 'Column-4', 'Column-5'],
                             dtype='int')

The imputed_data is:


Column-1    Column-2    Column-3    Column-4    Column-5
0   59  15  63  8   40
1   60  51  66  54  31
2   15  17  55  80  48
3   54  43  70  16  73
4   94  31  94  29  53
5   99  52  77  91  58
6   84  19  36  59  97
7   41  91  62  67  68
8   44  38  27  53  37
9   58  46  63  57  28
10  66  68  89  36  47
11  7   81  5   99  16
12  43  55  64  88  47
13  8   90  91  44  4
14  29  52  94  71  47
15  22  21  68  61  38
16  76  36  70  99  50
17  38  31  66  79  99
18  94  22  92  39  58

来自IterativeImputer 文档 https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer,默认估计量是BayesianRidge()。但如果我使用其他估计器,例如estimator=ExtraTreesRegressor(n_estimators=10, random_state=0)就像下面的代码一样,它返回一条警告消息。 代码:

imp = IterativeImputer(estimator=ExtraTreesRegressor(n_estimators=10, random_state=0), missing_values=np.nan, sample_posterior=False, 
                                 max_iter=10, tol=0.001, 
                                 n_nearest_features=4, initial_strategy='median')
imp.fit(data)

消息:

C:\Users\...\sklearn\impute\_iterative.py:599: ConvergenceWarning: [IterativeImputer] Early stopping criterion not reached. " reached.", ConvergenceWarning).

我的问题:这是正确的方法还是我应该采取措施来修复警告消息?
谢谢。


由于参数的原因,您会收到此错误max_iter=10 & tol=0.001set for IterativeImputer().

停止标准(abs(max(X_t - X_{t-1}))/abs(max(X[known_vals])) < tol) 未满足 10 次迭代(max_iter=10).

参考描述max_iter在参数部分sklearn.impute.IterativeImputer 文档 https://scikit-learn.org/stable/modules/generated/sklearn.impute.IterativeImputer.html#sklearn.impute.IterativeImputer.

克服此错误的一种解决方法是设置max_iter参数值较高。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sklearn.impute.IterativeImputer 的实现 的相关文章

随机推荐

  • Rails 中如何让 Low-Level caching 与 Association caching 协同工作?

    我目前正在开发一个使用 Rails 5 的项目 我想提高性能 所以我决定使用低级缓存 如下所示 class User lt ApplicationRecord has one profile def cached profile Rails
  • 当我尝试上传视频时,Youtube API v3 返回 401

    我使用 YouTube 的 ServiceAccount 上传器 我使用 Youtube API v3 我有简单的控制台应用程序 可将视频上传到 youtube String serviceAccountEmail var certific
  • ParNew gc 会阻止世界吗?

    我看到 GC 输出如下 2010 12 10T16 00 44 942 0800 1443 562 GC 1443 562 ParNew 201856K gt 17318K 201856K 0 0352970 secs 2113334K g
  • 如何在java中使用dd-mm-yyyy格式将字符串格式化为日期[重复]

    这个问题在这里已经有答案了 我需要一些支持 我希望将变量字符串转换为日期 变量日期的格式应为 dd MM yyyy import java util Date String a 2022 05 12 Date b should be dd
  • mapActivity 中出现 NoClassDefFoundError

    我的地图应用程序中出现此错误 您知道出了什么问题吗 我已经检查过 该包在我的 java 文件中是正确的 而且我已将谷歌地图的使用库放入我的应用程序标签中的 manifest xml 中 请帮忙 我花了几个小时来解决它 确保您已输入
  • Azure API 管理服务中的静态 IP 地址

    我已经做了一些谷歌搜索 但无法得到确认的答案 Azure API 管理服务是否提供静态 IP 地址 如果没有 我该如何配置 我问的原因是因为我的本地服务器仅接受来自白名单 IP 地址的请求 因此我们需要来自 Azure API 管理的请求的
  • mingw 链接器找不到 PathAppend

    当我尝试编译以下内容时 include
  • 自定义设计EditText

    我有定制设计EditText 搜索页面 xml
  • 如何在 Redux 中处理两个连续且依赖的异步调用?

    我通过调用操作异步获取帖子列表fetchPosts从一个组件开始componentDidMount 我希望 一旦相关减速器 更新状态 收到并处理该请求 就调用另一个操作fetchPostsMetaData 包含刚刚收到的帖子 id 的数组
  • 像 Google Play 商店一样折叠工具栏

    我想实现一个像 google Play 商店一样的折叠工具栏 我已经实现了一些功能 但这仅适用于纵向屏幕 这是我能够执行的操作的屏幕截图示例 现在我想做的是 当我将设备方向更改为景观模式时 它应该看起来完全像这样 所以我的主要问题是如何处理
  • 如何处理大型 git 存储库?

    我目前正在使用 git 来构建大型存储库 大约 12 GB 每个分支的大小为 3 GB 该存储库包含大量二进制文件 音频和图像 问题是克隆和拉取可能需要很多时间 特别是 解决增量 步骤可能非常非常长 解决此类问题的最佳方法是什么 我尝试删除
  • 如何在javascript中检查异步加载的脚本是否已完成加载

    使用 javascript 异步下载另一个 javascript 文件 我知道这可以通过在页面上插入一个新的脚本标签来完成src属性设置为文件 url 脚本下载完成后 我还需要运行一些代码 我一直在使用yepnope http yepnop
  • 出现 gdbm 错误:(13,'权限被拒绝') — 尽管 posix 权限看起来没问题

    我正在 python 2 7 6 中使用 shelve 进行缓存计算 并且遇到了所描述的问题HERE https stackoverflow com q 35771816 4038337对于我制作并实施的搁置文件建议的解决方案 https
  • 无法启动模拟器。原因:当react-native run-android时,模拟器在React Native启动之前退出

    我正在根据这个网站安装React Nativehttps medium com leonardobrunolima react native tips setting up your development environment for
  • 在 XAML 绑定表达式中使用变量

    我正在构建一个可以编辑 POCO 的控件 POCO 中有一个需要编辑的字段的描述符集合 我正在绑定一个ListBox s ItemsSource到这个集合 除其他外 描述符使我能够选择合适的DataTemplate以及 POCO 中的变量名
  • 周期可调的PRNG

    我需要构建一个周期可调的就地伪随机数生成器 另外 在一段时间内不得发生碰撞 也就是说 以下内容必须返回 true prng is generated at run time though a by hand solution would w
  • 如何克服导航栏的影响

    在我的应用程序中 我想在转到上一个视图时隐藏导航栏 并且我在 viewwiilldisaapper 方法中隐藏导航栏 但效果仍然存在 意味着它在弹出时显示白屏 那么任何人都可以告诉我解决方案吗 谢谢大家 您需要使用隐藏该页面 viewWil
  • 滚动然后对齐到顶部

    只是想知道是否有人知道我如何重新创建我不久前看到的导航栏样式 我刚刚找到了我在上面看到的网站 但不确定他们是如何到达那里的 基本上希望它随页面滚动然后锁定到顶部 http lesscss org http lesscss org 只需快速
  • iOS 中 @property 的默认值是多少?

    iOS 中 property 的默认值是什么 例如 如果我声明 property NSString Photographer 是默认值 分配 还是 保留 还是其他什么 原子 非原子 我无法从文档中找到此信息 谢谢 我相信默认值是 atomi
  • sklearn.impute.IterativeImputer 的实现

    考虑data其中包含以下一些 nan Column 1 Column 2 Column 3 Column 4 Column 5 0 NaN 15 0 63 0 8 0 40 0 1 60 0 51 0 NaN 54 0 31 0 2 15