我正在尝试执行具有多个变量的线性回归模型。 我有一个具有以下属性的CSV文件: 'area', 'bedrooms', 'age', 'price' ,但是bedrooms 缺少值 (即NaN )。 我想通过提供其他三个属性来拟合模型并预测价格,但是由于缺少一个值,因此显示错误input contains nan infinity or a value too large for dtype('float64') 我找到了中位数并填写了缺失值,但是在CSV文件中,它没有被替换并且在拟合模型时给出了错误。 CSV文件如下:

CSV文件

我使用了以下代码:

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 ,并且仅将areaage用于预测,则没有错误,并且我得到的是正确的结果。

所以我的问题是:如何用CSV文件中的中位数替换缺失值? 那是什么代码? 为什么我得到错误?

查看屏幕截图中的错误:

在此处输入图片说明

#1楼 票数:2

您的帖子中有两个问题:

  1. 您的更改不会保存到数据fillna ,因为除非在参数中传递了fillna inplace=True否则fillna会返回一个副本。 这就是为什么您仍然得到错误的原因。
  2. 要将更改保存为CSV,您需要使用DataFrame.to_csv(...) ,但是鉴于我先前的观点,也许您不需要这样做。

我将通过数据清理步骤充实您的管道并保存清理后的数据。 我会做2个单独的脚本。

数据清理:

path_raw_data= r"C:\Users\rohit\Desktop\homeprices4.csv"
path_clean_data= r"C:\Users\rohit\Desktop\homeprices4_clean.csv"
df=pd.read_csv(path_raw_data)
m=math.floor(df.bedrooms.median()) // m is median which I have calculated
df.bedrooms.fillna(m, inplace=True)
df.to_csv(path_clean_data)

线性回归:

path_clean_data= r"C:\Users\rohit\Desktop\homeprices4_clean.csv"
df=pd.read_csv(path_clean_data)
reg=linear_model.LinearRegression()
reg.fit(df[['area','bedrooms','age']],df.price)

  ask by Rohit Aswal translate from so

未解决问题?本站智能推荐:

2回复

将OLS回归摘要打印到文本文件

我正在使用pandas.stats.api.ols运行OLS回归,使用groupby ,代码如下: 但是这会返回错误: 我的组中有大约2,000个项目,当我打印出每个项目时,它们看起来像这样: - 我希望能够将每个导出到csv,以便我可以单独查看它们。
1回复

使用两个相邻的预测值和实际值列创建Pandas数据帧

我是初学者,我正在使用python中的statsmodel.formula.api.OLS()函数构建线性回归模型。 我适合训练数据的模型,并在y_test(我的测试数据)上使用predict()函数来获得我的预测值。 我将预测值存储在y_pred中。 当我尝试打印y_pred时,它
1回复

如何使用python对csv文件数据执行机器学习多元回归?

我必须为任何csv文件编写一个一般情况的代码,以作为输入,不带任何变量和记录。 我已经开始这种方式了。如何继续?
1回复

多元线性回归值误差

我一直在尝试让我的线性回归模型预测到某个目的地的票价,但是,我不断收到此错误: 我的代码: 我看过其他问题/答案,它们并没有真正帮助。
1回复

使用定性数据为多元回归模型构建矩阵

我正在尝试使用定性数据构建多元回归模型。 为了做到这一点,我需要构建一个新的数据框,它创建一个新的数据框,其中包含基于唯一值的列,如果索引具有该值,则标记为 1。 例子: 并得到等于这个的结果
1回复

scikit-learn线性回归模型执行中的问题

我有一个数据集,其样本结构如下所示: 记录按company_id,state,profit,feature1,feature2,feature3 。 现在,我编写了这段代码,将他的整个数据集分解为12条记录的块(每个公司和该公司中的每个州都有12条记录),然后将其传递给proces
1回复

在Python中执行多元回归的测试数据集中的异常

我有一个数据集(训练,测试和结果),其中包含32个自变量和5个因变量。 为了掌握数据,我试图在其上构建一个简单的线性回归模型并测试其性能。 但是测试数据集中所有因变量行都用“?”填充。 Salary DOJ DOL Designation JobCity ? ? ? ? ? ? ?
1回复

使用 Pandas (StatsModels) 在多元回归上创建 for 循环

我正在对 50 个州进行多元回归,以确定基于几个变量的每个州的预期寿命。 目前我的数据集只过滤到缅因州,我想知道是否有办法创建一个 For 循环来遍历整个状态列并为每个状态执行回归。 这比创建 50 个过滤器更有效。 任何帮助都会很棒!