Kaggle竞赛项目--推荐系统之便利店销量预测

2023-10-19 18:50

本文主要是介绍Kaggle竞赛项目--推荐系统之便利店销量预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

视频地址:https://www.bilibili.com/video/av53701517

源码地址: 链接:https://pan.baidu.com/s/1r-ncwIDU92ZFMQaBY5sBaQ  提取码:peeq 
 

Forecast sales using store, promotion, and competitor data 

Rossmann operates over 3,000 drug stores in 7 European countries. Currently, 
Rossmann store managers are tasked with predicting their daily sales for up to six weeks in advance. Store sales are influenced by many factors, including promotions, competition, school and state holidays, seasonality, and locality. With thousands of individual managers predicting sales based on their unique circumstances, the accuracy of results can be quite varied.

In their first Kaggle competition, Rossmann is challenging you to predict 6 weeks of daily sales for 1,115 stores located across Germany. Reliable sales forecasts enable store managers to create effective staff schedules that increase productivity and motivation. By helping Rossmann create a robust prediction model, you will help store managers stay focused on what’s most important to them: their customers and their teams!If you are interested in joining Rossmann at their headquarters near Hanover, Germany, please contact Mr. Frank König (Frank.Koenig {at} rossmann.de) Rossmann is currently recruiting data scientists at senior and entry-level positions.

数据

You are provided with historical sales data for 1,115 Rossmann stores. The task is to forecast the "Sales" column for the test set. Note that some stores in the dataset were temporarily closed for refurbishment.

Files

  • train.csv - historical data including Sales
  • test.csv - historical data excluding Sales
  • sample_submission.csv - a sample submission file in the correct format
  • store.csv - supplemental information about the stores

Data fields

Most of the fields are self-explanatory. The following are descriptions for those that aren't.

  • Id - an Id that represents a (Store, Date) duple within the test set
  • Store - a unique Id for each store
  • Sales - the turnover for any given day (this is what you are predicting)
  • Customers - the number of customers on a given day
  • Open - an indicator for whether the store was open: 0 = closed, 1 = open
  • StateHoliday - indicates a state holiday. Normally all stores, with few exceptions, are closed on state holidays. Note that all schools are closed on public holidays and weekends. a = public holiday, b = Easter holiday, c = Christmas, 0 = None
  • SchoolHoliday - indicates if the (Store, Date) was affected by the closure of public schools
  • StoreType - differentiates between 4 different store models: a, b, c, d
  • Assortment - describes an assortment level: a = basic, b = extra, c = extended
  • CompetitionDistance - distance in meters to the nearest competitor store
  • CompetitionOpenSince[Month/Year] - gives the approximate year and month of the time the nearest competitor was opened
  • Promo - indicates whether a store is running a promo on that day
  • Promo2 - Promo2 is a continuing and consecutive promotion for some stores: 0 = store is not participating, 1 = store is participating
  • Promo2Since[Year/Week] - describes the year and calendar week when the store started participating in Promo2
  • PromoInterval - describes the consecutive intervals Promo2 is started, naming the months the promotion is started anew. E.g. "Feb,May,Aug,Nov" means each round starts in February, May, August, November of any given year for that store

引入所需的库

import pandas as pd
import datetime
import csv
import numpy as np
import os
import scipy as sp
import xgboost as xgb
import itertools
import operator
import warnings
warnings.filterwarnings("ignore")from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.base import TransformerMixin
from sklearn import cross_validation
from matplotlib import pylab as plt
plot = Truegoal = 'Sales'
myid = 'Id'

定义一些变换和评判准则

使用不同的loss function的时候要特别注意这个

def ToWeight(y):w = np.zeros(y.shape, dtype=float)ind = y != 0w[ind] = 1./(y[ind]**2)return wdef rmspe(yhat, y):w = ToWeight(y)rmspe = np.sqrt(np.mean( w * (y - yhat)**2 ))return rmspedef rmspe_xg(yhat, y):# y = y.valuesy = y.get_label()y = np.exp(y) - 1yhat = np.exp(yhat) - 1w = ToWeight(y)rmspe = np.sqrt(np.mean(w * (y - yhat)**2))return "rmspe", rmspe
store = pd.read_csv('./data/store.csv')
store.head()

train_df = pd.read_csv('./data/train.csv')
train_df.head()

test_df = pd.read_csv('./data/test.csv')
test_df.head()

加载数据

