当前位置: 首页 > wzjs >正文

skycc营销软件soe搜索优化

skycc营销软件,soe搜索优化,营销型网站的运营配套不包括,大同网络公司Store Sales 题意: 给出很多商店,给出商店的类型,某时某刻卖了多少销售额。 给出了油价表,假期表,进货表。 让你求出测试集合中每个商店的销售额是多少。 数据处理: 1.由于是多表,所以要先把其他表与tr…

Store Sales

题意:

给出很多商店,给出商店的类型,某时某刻卖了多少销售额。
给出了油价表,假期表,进货表。
让你求出测试集合中每个商店的销售额是多少。

数据处理:

1.由于是多表,所以要先把其他表与train合并。根据train和其他表共有的某一列特征值中,选择一个共有列作为key然后进行合并。注意,同时也要处理test数据,这样才能保证列一致。由于test的数据处理后也不能让行有变化,所以进行合并之前,其他表要先进行去重。
2.合并后进行缺失值处理,使用平均值还是众数还是前后值要根据不同情况来分析,就比如油价就应该按前后值填充。
3.对非数值型的特征值进行独热编码。

建立模型:

1.建立xgboost模型,设置网格参数进行网格搜索求出超参数。
2.对xgb_model训练的时候要先把Y_train取log,最后X_test要取exp。以免炸精度。

代码:
import sys
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from sklearn import model_selection
from sklearn.model_selection import GridSearchCV, train_test_split
from xgboost import XGBClassifier, XGBRegressor
import seaborn as snspd.set_option('display.width', 1000)
pd.set_option('display.max_colwidth', 1000)
pd.set_option("display.max_rows", 1000)
pd.set_option("display.max_columns", 1000)#输出某一特征值与目标值的关系
def show(data,colx,coly):if data[colx].dtype == 'object' or data[colx].dtype == 'category' or len(data[colx].unique())<20:sns.boxplot(x=colx, y=coly, data=data)else:plt.scatter(data[colx], data[coly])plt.xlabel(colx)plt.ylabel(coly)plt.show()if __name__ == '__main__':data_train = pd.read_csv('/kaggle/input/store-sales-time-series-forecasting/train.csv')data_test = pd.read_csv('/kaggle/input/store-sales-time-series-forecasting/test.csv')data_holiday = pd.read_csv('/kaggle/input/store-sales-time-series-forecasting/holidays_events.csv')data_oil = pd.read_csv('/kaggle/input/store-sales-time-series-forecasting/oil.csv')data_store = pd.read_csv('/kaggle/input/store-sales-time-series-forecasting/stores.csv')data_transaction = pd.read_csv('/kaggle/input/store-sales-time-series-forecasting/transactions.csv')#合并data_holidaydata_holiday = data_holiday.drop_duplicates(subset=['date'])data_train = pd.merge(data_train, data_holiday, how='left', left_on='date', right_on='date')data_train = data_train.drop(columns=['type','locale','locale_name','description'],axis=1)data_train['transferred'] = data_train['transferred'].fillna(data_train['transferred'].mode()[0])data_test = pd.merge(data_test, data_holiday, how='left', left_on='date', right_on='date')data_test = data_test.drop(columns=['type', 'locale', 'locale_name', 'description'], axis=1)data_test['transferred'] = data_test['transferred'].fillna(data_test['transferred'].mode()[0])#合并data_oildata_oil = data_oil.drop_duplicates(subset=['date'])data_train = pd.merge(data_train, data_oil, how='left', left_on='date', right_on='date')data_train['dcoilwtico'] = data_train['dcoilwtico'].ffill().bfill()data_test = pd.merge(data_test, data_oil, how='left', left_on='date', right_on='date')data_test['dcoilwtico'] = data_test['dcoilwtico'].ffill().bfill()#合并data_storedata_store = data_store.drop_duplicates(subset=['store_nbr'])data_train = pd.merge(data_train, data_store, how='left', left_on='store_nbr', right_on='store_nbr')data_test = pd.merge(data_test, data_store, how='left', left_on='store_nbr', right_on='store_nbr')#合并data_transactiondata_transaction = data_transaction.drop_duplicates(subset=['store_nbr'])data_transaction = data_transaction.drop(columns=['date'],axis=1)data_train = pd.merge(data_train, data_transaction, how='left', left_on='store_nbr', right_on='store_nbr')data_test = pd.merge(data_test, data_transaction, how='left', left_on='store_nbr', right_on='store_nbr')#合并data_train和data_testdata_all = pd.concat([data_train.drop(['id', 'sales'], axis=1), data_test.drop(['id'], axis=1)], axis=0)data_all['date'] = pd.to_datetime(data_all['date'], errors='coerce')data_all['date'] = data_all['date'].astype('int64')#独热编码data_all = pd.concat([data_all.drop(str_cols,axis=1),pd.get_dummies(data_all[str_cols])], axis=1)X_train = data_all[:data_train.shape[0]]Y_train = data_train['sales']X_train,X_val,Y_train,Y_val = train_test_split(X_train,Y_train,test_size=0.2,random_state=42)X_test = data_all[data_train.shape[0]:]xgb_param_grid = {'n_estimators': [50, 100, 200],  #树的数量'max_depth': [3, 4, 5, 6], #树的最大深度'learning_rate': [0.01, 0.1, 0.2], #学习速率'subsample': [0.8, 1.0], #指定每次迭代中用于训练每棵树的数据比例#    'colsample_bytree': [0.8, 1.0], #指定每次迭代中用于训练每棵树的特征比例#    'gamma': [0, 0.1, 0.2], #最小损失减少值#    'min_child_weight': [1, 3, 5], #子节点所需的最小样本权重和#    'reg_alpha': [0, 0.1, 1], #控制模型的正则化强度#    'reg_lambda': [0, 0.1, 1] #控制模型的正则化强度}xgb_model = GridSearchCV(estimator=XGBRegressor(random_state=42),  # 对什么模型进行搜索超参数param_grid=xgb_param_grid,  # 超参数的候选值cv=3,  # 使用3折交叉验证n_jobs=-1,  # 使用所有cpu并行运算)xgb_model.fit(X_train,np.log1p(Y_train))print('xgb预测分数:' + str(xgb_model.score(X_val, np.log1p(Y_val))))Submission = pd.DataFrame({'id': data_test['id'],'sales': np.exp(xgb_model.predict(X_test))})Submission.to_csv('/kaggle/working/Submission.csv', index=False)
http://www.dtcms.com/wzjs/204354.html

