gpt4 book ai didi

python - scikit-learn 中的线性回归

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:00 25 4
gpt4 key购买 nike

我开始使用 Pandas 和 Sklearn 在 Python 上学习机器学习。我尝试使用 LinearRegression().fit 方法:

import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
house_data = pd.read_csv(r"C:\Users\yassine\Desktop\ml\OC-tp-ML\house_data.csv")
y = house_data[["price"]]
x = house_data[["surface","arrondissement"]]
X = house_data.iloc[:, 1:3].values
x_train, x_test, y_train, y_test = train_test_split (x, y, test_size=0.25, random_state=1)
model = LinearRegression()
model.fit(x_train, y_train)

当我运行代码时,我收到以下消息:

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

你能帮帮我吗

最佳答案

机器学习模型可能需要您在数据清理过程中估算数据。线性回归非常关心 yhat,因此我通常从估算均值开始。如果您不愿意估算缺失数据,您可以删除包含 NaN 的观测值(前提是您只有一小部分 NaN 观测值。)

估算均值可能如下所示:

df = df.fillna(df.mean())

归零看起来像这样:

df = df.fillna(0)

对自定义结果的插值看起来像:

df = df.fillna(my_func(args))

完全放弃看起来像:

df = df.dropna()

准备好让 inf 可以提前被这些方法捕获,如下所示:

df.replace([np.inf, -np.inf], np.nan)

关于python - scikit-learn 中的线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53765848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com