machine-learning - scikit-learn.impute 没有使用机器学习 AZ 教程中的代码通过 Spyder 从 Imputer 导入
问题描述
我的代码无法正常工作,因为我从机器学习 AZ™ 中逐字复制了数据科学教程课程中的 Python 和 R 实践。我使用的是 Python 3.7,我已经在我的环境中安装了 scikit-learn 包。它不起作用,我试图寻找一个有 sklearn 的包,尽管它似乎没有找到任何东西。它给了我这个错误。
我正在通过 Anaconda 运行我的环境。
ImportError: cannot import name 'Imputer' from 'sklearn.preprocessing' (C:\Users\vygan\.conda\envs\env\lib\site-packages\sklearn\preprocessing\__init__.py)
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
dataset = pd.read_csv('Data.csv')
X = pd.DataFrame(dataset.iloc[:, :-1].values)
y = pd.DataFrame(dataset.iloc[:, 3].values)
# Taking care of missing data
from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)
imputer = imputer.fit(X[:, 1:3])
X[:, 1:3] = imputer.transform(X[:, 1:3])
解决方案
它从预处理永久移动到估算库,你可以这样称呼它:
from sklearn.impute import SimpleImputer
完全一样。如果它不起作用,你应该用pip卸载它然后重新安装它可能是第一次安装不正确
它不再有轴,但您可以使用 pandas 数据框标头轻松处理它,如下所示:
si=SimpleImputer()
si.fit([dataset["headername"]])
有一个策略参数可让您在“mean”、“most_frequent”、“median”和“constant”之间进行选择
但还有另一个我更喜欢的 imputer:
from sklearn.impute import KNNImputer
这将用 k 个最近邻的平均值估算缺失值
推荐阅读
- python-3.x - 作为 cronjob 运行时 Python 脚本未完成
- android - AOSP 的自定义测试套件
- r - 编写循环/函数以在同一数据帧上生成各种线性回归
- android - 反应本机推送通知打盹
- c# - 如何在 ASP.NET Core 中注册解析作用域对象的单例工厂?
- ubuntu - 安装hadoop时如何解决“错误:无法找到或加载主类”-Djava.library.path=.usr.local.hadoop.lib”
- c# - 使用以它命名的通用属性时引用另一个类的常量字段
- python - 在 Python 中,如何获取位于模块内的文件目录的路径
- angular - ngFor 不显示数组数据
- python - 如何将有效数字的数量限制为 * 不超过 * 不超过 str.format() 或 f-strings 的数量?