91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

資源包括某超市四個月的各大中小類的銷售記錄,代碼利用星期特征,去除噪聲,用xgboost進行預測,代碼中包含了一些基礎的分析方法,可供新手參考。

資源截圖

代碼片段和文件信息

#?coding=utf-8?##以utf-8編碼儲存中文字符
from?sklearn.grid_search?import?GridSearchCV???#Perforing?grid?search
import?pandas?as?pd
from?sklearn.metrics?import?mean_squared_error
import?numpy?as?np
from?scipy.stats?import?mode
import?warnings
from?sklearn.cross_validation?import?train_test_split
import?xgboost?as?xgb
from?xgboost.sklearn?import?XGBClassifier
import?operator
import?matplotlib.pyplot?as?plt
import?matplotlib
#?根據歷史的每天銷量預測未來的銷量,之前稍微統計,每個月的總量基本是不變的。
#?多少人曾愛慕你年輕的容顏,可是誰有能承受歲月無情的變遷
#?效果其實和求均值差不多
warnings.filterwarnings(‘ignore‘)

def?mode_function(df):
????df?=?df.astype(int)
????counts?=?mode(df)
????return?counts[0][0]

def?score(y_testy_pred):
????print(y_test)
????print(y_pred)
????return?1.0?/?(1.0?+?np.sqrt(mean_squared_error(y_test?y_pred)))

train?=?pd.read_csv(‘input/train.csv‘)
print(‘訓練集總數‘train.shape)
print(‘字段‘train.columns)
sub?=?pd.read_csv(‘input/result.csv‘)
sub[‘SaleM‘]?=?sub[‘日期‘].map(lambda?x:int(str(x)[5:6]))
sub[‘SaleD‘]?=?sub[‘日期‘].map(lambda?x:int(str(x)[6:]))
#sub[‘銷售日期_D‘]?=?sub[‘日期‘].map(lambda?x:str(x)[-2:])
sub[‘SaleD‘]?=?sub[‘SaleD‘]?.astype(int)
sub[‘SaleM‘]?=?sub[‘SaleM‘]?.astype(int)
result?=?sub.copy()
#print(sub)
sub_train?=?sub[[‘編碼‘?‘SaleM‘?‘SaleD‘?‘銷量‘?‘日期‘]]
#print(“sub_train:“)
#print(sub_train)

train[‘SaleM‘]?=?train[‘銷售日期‘].map(lambda?x:int(str(x)[5:6]))
train[‘SaleD‘]?=?train[‘銷售日期‘].map(lambda?x:int(str(x)[6:]))
train[‘SaleD‘]?=?train[‘SaleD‘]?.astype(int)
train[‘SaleM‘]?=?train[‘SaleM‘]?.astype(int)
train.drop([‘大類名稱‘?‘中類名稱‘?‘小類名稱‘?‘銷售月份‘?‘商品編碼‘?‘小類編碼‘?‘單位‘?‘銷售日期‘?‘規格型號‘?‘custid‘?‘商品類型‘?‘商品單價‘?‘銷售金額‘?‘銷售數量‘?‘是否促銷‘]axis=1inplace=True)



def?cal_w(row):
????if?row.SaleM?==?1:
????????return?(row.SaleD?+?3)?%?7
????elif?row.SaleM?==?2:
????????return?(row.SaleD?+?6)?%?7
????elif?row.SaleM?==?3:
????????return?(row.SaleD?+?6)?%?7
????elif?row.SaleM?==?4:
????????return?(row.SaleD?+?2)?%?7
????elif?row.SaleM?==?5:
????????return?(row.SaleD?+?4)?%?7


train[‘SaleW‘]?=?train.apply(cal_w?axis=1)
train[‘SaleW‘]?=?train[‘SaleW‘].astype(int)

def?cal_wn(row):
????if?row.SaleM?==?1:
????????return?(row.SaleD?+?2)?/?7?+?1
????elif?row.SaleM?==?2:
????????return?(row.SaleD?+?5)?/?7?+?5
????elif?row.SaleM?==?3:
????????return?(row.SaleD?+?5)?/?7?+?9
????elif?row.SaleM?==?4:
????????return?(row.SaleD?+?1)?/?7?+?14
????elif?row.SaleM?==?5:
????????return?(row.SaleD?+?3)?/?7?+?18


train[‘SaleWn‘]?=?train.apply(cal_wn?axis=1)
train[‘SaleWn‘]?=?train[‘SaleWn‘].astype(int)

sub_train[‘SaleW‘]?=?sub_train.apply(cal_w?axis=1)
sub_train[‘SaleW‘]?=?sub_train[‘SaleW‘].astype(int)

sub_train[‘SaleWn‘]?=?sub_train.apply(cal_wn?axis=1)
sub_train[‘SaleWn‘]?=?sub_train[‘SaleWn‘].astype(int)
#sub_train[‘SaleWn‘]?=?sub_train.apply(cal_wn?axis=1)
#sub_train[‘SaleWn‘]?=?sub_train[‘SaleWn‘].astype(int)
#sub_train.drop([‘SaleM‘?‘SaleD‘]?axis=1?inplace=True)
sub_train.drop([‘日期‘]axis=1inplace=True)
train[‘is_buy‘

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????74662??2017-10-23?19:05??input\result.csv
?????文件?????5040446??2017-10-23?18:54??input\train.csv
?????文件????????8059??2017-11-16?20:22??xgboost_predict.py
?????目錄???????????0??2017-10-29?20:47??input\

評論

共有 條評論