def load_data():"""加载数据,设定数值型和非数值型数据"""store = pd.read_csv('./data/store.csv')train_org = pd.read_csv('./data/train.csv',dtype={'StateHoliday':pd.np.string_})test_org = pd.read_csv('./data/test.csv',dtype={'StateHoliday':pd.np.string_})train = pd.merge(train_org,store, on='Store', how='left')test = pd.merge(test_org,store, on='Store', how='left')features = test.columns.tolist()numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']features_numeric = test.select_dtypes(include=numerics).columns.tolist()features_non_numeric = [f for f in features if f not in features_numeric]return (train,test,features,features_non_numeric)

数据与特征处理

def process_data(train,test,features,features_non_numeric):"""Feature engineering and selection."""# # FEATURE ENGINEERINGtrain = train[train['Sales'] > 0]for data in [train,test]:# year month daydata['year'] = data.Date.apply(lambda x: x.split('-')[0])data['year'] = data['year'].astype(float)data['month'] = data.Date.apply(lambda x: x.split('-')[1])data['month'] = data['month'].astype(float)data['day'] = data.Date.apply(lambda x: x.split('-')[2])data['day'] = data['day'].astype(float)# promo interval "Jan,Apr,Jul,Oct"data['promojan'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Jan" in x else 0)data['promofeb'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Feb" in x else 0)data['promomar'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Mar" in x else 0)data['promoapr'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Apr" in x else 0)data['promomay'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "May" in x else 0)data['promojun'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Jun" in x else 0)data['promojul'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Jul" in x else 0)data['promoaug'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Aug" in x else 0)data['promosep'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Sep" in x else 0)data['promooct'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Oct" in x else 0)data['promonov'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Nov" in x else 0)data['promodec'] = data.PromoInterval.apply(lambda x: 0 if isinstance(x, float) else 1 if "Dec" in x else 0)# # Features set.noisy_features = [myid,'Date']features = [c for c in features if c not in noisy_features]features_non_numeric = [c for c in features_non_numeric if c not in noisy_features]features.extend(['year','month','day'])# Fill NAclass DataFrameImputer(TransformerMixin):# http://stackoverflow.com/questions/25239958/impute-categorical-missing-values-in-scikit-learndef __init__(self):"""Impute missing values.Columns of dtype object are imputed with the most frequent valuein column.Columns of other types are imputed with mean of column."""def fit(self, X, y=None):self.fill = pd.Series([X[c].value_counts().index[0] # modeif X[c].dtype == np.dtype('O') else X[c].mean() for c in X], # meanindex=X.columns)return selfdef transform(self, X, y=None):return X.fillna(self.fill)train = DataFrameImputer().fit_transform(train)test = DataFrameImputer().fit_transform(test)# Pre-processing non-numberic valuesle = LabelEncoder()for col in features_non_numeric:le.fit(list(train[col])+list(test[col]))train[col] = le.transform(train[col])test[col] = le.transform(test[col])# LR和神经网络这种模型都对输入数据的幅度极度敏感,请先做归一化操作scaler = StandardScaler()for col in set(features) - set(features_non_numeric) - \set([]): # TODO: add what not to scalescaler.fit(list(train[col])+list(test[col]))train[col] = scaler.transform(train[col])test[col] = scaler.transform(test[col])return (train,test,features,features_non_numeric)

训练与分析

