构建线性回归模型时,为什么会出现Value错误?

时间:2019-07-18 05:23:03

标签: python-3.x linear-regression

我正在尝试为数据集构建线性回归模型。将数据拆分为训练并进行测试后,出现以下错误:

ValueError:无法将字符串转换为float:'?' 这是否意味着数据集中存在空值或浮点值?

由于我是Python的新手,所以我不知道如何纠正它。有人可以帮我吗?

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn import linear_model
df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data', names = ['ID Number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape', 'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin', 'Normal Nucleoli', 'Mitoses', 'Class'])
X = df.iloc[:, 0:9].values
y = df.iloc[:, 10].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.4, random_state = 4)
print(X_train.shape)
print(y_train.shape)
print(X_test.shape)
print(y_test.shape)
lr = linear_model.LinearRegression()
lr.fit(X_train, y_train)

1 个答案:

答案 0 :(得分:1)

您正在使用的breast-cancer-wisconsin.data数据集的某些行带有'?'作为第7列中的值。 因此,当您创建X和y时,不要考虑带有'?'的行。作为价值。

我希望这会有所帮助。