예제 #1
0
from process_data import process_input

# For logging
import logging
import traceback
from logging.handlers import RotatingFileHandler
from time import strftime, time

app = Flask(__name__)

xgb_ClaimInd_model = XGBClassifier()
booster = xgb.Booster()
booster.load_model('models/xgb_ClaimInd_model')
xgb_ClaimInd_model._Booster = booster

xgb_ClaimInd_model._le = LabelEncoder().fit([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Logging
handler = RotatingFileHandler('app.log', maxBytes=100000, backupCount=5)
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logger.addHandler(handler)


@app.route("/")
def index():
    return "RenataTNT API"


@app.route("/predict", methods=['POST'])
def predict():
예제 #2
0
for col in cols:
    test[col] = test[col].astype('str')
    test[col] = LabelEncoder().fit_transform(test[col])

for col in cols[:4]:
    test[col] = test[col].astype('category')
    test[col] = LabelEncoder().fit_transform(test[col])

bar.progress(90)

#Normalization
latest_iteration.text('Normalization...')
test.loc[:, cols] = objects['scaler'].fit_transform(test[cols])
bar.progress(100)
latest_iteration.text('')
st.success('Done!')

st.write('## Classification ')
st.write(test.columns)
#Predictive Modeling
test = test[objects['features']]
model._le = LabelEncoder().fit(['0', '1'])
y_pred = model.predict(test)
ds['clicked'] = y_pred
st.write('10 first rows')
st.dataframe(ds[:20])

st.write('Click Through Rate=(Total Clicks on Ad) / (Total Impressions)')

st.write('CTR= ', ds['clicked'].mean())