def XGB_native(train,test,features,features_non_numeric):depth = 13eta = 0.01ntrees = 8000mcw = 3params = {"objective": "reg:linear","booster": "gbtree","eta": eta,"max_depth": depth,"min_child_weight": mcw,"subsample": 0.9,"colsample_bytree": 0.7,"silent": 1}print "Running with params: " + str(params)print "Running with ntrees: " + str(ntrees)print "Running with features: " + str(features)# Train model with local splittsize = 0.05X_train, X_test = cross_validation.train_test_split(train, test_size=tsize)dtrain = xgb.DMatrix(X_train[features], np.log(X_train[goal] + 1))dvalid = xgb.DMatrix(X_test[features], np.log(X_test[goal] + 1))watchlist = [(dvalid, 'eval'), (dtrain, 'train')]gbm = xgb.train(params, dtrain, ntrees, evals=watchlist, early_stopping_rounds=100, feval=rmspe_xg, verbose_eval=True)train_probs = gbm.predict(xgb.DMatrix(X_test[features]))indices = train_probs < 0train_probs[indices] = 0error = rmspe(np.exp(train_probs) - 1, X_test[goal].values)print error# Predict and Exporttest_probs = gbm.predict(xgb.DMatrix(test[features]))indices = test_probs < 0test_probs[indices] = 0submission = pd.DataFrame({myid: test[myid], goal: np.exp(test_probs) - 1})if not os.path.exists('result/'):os.makedirs('result/')submission.to_csv("./result/dat-xgb_d%s_eta%s_ntree%s_mcw%s_tsize%s.csv" % (str(depth),str(eta),str(ntrees),str(mcw),str(tsize)) , index=False)# Feature importanceif plot:outfile = open('xgb.fmap', 'w')i = 0for feat in features:outfile.write('{0}\t{1}\tq\n'.format(i, feat))i = i + 1outfile.close()importance = gbm.get_fscore(fmap='xgb.fmap')importance = sorted(importance.items(), key=operator.itemgetter(1))df = pd.DataFrame(importance, columns=['feature', 'fscore'])df['fscore'] = df['fscore'] / df['fscore'].sum()# Plotitupplt.figure()df.plot()df.plot(kind='barh', x='feature', y='fscore', legend=False, figsize=(25, 15))plt.title('XGBoost Feature Importance')plt.xlabel('relative importance')plt.gcf().savefig('Feature_Importance_xgb_d%s_eta%s_ntree%s_mcw%s_tsize%s.png' % (str(depth),str(eta),str(ntrees),str(mcw),str(tsize)))
print "=> 载入数据中..."
train,test,features,features_non_numeric = load_data()
print "=> 处理数据与特征工程..."
train,test,features,features_non_numeric = process_data(train,test,features,features_non_numeric)
print "=> 使用XGBoost建模..."
XGB_native(train,test,features,features_non_numeric)

