首先在数据集中,我使用均值策略将所有丢失的值替换为imputer类,但它已将其替换为数据集中的大值,从而导致此错误。这可能是解决方案,或者如何将值四舍五入到小数点后两位。因为数据集包含浮点值,将它们四舍五入到小数点后2位或3位对我来说是有用的。
代码:
import numpy as np
import pandas as pd
import matplotlib as plt
df=pd.read_csv("C:/Users/asus/Desktop/Life Expectancy Data.csv")
X=df.iloc[:, 4:].values
Y=df.iloc[:,3:4].values
from sklearn.impute import SimpleImputer
imputer=SimpleImputer(missing_values=np.nan,strategy='mean')
imputer.fit(X)
X=imputer.transform(X)
from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.2,random_state=0)
from sklearn.linear_model import LinearRegression
reg=LinearRegression()
reg.fit(X_train,Y_train)
首先在数据集中,我使用均值策略将所有丢失的值替换为imputer类,但它已将其替换为数据集中的大值,从而导致此错误。可能是...
X_train.replace([np.inf, -np.inf], np.nan, inplace=True)