weixin_44940388 2021-05-26 23:28 采纳率: 20%
浏览 123

按照书上用波士顿房价作为数据集进行算法比较,为什么最后的输出数据是NAN?

我的算法

filename='housing_data.xlsx'
names= ['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PRTATIO','B','LSTAT','MEDV']
data = pd.read_excel(filename,names=names)
pd.set_option('display.width',120)
array = data.values
X = array[:,0:13]
Y = array[:,13]
validation_size=0.2
seed=7
X_train, X_validation, Y_train, Y_validation= train_test_split(X,Y,test_size=validation_size,random_state=seed )
num_folds = 10
seed = 7
scoring = 'neg_mean_squared_error'
models ={}
models['LR'] = LinearRegression()
models['Lasso'] = Lasso()
models['EN'] = ElasticNet()
models['KNN'] = KNeighborsRegressor()
models['CART'] =DecisionTreeClassifier()
models['SVM'] = SVR()
results = []
for key in models:
    kfold = KFold(n_splits=num_folds,shuffle=True,random_state=seed)
    cv_result = cross_val_score(models[key],X_train,Y_train,cv=kfold,scoring=scoring)
    results.append(cv_result)
print('%s: %f(%f)' % (key,cv_result.mean(),cv_result.std()))

输出结果是

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

  warnings.warn("Estimator fit failed. The score on this train-test"
SVM: nan(nan)
  • 写回答

1条回答 默认 最新

  • 生鱼同学 2023-03-17 19:23
    关注

    你好,这个错误基本上都是你的数据中存在一些模型无法接受的数据导致的,你是不是没有观察你的数据啊?在进行建模之前需要观察自己读取的数据是否符合要求。

    我建议你检查一下自己的数据是否读取正确了,或者利用下面的代码看看是否有缺失值。

    # 统计缺失值
    missing = data.isnull().sum()
    # 筛选出大于0的属性
    missing = missing[missing>0]
    # 排序
    missing.sort_values(inplace=True)
    missing.plot.bar()
    

    另外,你的数据格式不正确也可能会导致这个情况的发生。在进行模型训练之前你需要对特殊的数据格式(例如object)进行编码处理。你可以通过下面的代码检查一下是否有不是float类型的特征。

    data.info()
    

    具体的数据处理流程可以看我写的下面链接的内容,我在其中有详细的介绍:
    【建议收藏】机器学习数据预处理(一)——缺失值处理方法(内附代码)

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题