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

相关文章

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

python 常见数学公式函数使用详解(最新推荐)

《python常见数学公式函数使用详解(最新推荐)》文章介绍了Python的数学计算工具,涵盖内置函数、math/cmath标准库及numpy/scipy/sympy第三方库,支持从基础算术到复杂数... 目录python 数学公式与函数大全1. 基本数学运算1.1 算术运算1.2 分数与小数2. 数学函数

Python Pillow 库详解文档(最新推荐)

《PythonPillow库详解文档(最新推荐)》Pillow是Python中最流行的图像处理库,它是PythonImagingLibrary(PIL)的现代分支和继承者,本文给大家介绍Pytho... 目录python Pillow 库详解文档简介安装核心模块架构Image 模块 - 核心图像处理基本导入