博客
关于我
sklearn :ImportError: cannot import name ‘Imputer‘
阅读量:572 次
发布时间:2019-03-11

本文共 1652 字,大约阅读时间需要 5 分钟。

关于学习中国大学MOOC人体运动相关课程中的程序编写问题解答

在学习中国大学提供的MOOC课程中,部分学生在进行人体运动模拟相关程序编写时可能会遇到一些常见问题。以下是针对其中两个常见问题的详细解答如下:

问题1:导入Imputer时出现错误

在程序中尝试导入```pythonfrom sklearn.preprocessing import Imputer

时可能会遇到`ImportError`,原因是由于SKLearn版本的原因,Imputer不再放在`sklearn.preprocessing`模块中,而是被移至`sklearn.impute`模块。最新版本的SKLearn中,Imputer被重新组织,主要包括了`SimpleImputer`和`KNNImputer`两种类别。如果需要使用简单的填补方法,建议使用如下方式:```pythonfrom sklearn.impute import SimpleImputer# 初始化SimpleImputer,使用均值填补NaN值imputer = SimpleImputer(missing_values=np.nan, strategy='mean')

此外,如果需要使用基于最近邻域的填补方法(KNNImputer),可以按照以下方式使用:

from sklearn.impute import KNNImputer# 初始化KNNImputer,使用KNN填补NaN值knn_imputer = KNNImputer(n_neighbors=5, metric='manhattan')

需要注意的是,Imputer类在新版本中已经被废弃,建议直接使用更高效的SimpleImputerKNNImputer类来完成数据填补工作。

问题2:NaN值的处理问题

在对数据进行预处理时,如果Imputer未能正确填补NaN值,可能会出现如下的错误提示:

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

这通常发生在使用strategy='mean'或类似的策略时。如果未能正确初始化Imputer对象,可能会导致程序运行中断。为了避免此类问题,确保在导入SimpleImputerKNNImputer后,正确初始化对象,并明确指定策略。

例如:

from sklearn.impute import SimpleImputerfrom pandas import DataFrame# 创建一个示例数据集data = DataFrame({    'feature_1': [1, 2, None, 4],    'feature_2': [None, 5, 6, 7]})# 初始化SimpleImputer,选择均值填补策略imputer = SimpleImputer(strategy='mean')# 对数据进行填补操作data_filled = imputer.fit_transform(data)

这样可以有效避免NaN值处理过程中的错误。

其他问题

除了上述两种问题,部分学生还遇到了以下错误:

SystemError: new style getargs format but argument is not a tuple[与putpixel(xy, value)相关]

这类错误通常发生在与图像处理相关的函数调用中,特别是在尝试使用putpixel函数等低级图像处理函数时。请注意,某些低级图像处理函数可能不再支持较新的Python版本的接口,建议查阅相关文档或学习更现代的图像处理方法。如果已确认是与putpixel函数相关,请参考相关文章进行解决。

希望以上内容能够帮助解决你们在学习MOOC课程中遇到的编程问题。如果有更多具体问题,欢迎在课程对应的讨论区提出,教师和同学们会竭诚解答!

你可能感兴趣的文章
前端框架(react+umi+dva+ant design pro )攻克: 二、react 父子组件通信(二)
查看>>
ant design pro v5去掉右边content区域的水印
查看>>
web_求和(练习)
查看>>
JavaScript——使用iterator遍历迭代map,set集合元素
查看>>
IAR调试卡顿的解决办法
查看>>
应用程序无法启动,应用程序的并行配置不正确完美解决方法
查看>>
【IntelliJ IDEA 2019.2】idea如何开启自动编译
查看>>
强大的文字处理器——Nisus Writer Pro
查看>>
如何轻松适应从Windows到MacOS的过渡!Mac新手入门指南
查看>>
fcpx插件:25个假日主题专业设计
查看>>
fcpx插件:Block Party for Mac(53个视频转场插件)
查看>>
Mac使用技巧:快速视频播放错误如何修护
查看>>
代码绘制五角形
查看>>
Course Schedule II
查看>>
线程总结
查看>>
【ES9(2018)】Promise.prototype.finally()
查看>>
<hdu - 1002> A + B Problem II
查看>>
Python识别璇玑图中诗的数量
查看>>
Django ORM操作
查看>>
剑指offer[32]——把数组排成最小的数
查看>>