Will train until train error hasn't decreased in 100 rounds.
[0]	eval-rmspe:0.999864	train-rmspe:0.999864
[1]	eval-rmspe:0.999838	train-rmspe:0.999838
[2]	eval-rmspe:0.999810	train-rmspe:0.999810
[3]	eval-rmspe:0.999780	train-rmspe:0.999780
[4]	eval-rmspe:0.999747	train-rmspe:0.999748
[5]	eval-rmspe:0.999713	train-rmspe:0.999713
[6]	eval-rmspe:0.999676	train-rmspe:0.999676
[7]	eval-rmspe:0.999637	train-rmspe:0.999637
[8]	eval-rmspe:0.999594	train-rmspe:0.999595
[9]	eval-rmspe:0.999550	train-rmspe:0.999550
[10]	eval-rmspe:0.999502	train-rmspe:0.999502
[11]	eval-rmspe:0.999451	train-rmspe:0.999451
[12]	eval-rmspe:0.999397	train-rmspe:0.999397
[13]	eval-rmspe:0.999339	train-rmspe:0.999339
[14]	eval-rmspe:0.999277	train-rmspe:0.999278
[15]	eval-rmspe:0.999212	train-rmspe:0.999213
[16]	eval-rmspe:0.999143	train-rmspe:0.999143
[17]	eval-rmspe:0.999069	train-rmspe:0.999070
[18]	eval-rmspe:0.998991	train-rmspe:0.998992
[19]	eval-rmspe:0.998908	train-rmspe:0.998909
[20]	eval-rmspe:0.998821	train-rmspe:0.998822
[21]	eval-rmspe:0.998728	train-rmspe:0.998729
[22]	eval-rmspe:0.998630	train-rmspe:0.998631
[23]	eval-rmspe:0.998527	train-rmspe:0.998528
[24]	eval-rmspe:0.998418	train-rmspe:0.998418
[25]	eval-rmspe:0.998303	train-rmspe:0.998303
[26]	eval-rmspe:0.998181	train-rmspe:0.998182
[27]	eval-rmspe:0.998053	train-rmspe:0.998053
[28]	eval-rmspe:0.997917	train-rmspe:0.997918
[29]	eval-rmspe:0.997775	train-rmspe:0.997776
[30]	eval-rmspe:0.997626	train-rmspe:0.997627
[31]	eval-rmspe:0.997469	train-rmspe:0.997470
[32]	eval-rmspe:0.997303	train-rmspe:0.997304
[33]	eval-rmspe:0.997130	train-rmspe:0.997130
[34]	eval-rmspe:0.996947	train-rmspe:0.996948
[35]	eval-rmspe:0.996756	train-rmspe:0.996757
[36]	eval-rmspe:0.996556	train-rmspe:0.996557
[37]	eval-rmspe:0.996347	train-rmspe:0.996348
[38]	eval-rmspe:0.996127	train-rmspe:0.996128
[39]	eval-rmspe:0.995897	train-rmspe:0.995898
[40]	eval-rmspe:0.995657	train-rmspe:0.995658
[41]	eval-rmspe:0.995405	train-rmspe:0.995406
[42]	eval-rmspe:0.995143	train-rmspe:0.995143
[43]	eval-rmspe:0.994869	train-rmspe:0.994870
[44]	eval-rmspe:0.994582	train-rmspe:0.994583
[45]	eval-rmspe:0.994284	train-rmspe:0.994285
[46]	eval-rmspe:0.993972	train-rmspe:0.993973
[47]	eval-rmspe:0.993647	train-rmspe:0.993648
[48]	eval-rmspe:0.993310	train-rmspe:0.993310
[49]	eval-rmspe:0.992957	train-rmspe:0.992958
[50]	eval-rmspe:0.992592	train-rmspe:0.992592
[51]	eval-rmspe:0.992212	train-rmspe:0.992212
[52]	eval-rmspe:0.991815	train-rmspe:0.991815
[53]	eval-rmspe:0.991404	train-rmspe:0.991404
[54]	eval-rmspe:0.990975	train-rmspe:0.990975
[55]	eval-rmspe:0.990532	train-rmspe:0.990532
[56]	eval-rmspe:0.990072	train-rmspe:0.990072
[57]	eval-rmspe:0.989596	train-rmspe:0.989595
[58]	eval-rmspe:0.989102	train-rmspe:0.989101
[59]	eval-rmspe:0.988589	train-rmspe:0.988588
[60]	eval-rmspe:0.988058	train-rmspe:0.988058
[61]	eval-rmspe:0.987509	train-rmspe:0.987508
[62]	eval-rmspe:0.986942	train-rmspe:0.986941
[63]	eval-rmspe:0.986356	train-rmspe:0.986355
[64]	eval-rmspe:0.985748	train-rmspe:0.985747
[65]	eval-rmspe:0.985122	train-rmspe:0.985121
[66]	eval-rmspe:0.984474	train-rmspe:0.984473
[67]	eval-rmspe:0.983806	train-rmspe:0.983804
[68]	eval-rmspe:0.983117	train-rmspe:0.983115
[69]	eval-rmspe:0.982407	train-rmspe:0.982406
[70]	eval-rmspe:0.981673	train-rmspe:0.981671
[71]	eval-rmspe:0.980916	train-rmspe:0.980914
[72]	eval-rmspe:0.980138	train-rmspe:0.980136
[73]	eval-rmspe:0.979336	train-rmspe:0.979333
[74]	eval-rmspe:0.978509	train-rmspe:0.978506
[75]	eval-rmspe:0.977662	train-rmspe:0.977660
[76]	eval-rmspe:0.976788	train-rmspe:0.976786
[77]	eval-rmspe:0.975891	train-rmspe:0.975887
[78]	eval-rmspe:0.974967	train-rmspe:0.974963
[79]	eval-rmspe:0.974015	train-rmspe:0.974011
[80]	eval-rmspe:0.973041	train-rmspe:0.973037
[81]	eval-rmspe:0.972039	train-rmspe:0.972036
[82]	eval-rmspe:0.971013	train-rmspe:0.971010
[83]	eval-rmspe:0.969961	train-rmspe:0.969957
[84]	eval-rmspe:0.968882	train-rmspe:0.968878
[85]	eval-rmspe:0.967775	train-rmspe:0.967770
[86]	eval-rmspe:0.966639	train-rmspe:0.966635
[87]	eval-rmspe:0.965480	train-rmspe:0.965475
[88]	eval-rmspe:0.964287	train-rmspe:0.964283
[89]	eval-rmspe:0.963068	train-rmspe:0.963063
[90]	eval-rmspe:0.961818	train-rmspe:0.961814
[91]	eval-rmspe:0.960541	train-rmspe:0.960536
[92]	eval-rmspe:0.959236	train-rmspe:0.959231
[93]	eval-rmspe:0.957903	train-rmspe:0.957898
[94]	eval-rmspe:0.956536	train-rmspe:0.956532
[95]	eval-rmspe:0.955146	train-rmspe:0.955141
[96]	eval-rmspe:0.953722	train-rmspe:0.953717
[97]	eval-rmspe:0.952264	train-rmspe:0.952260
[98]	eval-rmspe:0.950781	train-rmspe:0.950777
[99]	eval-rmspe:0.949263	train-rmspe:0.949260
[100]	eval-rmspe:0.947724	train-rmspe:0.947721
[101]	eval-rmspe:0.946153	train-rmspe:0.946150
[102]	eval-rmspe:0.944546	train-rmspe:0.944544
[103]	eval-rmspe:0.942909	train-rmspe:0.942907
[104]	eval-rmspe:0.941239	train-rmspe:0.941238
[105]	eval-rmspe:0.939537	train-rmspe:0.939537
[106]	eval-rmspe:0.937813	train-rmspe:0.937813
[107]	eval-rmspe:0.936048	train-rmspe:0.936050
[108]	eval-rmspe:0.934255	train-rmspe:0.934258
[109]	eval-rmspe:0.932432	train-rmspe:0.932436
[110]	eval-rmspe:0.930573	train-rmspe:0.930578
[111]	eval-rmspe:0.928691	train-rmspe:0.928697
[112]	eval-rmspe:0.926783	train-rmspe:0.926790
[113]	eval-rmspe:0.924841	train-rmspe:0.924849
[114]	eval-rmspe:0.922866	train-rmspe:0.922875
[115]	eval-rmspe:0.920861	train-rmspe:0.920872
[116]	eval-rmspe:0.918817	train-rmspe:0.918830
[117]	eval-rmspe:0.916740	train-rmspe:0.916756
[118]	eval-rmspe:0.914641	train-rmspe:0.914659
[119]	eval-rmspe:0.912504	train-rmspe:0.912524
[120]	eval-rmspe:0.910340	train-rmspe:0.910363
[121]	eval-rmspe:0.908146	train-rmspe:0.908172
[122]	eval-rmspe:0.905924	train-rmspe:0.905952
[123]	eval-rmspe:0.903665	train-rmspe:0.903696
[124]	eval-rmspe:0.901385	train-rmspe:0.901419
[125]	eval-rmspe:0.899064	train-rmspe:0.899100
[126]	eval-rmspe:0.896714	train-rmspe:0.896753
[127]	eval-rmspe:0.894339	train-rmspe:0.894382
[128]	eval-rmspe:0.891930	train-rmspe:0.891975
[129]	eval-rmspe:0.889488	train-rmspe:0.889537
[130]	eval-rmspe:0.887016	train-rmspe:0.887070
[131]	eval-rmspe:0.884516	train-rmspe:0.884575
[132]	eval-rmspe:0.881991	train-rmspe:0.882054
[133]	eval-rmspe:0.879438	train-rmspe:0.879505
[134]	eval-rmspe:0.876871	train-rmspe:0.876942
[135]	eval-rmspe:0.874260	train-rmspe:0.874337
[136]	eval-rmspe:0.871616	train-rmspe:0.871698
[137]	eval-rmspe:0.868961	train-rmspe:0.869046
[138]	eval-rmspe:0.866260	train-rmspe:0.866351
[139]	eval-rmspe:0.863534	train-rmspe:0.863632
[140]	eval-rmspe:0.860796	train-rmspe:0.860899
[141]	eval-rmspe:0.858021	train-rmspe:0.858131
[142]	eval-rmspe:0.855213	train-rmspe:0.855331
[143]	eval-rmspe:0.852387	train-rmspe:0.852512
[144]	eval-rmspe:0.849545	train-rmspe:0.849678
[145]	eval-rmspe:0.846674	train-rmspe:0.846814
[146]	eval-rmspe:0.843768	train-rmspe:0.843917
[147]	eval-rmspe:0.840848	train-rmspe:0.841005
[148]	eval-rmspe:0.837907	train-rmspe:0.838073
[149]	eval-rmspe:0.834927	train-rmspe:0.835103
[150]	eval-rmspe:0.831933	train-rmspe:0.832115
[151]	eval-rmspe:0.828913	train-rmspe:0.829105
[152]	eval-rmspe:0.825874	train-rmspe:0.826077
[153]	eval-rmspe:0.822809	train-rmspe:0.823022
[154]	eval-rmspe:0.819724	train-rmspe:0.819949
[155]	eval-rmspe:0.816622	train-rmspe:0.816859
[156]	eval-rmspe:0.813492	train-rmspe:0.813740
[157]	eval-rmspe:0.810347	train-rmspe:0.810608
[158]	eval-rmspe:0.807189	train-rmspe:0.807463
[159]	eval-rmspe:0.804018	train-rmspe:0.804305
[160]	eval-rmspe:0.800810	train-rmspe:0.801112
[161]	eval-rmspe:0.797586	train-rmspe:0.797902
[162]	eval-rmspe:0.794338	train-rmspe:0.794668
[163]	eval-rmspe:0.791072	train-rmspe:0.791419
[164]	eval-rmspe:0.787807	train-rmspe:0.788168
[165]	eval-rmspe:0.784528	train-rmspe:0.784904
[166]	eval-rmspe:0.781223	train-rmspe:0.781614
[167]	eval-rmspe:0.777907	train-rmspe:0.778315
[168]	eval-rmspe:0.774574	train-rmspe:0.774998
[169]	eval-rmspe:0.771232	train-rmspe:0.771673
[170]	eval-rmspe:0.767850	train-rmspe:0.768309
[171]	eval-rmspe:0.764459	train-rmspe:0.764921
[172]	eval-rmspe:0.761063	train-rmspe:0.761544
[173]	eval-rmspe:0.757638	train-rmspe:0.758139
[174]	eval-rmspe:0.754222	train-rmspe:0.754743
[175]	eval-rmspe:0.750783	train-rmspe:0.751324
[176]	eval-rmspe:0.747327	train-rmspe:0.747891
[177]	eval-rmspe:0.743874	train-rmspe:0.744462
[178]	eval-rmspe:0.740393	train-rmspe:0.741004
[179]	eval-rmspe:0.736912	train-rmspe:0.737547
[180]	eval-rmspe:0.733413	train-rmspe:0.734073
[181]	eval-rmspe:0.729911	train-rmspe:0.730592
[182]	eval-rmspe:0.726400	train-rmspe:0.727108
[183]	eval-rmspe:0.722867	train-rmspe:0.723602
[184]	eval-rmspe:0.719336	train-rmspe:0.720100
[185]	eval-rmspe:0.715804	train-rmspe:0.716595
[186]	eval-rmspe:0.712266	train-rmspe:0.713081
[187]	eval-rmspe:0.708727	train-rmspe:0.709572
[188]	eval-rmspe:0.705180	train-rmspe:0.706057
[189]	eval-rmspe:0.701624	train-rmspe:0.702531
[190]	eval-rmspe:0.698065	train-rmspe:0.699002
[191]	eval-rmspe:0.694486	train-rmspe:0.695456
[192]	eval-rmspe:0.690903	train-rmspe:0.691906
[193]	eval-rmspe:0.687327	train-rmspe:0.688363
[194]	eval-rmspe:0.683744	train-rmspe:0.684816
[195]	eval-rmspe:0.680163	train-rmspe:0.681267
[196]	eval-rmspe:0.676581	train-rmspe:0.677718
[197]	eval-rmspe:0.672995	train-rmspe:0.674167
[198]	eval-rmspe:0.669403	train-rmspe:0.670615
[199]	eval-rmspe:0.665808	train-rmspe:0.667054
[200]	eval-rmspe:0.662204	train-rmspe:0.663490
[201]	eval-rmspe:0.658612	train-rmspe:0.659936
[202]	eval-rmspe:0.655009	train-rmspe:0.656374
[203]	eval-rmspe:0.651414	train-rmspe:0.652821
[204]	eval-rmspe:0.647823	train-rmspe:0.649273
[205]	eval-rmspe:0.644224	train-rmspe:0.645712
[206]	eval-rmspe:0.640633	train-rmspe:0.642163
[207]	eval-rmspe:0.637032	train-rmspe:0.638610
[208]	eval-rmspe:0.633434	train-rmspe:0.635059
[209]	eval-rmspe:0.629856	train-rmspe:0.631529
[210]	eval-rmspe:0.626272	train-rmspe:0.627993
[211]	eval-rmspe:0.622688	train-rmspe:0.624438
[212]	eval-rmspe:0.619104	train-rmspe:0.620901
[213]	eval-rmspe:0.615533	train-rmspe:0.617381
[214]	eval-rmspe:0.611960	train-rmspe:0.613804
[215]	eval-rmspe:0.608390	train-rmspe:0.610288
[216]	eval-rmspe:0.604828	train-rmspe:0.606736
[217]	eval-rmspe:0.601281	train-rmspe:0.603231
[218]	eval-rmspe:0.597736	train-rmspe:0.599731
[219]	eval-rmspe:0.594199	train-rmspe:0.596253
[220]	eval-rmspe:0.590670	train-rmspe:0.592772
[221]	eval-rmspe:0.587147	train-rmspe:0.589304
[222]	eval-rmspe:0.583627	train-rmspe:0.585833
[223]	eval-rmspe:0.580118	train-rmspe:0.582381
[224]	eval-rmspe:0.576615	train-rmspe:0.578939
[225]	eval-rmspe:0.573117	train-rmspe:0.575501
[226]	eval-rmspe:0.569634	train-rmspe:0.572083
[227]	eval-rmspe:0.566160	train-rmspe:0.568666
[228]	eval-rmspe:0.562700	train-rmspe:0.565268
[229]	eval-rmspe:0.559248	train-rmspe:0.561880
[230]	eval-rmspe:0.555806	train-rmspe:0.558472
[231]	eval-rmspe:0.552370	train-rmspe:0.555089
[232]	eval-rmspe:0.548946	train-rmspe:0.551725
[233]	eval-rmspe:0.545530	train-rmspe:0.548373
[234]	eval-rmspe:0.542128	train-rmspe:0.544979
[235]	eval-rmspe:0.538738	train-rmspe:0.541658
[236]	eval-rmspe:0.535359	train-rmspe:0.538285
[237]	eval-rmspe:0.531994	train-rmspe:0.534954
[238]	eval-rmspe:0.528642	train-rmspe:0.531675
[239]	eval-rmspe:0.525300	train-rmspe:0.528395
[240]	eval-rmspe:0.521970	train-rmspe:0.525119
[241]	eval-rmspe:0.518657	train-rmspe:0.521875
[242]	eval-rmspe:0.515360	train-rmspe:0.518650
[243]	eval-rmspe:0.512069	train-rmspe:0.515436
[244]	eval-rmspe:0.508801	train-rmspe:0.512158
[245]	eval-rmspe:0.505542	train-rmspe:0.508967
[246]	eval-rmspe:0.502301	train-rmspe:0.505802
[247]	eval-rmspe:0.499072	train-rmspe:0.502568
[248]	eval-rmspe:0.495861	train-rmspe:0.499409
[249]	eval-rmspe:0.492660	train-rmspe:0.496207
[250]	eval-rmspe:0.489473	train-rmspe:0.493101
[251]	eval-rmspe:0.486301	train-rmspe:0.489997
[252]	eval-rmspe:0.483143	train-rmspe:0.486908
[253]	eval-rmspe:0.480005	train-rmspe:0.483849
[254]	eval-rmspe:0.476886	train-rmspe:0.480812
[255]	eval-rmspe:0.473782	train-rmspe:0.477789
[256]	eval-rmspe:0.470686	train-rmspe:0.474778
[257]	eval-rmspe:0.467605	train-rmspe:0.471782
[258]	eval-rmspe:0.464537	train-rmspe:0.468798
[259]	eval-rmspe:0.461504	train-rmspe:0.465849
[260]	eval-rmspe:0.458486	train-rmspe:0.462883
[261]	eval-rmspe:0.455457	train-rmspe:0.459945
[262]	eval-rmspe:0.452470	train-rmspe:0.457031
[263]	eval-rmspe:0.449508	train-rmspe:0.454157
[264]	eval-rmspe:0.446550	train-rmspe:0.451285
[265]	eval-rmspe:0.443623	train-rmspe:0.448448
[266]	eval-rmspe:0.440713	train-rmspe:0.445626
[267]	eval-rmspe:0.437818	train-rmspe:0.442742
[268]	eval-rmspe:0.434943	train-rmspe:0.439899
[269]	eval-rmspe:0.432090	train-rmspe:0.437131
[270]	eval-rmspe:0.429257	train-rmspe:0.434280
[271]	eval-rmspe:0.426442	train-rmspe:0.431552
[272]	eval-rmspe:0.423644	train-rmspe:0.428818
[273]	eval-rmspe:0.420857	train-rmspe:0.426133
[274]	eval-rmspe:0.418090	train-rmspe:0.423427
[275]	eval-rmspe:0.415340	train-rmspe:0.420774
[276]	eval-rmspe:0.412621	train-rmspe:0.418084
[277]	eval-rmspe:0.409919	train-rmspe:0.415451
[278]	eval-rmspe:0.407238	train-rmspe:0.412865
[279]	eval-rmspe:0.404579	train-rmspe:0.410286
[280]	eval-rmspe:0.401938	train-rmspe:0.407717
[281]	eval-rmspe:0.399287	train-rmspe:0.405173
[282]	eval-rmspe:0.396676	train-rmspe:0.402659
[283]	eval-rmspe:0.394083	train-rmspe:0.400166
[284]	eval-rmspe:0.391519	train-rmspe:0.397708
[285]	eval-rmspe:0.388986	train-rmspe:0.395199
[286]	eval-rmspe:0.386444	train-rmspe:0.392762
[287]	eval-rmspe:0.383928	train-rmspe:0.390350
[288]	eval-rmspe:0.381446	train-rmspe:0.387937
[289]	eval-rmspe:0.378978	train-rmspe:0.385567
[290]	eval-rmspe:0.376485	train-rmspe:0.383176
[291]	eval-rmspe:0.374064	train-rmspe:0.380707
[292]	eval-rmspe:0.371648	train-rmspe:0.378380
[293]	eval-rmspe:0.369268	train-rmspe:0.375973
[294]	eval-rmspe:0.366876	train-rmspe:0.373680
[295]	eval-rmspe:0.364530	train-rmspe:0.371400
[296]	eval-rmspe:0.362199	train-rmspe:0.369171
[297]	eval-rmspe:0.359884	train-rmspe:0.366944
[298]	eval-rmspe:0.357610	train-rmspe:0.364654
[299]	eval-rmspe:0.355357	train-rmspe:0.362500
[300]	eval-rmspe:0.353066	train-rmspe:0.360315
[301]	eval-rmspe:0.350850	train-rmspe:0.358120
[302]	eval-rmspe:0.348654	train-rmspe:0.355849
[303]	eval-rmspe:0.346417	train-rmspe:0.353714
[304]	eval-rmspe:0.344271	train-rmspe:0.351512
[305]	eval-rmspe:0.342142	train-rmspe:0.349361
[306]	eval-rmspe:0.339941	train-rmspe:0.347270
[307]	eval-rmspe:0.337833	train-rmspe:0.345234
[308]	eval-rmspe:0.335749	train-rmspe:0.343239
[309]	eval-rmspe:0.333685	train-rmspe:0.341267
[310]	eval-rmspe:0.331629	train-rmspe:0.339320
[311]	eval-rmspe:0.329614	train-rmspe:0.337300
[312]	eval-rmspe:0.327619	train-rmspe:0.335254
[313]	eval-rmspe:0.325638	train-rmspe:0.333346
[314]	eval-rmspe:0.323649	train-rmspe:0.331452
[315]	eval-rmspe:0.321682	train-rmspe:0.329566
[316]	eval-rmspe:0.319734	train-rmspe:0.327706
[317]	eval-rmspe:0.317831	train-rmspe:0.325903
[318]	eval-rmspe:0.315936	train-rmspe:0.324120
[319]	eval-rmspe:0.314067	train-rmspe:0.322258
[320]	eval-rmspe:0.312201	train-rmspe:0.320489
[321]	eval-rmspe:0.310397	train-rmspe:0.318799
[322]	eval-rmspe:0.308579	train-rmspe:0.317072
[323]	eval-rmspe:0.306776	train-rmspe:0.315366
[324]	eval-rmspe:0.305025	train-rmspe:0.313709
[325]	eval-rmspe:0.303214	train-rmspe:0.311992
[326]	eval-rmspe:0.301484	train-rmspe:0.310345
[327]	eval-rmspe:0.299785	train-rmspe:0.308697
[328]	eval-rmspe:0.298099	train-rmspe:0.307095
[329]	eval-rmspe:0.296425	train-rmspe:0.305521
[330]	eval-rmspe:0.294744	train-rmspe:0.303948
[331]	eval-rmspe:0.293088	train-rmspe:0.302402
[332]	eval-rmspe:0.291456	train-rmspe:0.300756
[333]	eval-rmspe:0.289895	train-rmspe:0.299292
[334]	eval-rmspe:0.288335	train-rmspe:0.297665
[335]	eval-rmspe:0.286746	train-rmspe:0.296190

 

这篇关于Kaggle竞赛项目--推荐系统之便利店销量预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/241703

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加