Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
481 views
in Technique[技术] by (71.8m points)

logistic regression - At what point does Python (or statsmodel) round off small floats tending towards zero to Zero?

I wrote the below code to eliminate independent variables according to how small their p-value is. The idea is to find the smallest p-value. I found I had to eliminate all columns where their p-value was greater than zero because python rounded very very tiny floats to zero.

I would like to know, at what particular point does python round off a really tiny float to zero as this would be relevant knowledge going forward.

The smallest value that was eliminated from my situation was 1.1408804269349811e-156, the others were rounded off to zero.

I have attached screenshot of results hereto provide context.

Thanks.

#backward elimination
    cols = list(X.columns)
    pmax = 1
    while (len(cols)>0):
        p= []
        X_1 = X[cols]
        X_1 = sm.add_constant(X_1)
        model = sm.OLS(y,X_1).fit()
        p = pd.Series(model.pvalues.values[1:],index=cols)
        print(p)
        pmax = max(p)
        print("pmax: ")
        print(pmax)
        feature_with_p_max = p.idxmax()
        if(pmax>0):
            cols.remove(feature_with_p_max)
            print(cols)
        else:
            break
    selected_features_BE = cols
    print(selected_features_BE)` 

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...