Я пытаюсь выполнить модель линейной регрессии с несколькими переменными.У меня есть файл CSV с атрибутами: 'area', 'bedrooms', 'age', 'price'
, но спальни имеют пропущенное значение (то есть NaN
).Я хочу соответствовать модели и предсказать цену, предоставив другие три атрибута, но из-за одного пропущенного значения мне показана ошибка input contains nan infinity or a value too large for dtype('float64')
.Я нашел медиану и заполнил пропущенное значение, но в файле CSV оно не заменяется и выдает ошибку при подгонке модели.Файл CSV выглядит следующим образом:
![CSV file](https://i.stack.imgur.com/ubIS7.png)
Я использовал следующие коды:
df=pd.read_csv(r"C:\Users\rohit\Desktop\homeprices4.csv")
df
m=math.floor(df.bedrooms.median()) // m is median which I have calculated
m
df.bedrooms.fillna(m)
reg=linear_model.LinearRegression()
reg.fit(df[['area','bedrooms','age']],df.price)
После этой строки я получаю сообщение об ошибке, потому что в спальнях есть одиннедостающее значениеЕсли я удаляю bedrooms
из этой строки и использую только area
и age
для прогноза, тогда NO error, и я получаю правильные результаты.
Поэтому мой вопрос: какзаменить отсутствующее значение медианой в файле CSV?Какой код для этого?Почему я получаю ошибку?
Посмотрите на скриншот для ошибки:
![enter image description here](https://i.stack.imgur.com/7etvF.png)