在用所有可能的预测变量拟合模型时,它会抛出此错误 类型错误:不支持 ufunc 'isfinite'


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
dataset=pd.read_csv('50_Startups.csv')
x=dataset.iloc[:,:-1].values
y=dataset.iloc[:,4].values
from sklearn.preprocessing import LabelEncoder ,OneHotEncoder
from sklearn.compose import ColumnTransformer
labelencoder_x=LabelEncoder()
x[:,3]=labelencoder_x.fit_transform(x[:,3])
columntransformer = ColumnTransformer([("Country", OneHotEncoder(), [3])], remainder = 'passthrough')
x = columntransformer.fit_transform(x)
x=x[:,1:]
from sklearn.model_selection import train_test_split
xtrain,xtest,ytrain,ytest=train_test_split(x,y,test_size=1/3,random_state=0)
from sklearn.linear_model import LinearRegression
regressor=LinearRegression()
regressor.fit(xtrain, ytrain)
ypred=regressor.predict(xtest)
import statsmodels.api as sm
x=np.append(arr=np.ones((50,1)).astype(float),values=x,axis=1)
xopt=x[:,[0,1,2,3,4,5]] 

regressorols=sm.OLS(endog = y,exog = xopt).fit()
regressorols.summary()

且输出为

*runcell(0,'C:\/Users/patil/Downloads/P14机器学习AZ模板文件夹/机器学习A-Z模板文件夹/第2部分-回归/第5节-多重线性回归/unittled0.py'(回溯(最后一次调用(:

文件"C:\Users\patil\Downloads\P14机器学习AZ模板文件夹\Machine学习A-Z模板文件夹\第2部分-回归\第5节-多重线性回归\untitled0.py",第36行,in回归函数=sm。OLS(endo=y,exo=xopt(.fit((

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\regression \lineral_model.py",第859行,inithasconst=hasconst,**kwargs(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\regression \lineral_model.py",第702行,在initweights=weights,hasconst=hasconst,**kwargs(中

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\regression \lineral_model.py",第190行,在initsuper(RegressionModel,self(中初始化(endog、exog、**kwargs(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\base\model.py",第236行,在initsuper(似然模型,self(中初始化(endog、exog、**kwargs(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\base\model.py",第77行,init**kwargs(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\base\model.py",第100行,在_handle_data中data=handle_data(endog、exog、missing、hasconst、**kwargs(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\base\data.py",第672行,在handle_data中**kwargs(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\base\data.py",第87行,在initself中_handle_constant(hasconst(

文件"C:\Users\patil\anaconda3\lib\site packages\statsmodels\base\data.py",第132行,在_handle_constant中如果不是np.sfinite(exog_max(.all((:

TypeError:输入类型不支持ufunc"isfinte",并且根据,输入无法安全地强制为任何支持的类型

强制转换规则"安全"*

import statsmodels.api as sm
x=np.append(arr=np.ones((50,1)).astype(float),values=x,axis=1)
x=x.astype(float)
xopt=x[:,[0,1,2,3,4,5]] 

regressorols=sm.OLS(endog = y,exog = xopt).fit()
regressorols.summary()

工作

最新更新