相关文章:

  • 舟山做网站百度快速收录网站
  • 企业网站搭建的优点全网线报 实时更新
  • 莱芜都市人才网seo如何优化关键词上首页
  • 成人用品怎样做网站推广教育机构
  • 郑州网站建设喝彩凯里seo排名优化
  • 社交网站源代码软文广告文案
  • 网站设计合同模板关键词搜索排名怎么查看
  • 兰州装修公司班级优化大师免费下载
  • 肥东网站制作软件推广平台有哪些
  • 一级建设造师网站百度用户服务中心官网
  • 青岛建站方案百度seo优化排名如何
  • 网上引流推广有哪些软件谷歌优化工具
  • 上海企业网站建设免费注册个人网站
  • 杭州网站建设推荐软件开发外包平台
  • 河北建设网工程信息网百度推广优化中心
  • 学校门户网站软文时光发稿平台
  • 织梦网站建设培训网络推广产品要给多少钱
  • 浦东网站建设哪家好广州seo网站排名
  • 彩票app开发制作多少钱有名的seo外包公司
  • 个体工商户经营范围做网站网络营销培训课程
  • 网站关键词多少个友链购买有效果吗
  • wordpress记录高级seo培训
  • 自适应网站建设哪家便宜长沙seo步骤
  • 注册网站不需要手机验证的免费发外链平台
  • 重生做代购网站腾讯云域名注册官网
  • 青岛网站设计如何做百度网址查询
  • 网站建设买什么书软件开发公司推荐
  • 做色流网站服务器互联网广告行业分析
  • 衡阳企业seo优化费用宁波专业seo外包
  • 哈尔滨旅游网页设计福州seo顾问