【发布时间】:2019-05-14 21:43:53
【问题描述】:
我开始使用 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').
你能帮帮我吗?
【问题讨论】:
-
错误告诉你问题所在,你有
NaN值,infinite值,或者scikit无法处理的非常大的值。检查数据中的NaN行并尝试删除它们 -
house_data.info(),检查空值
-
我得到了这个:house_data.info()
RangeIndex:827 个条目,0 到 826 数据列(共 3 列):价格 827 非空int64 表面 822 非空 float64 区 822 非空 float64 数据类型:float64(2),int64(1) 内存使用量:19.5 KB -
请不要使用 cmets 空间发布代码和结果 - 改为编辑和更新您的帖子
标签: python machine-learning scikit-learn linear-regression