我无法使用Python的StatsModels生成预测值。我希望做的是给出优惠券价值的具体值并产生概率。例如...... 40美分优惠券应预测x%概率。
任何建议都将不胜感激。我附加了GitHub链接和代码。
__author__ = 'deaco'
#http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.RegressionResults.html
#http://statsmodels.sourceforge.net/stable/examples/notebooks/generated/discrete_choice_example.html
import pandas as pd
import sys
import numpy as np
##import sklearn.linear_model as sk
#import CSV Data
import statsmodels.api as sm
data = pd.read_csv('CouponData.csv')
df = pd.DataFrame()
CouponValue = data["CouponValue"]
Redeemed = data["Redeemed"]
y = Redeemed
x = sm.add_constant(CouponValue)
# Logit Model
logit_mod = sm.Logit(y, x)
logit_res = logit_mod.fit()
print(logit_res.summary())
print("Chi Square Results")
print(logit_res.pred_table())
ActualNoEstNo = logit_res.pred_table()[0][0]
ActualNoEstYes = logit_res.pred_table()[0][1]
ActualYesEstNo = logit_res.pred_table()[1][0]
ActualYesEstYes = logit_res.pred_table()[1][1]
print("Observations")
print(logit_res.nobs)
print("Actual No / Estimated No")
print(ActualNoEstNo)
print("Actual No / Estimated Yes")
print(ActualNoEstYes)
print("Actual Yes / Estimated No")
print(ActualYesEstNo)
print("Actual Yes / Estimated Yes")
print(ActualYesEstYes)
CorrectClassificationRate = (ActualYesEstYes + ActualNoEstNo) / logit_res.nobs
MisclassificationRate = (ActualNoEstYes + ActualYesEstNo) / logit_res.nobs
print("Correct Classification Rate")
print(str(CorrectClassificationRate * 100) + "%")
print("Misclassification Rate")
print(str(MisclassificationRate * 100) + "%")
print("Switch @")
print((-1 * logit_res.params[0])/logit_res.params[1])
name = 'results.txt' # Name of text file coerced with +.txt
file = open(name,'r+') # Trying to create a new file or open one
file.write(str(logit_res.summary()) + "\n")
file.write("Correct Classification Rate" + "\n")
file.write(str(CorrectClassificationRate * 100) + "%" + "\n")
file.write("Misclassification Rate" + "\n")
file.write(str(MisclassificationRate * 100) + "%\n")
file.write(str(data.describe()))
file.close()
predictionValues = [.1]
#file.write(str())
print(logit_mod.predict(predictionValues))
GitHub:https://github.com/deacons2016/Statistics-Models/tree/master/Coupon