使用scikit-learns SimpleImputer时键入错误

此代码用于我在ML在线课程中学习的数据预处理。

import numpy as np
import matplotlib.pyplot as plt  #pyplot is a sublibrary of matplotlib
import pandas as pd

dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:,:-1]
Y = dataset.iloc[:,-1]


from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values = np.nan,strategy = 'mean',verbose = 0) 
imputer = imputer.fit(X[:,1:3])
X[:,1:3] = imputer.transform(X[:,1:3])

但是它给出了这个Type错误:无法散列的类型:'sl​​ice'。 请帮助我。

使用scikit-learns SimpleImputer时键入错误

handSomeSJW 回答:使用scikit-learns SimpleImputer时键入错误

X是一个数据框,您不能像X [:,1:3]那样访问。应该使用iloc。 试试这个

imputer = imputer.fit(X.iloc[:,1:3])
X.iloc[:,1:3] = imputer.transform(X.iloc[:,1:3])
,

如果您的最终目标是预测:https://scikit-learn.org/stable/auto_examples/compose/plot_column_transformer_mixed_types.html#sphx-glr-auto-examples-compose-plot-column-transformer-mixed-types-py

,我还建议利用<div>1</div><div>2</div><div>3</div>sklearn.pipeline.Pipeline进行这些预处理转换
本文链接:https://www.f2er.com/2922957.html

大家都在问