商户分类方法
技术领域
本公开涉及一种商户分类方法。
背景技术
零售商销售的商品通常从生产商或代理商获得。各个零售商的商品销量通常在较为稳定的范围内波动。但是,在一些情况下,商品销量可能会超出预计的范围,从而容易产生商品的滞销、脱销等问题。对零售商分类,可以提前确定商品销量波动较大的商户。通过控制向这些商户的供货量,可以优化资源配置。
发明内容
根据本公开的一个方面,提供了一种商户分类方法,包括:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
在根据本公开的一些实施例中,所述销售数据包括以下至少一种:销售日期、销售数量、销售价格、商户名称、商品名称。
在根据本公开的一些实施例中,所述销售数据包括预定时段内的销售数据。
在根据本公开的一些实施例中,所述销售数据包括:销售数量和商品名称,
所述预处理包括:
计算每个商户的每种商品的总销量;
根据所述总销量,选择每个商户销量前K的商品的销售数据,K为正整数。
在根据本公开的一些实施例中,所述预处理包括去除所述销售数据的量纲的处理。
在根据本公开的一些实施例中,所述预处理包括归一化处理。
在根据本公开的一些实施例中,使用以下公式进行所述归一化处理:
x’=(x-xmin)/(xmax-xmin),
其中,x为销售数据,xmin为所述销售数据的最小值,xmax为所述销售数据的最大值,x’为经过归一化处理后的归一化销售数据。
在根据本公开的一些实施例中,所述特征包括时序特征。
在根据本公开的一些实施例中,所述时序特征包括:周期类特征、统计类特征、频域类特征、非线性特征、线性特征。
在根据本公开的一些实施例中,所述周期类特征包括:峰值个数、峰值间隔的周期。
在根据本公开的一些实施例中,所述统计类特征包括:方差、标准差、平均值、极值、中位数、熵、大于平均值的最长连续子序列长度、小于平均值的最长连续子序列长度、极值的重复性、极值最后出现的位置、大于平均值的销售数据的数量,以及小于平均值的销售数据的数量。
在根据本公开的一些实施例中,所述频域类特征包括:傅里叶变换的频率、相位、光谱矩心、方差、偏度、系数,以及绝对傅里叶变换频谱的峰度。
在根据本公开的一些实施例中,所述非线性特征包括:Fisher-Pearson标准化矩系数,信噪比、Langevin模型拟合的系数、Ricker小波的连续小波变化、滞后lag的自相关系数。
在根据本公开的一些实施例中,所述线性特征包括:线性最小二乘回归系数、自回归模型系数。
在根据本公开的一些实施例中,所述特征选择处理包括:
使用随机森林算法计算各个特征的重要性;
比较所述重要性和预定的阈值;
选择所述重要性大于所述阈值的特征作为所述重要特征。
在根据本公开的一些实施例中,所述商户分类方法还包括:
确定多个候选阈值,
计算粗分类模型在各个候选阈值下的评价函数的值;
选择与评价函数的最大值对应的候选阈值作为所述预定的阈值。
在根据本公开的一些实施例中,所述评价函数包括准确率(accuracy rate)和宏F1(macro-F1)。
在根据本公开的一些实施例中,所述商户分类方法还包括:基于所述训练样本的全部所述多个特征,训练所述粗分类模型。
在根据本公开的一些实施例中,所述训练分类模型包括:
使用网格搜索(grid-search)确定所述分类模型的超参数。
在根据本公开的一些实施例中,所述分类模型包括:逻辑回归模型和支持向量机模型。
在根据本公开的一些实施例中,所述方法还包括:
类别平衡处理。
在根据本公开的一些实施例中,所述类别平衡处理包括:
对所述训练样本进行过采样处理或欠采样处理。
在根据本公开的一些实施例中,所述类别平衡处理包括:
为所述训练样本设置权重系数。
在根据本公开的一些实施例中,每个训练样本的所述权重系数等于所述训练样本的总数目除以该训练样本所属的类别中的训练样本的数目。
根据本公开的另一个方面,提供了一种商户分类装置,包括:
处理器;以及
存储有指令的存储器,
当所述处理器执行所述指令时,所述处理器被配置为:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
根据本公开的又一个方,提供了一种存储有指令的计算机可读非临时存储介质,当所述指令被处理器执行时,所述处理器被配置为:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
根据本公开的又一个方面,提供了一种计算机程序,包括一系列指令,当所述指令被处理器执行时,所述处理器被配置为:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,
其中:
图1示出了根据本公开的实施例的商户分类方法的流程图。
图2示出了根据本公开的实施例的特征选择处理的流程图。
图3示出了根据本公开的实施例的确定所述预定的阈值的流程图。
图4示出了根据本公开的实施例的进销存日报表的一部分的示意图。
图5示出了根据本公开的实施例的经过筛选的86种烟对应的商户代码、商品代码以及销售数量等信息。
图6示出了根据本公开的实施例的经过归一化处理后的销售数据的示意图。
图7示出了根据本公开的实施例的随机森林算法计算出的各个特征的重要性的示例。
图8示出了根据本公开的实施例的一组候选阈值和各个候选阈值对应的准确率及宏F1的值。
图9示出了根据本公开的实施例的支持向量机算法的超参数的候选值。
图10示出了根据本公开的实施例的SVM算法在5折交叉验证过程中的1折的结果。
图11示出了根据本公开的实施例的逻辑回归算法的超参数的一组候选值。
图12示出了根据本公开的实施例的5折交叉验证中1折的结果。
图13示出了根据本公开的实施例的5折交叉验证中1折的结果。
图14示出了根据本公开的实施例的5折交叉验证中1折的结果。
图15示出了根据本公开的实施例的逻辑回归算法和SVM算法的调优结果。
图16示出了根据本公开的实施例的城市A的烟草零售商分类处理的结果。
图17示出了根据本公开的实施例的城市B、C的烟草零售商分类处理的结果。
图18示出根据本公开的一种示例性实施例的计算设备的框图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的发明并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
图1示出了根据本公开的实施例的商户分类方法的流程图。如图1所示,根据本公开的实施例的商户分类方法包括以下步骤:
获取商户的销售数据,所述销售数据包括训练样本(步骤101);
对所述销售数据进行预处理(步骤102);
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征(步骤103);
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征(步骤104);
基于所述训练样本的所述重要特征,训练分类模型(步骤105);以及
基于所述分类模型对所述商户进行分类(步骤106)。
下面,将结合实例对各个步骤进行详细的描述。
在步骤101中,可以获取商户的各种销售数据,例如,商户的销售数据可以记录在服务器的数据库中,可以从服务器数据库获取预定时段内(例如过去一年或多年)的商品的销售日期、销售数量、销售价格、商户名称、商品名称等。为了机器学习的需要,销售数据中还可以包括训练样本。
然后,在步骤102中,对获得的销售数据进行预处理。例如,可以对销售数据进行归一化处理,以去除销售数据的量纲。公式(1)示出了根据本公开的实施例的一种归一化处理:
x’=(x-xmin)/(xmax-xmin) (1)
其中,x为销售数据,xmin为销售数据的最小值,xmax为销售数据的最大值,x’为经过归一化处理后的归一化销售数据。
经过上述归一化处理,可以去除销售数据的量纲,并且,各个销售数据都落在[0,1]区间中。当然,本公开不限于此,根据本公开的教导,还可以采用其它的合适方式进行归一化。例如,在销售数据中存在极大或极小的数值,可以采用标准化方式使得销售数据呈均值为0方差为1的分布,而实现归一化。
此外,对于获取的销售数据,还可以进行筛选。例如,对于避免滞销、脱销等问题,人们常常关注销量较大的商品。因此,可以选择性的去除销量较小的商品。例如,可以计算每个商户的每种商品的总销量,然后根据计算的总销量进行排名,选择总销量靠前的商品的销售数据。例如,可以选择每个商户销量前K的商品的销售数据,K为正整数。
接下来,在步骤103,可以基于经过预处理的销售数据,执行特征提取处理,从而得到多个特征。在特征提取处理中,可以提取多种时序特征。这些特征可以包括:
周期类特征,例如峰值个数、峰值间隔的周期等;
统计类特征,例如方差、标准差、平均值、最大值、最小值、中位数、熵、大于平均值的最长连续子序列长度、小于平均值的最长连续子序列长度、极值的重复性(例如,最小值和/或最大值有没有重复)、极值(最大值/最小值)最后出现的位置、大于平均值的销售数据的数量、小于平均值的销售数据的数量等;
频域类特征,例如傅里叶变化的频率、相位、光谱矩心、方差、偏度、系数、绝对傅里叶变换频谱的峰度等;
衡量时序数据的非线性特征,例如Fisher-Pearson标准化矩系数G1、信噪比(SNR)、Langevin模型拟合的系数、Ricker小波的连续小波变化、滞后(lag)的自相关系数等;以及
衡量时序数据的线性特征,例如线性最小二乘回归系数、自回归模型系数等。
应当理解,本公开不限于上述列出的各种特征,可以根据需要选择合适的特征。
接下来,在步骤104,可以对上面步骤103中提取的各种特征执行特征选择处理,以便从这些特征中选择出重要特征。
在上面进行特征提取处理时,采用了多维的特征时序构建,提取了大量时序特征,但是并非所有的特征都是有用的,而且由于提取的特征数量庞大,如果人们凭借经验选择特征需要耗费大量的人力并且准确率不高,因此需要通过算法对这些特征进行选择,以筛选出重要的特征。
图2示出了根据本公开的实施例的特征选择处理的流程图。如图2所示,特征选择处理可以包括:
步骤201,使用随机森林算法计算各个特征的重要性;
步骤202,比较所述重要性和预定的阈值;
步骤203,选择所述重要性大于所述阈值的特征作为所述重要特征。
在步骤201中,通过随机森林算法,可以得到各个特征的重要性数值。随机森林是一种利用多棵决策树对样本进行训练并预测的分类器。该分类器最早由Leo Breiman和Adele Cutler提出。随机森林算法在机器学习领域被广泛采用,本公开就不再详细介绍随机森林算法。
在步骤202和步骤203中,需要对计算出来的各个特征的重要性数值进行筛选,选择重要性数值大于预定的阈值的特征作为重要特征。
图3示出了根据本公开的实施例的确定所述预定的阈值的流程图。如图3所示,确定预定的阈值的处理可以包括以下步骤:
步骤301,确定多个候选阈值。例如,可以事先人工设定一组候选阈值。
步骤302,计算粗分类模型在各个候选阈值下的评价函数的值。
步骤303,选择与评价函数的最大值对应的候选阈值作为所述预定的阈值。
在根据本公开的一些实施例中,评价函数可以为例如准确率(Accuracy Rate)和宏F1(macro-F1)。准确率指的是对于给定的测试数据集,分类模型正确分类的样本数与总样本数之比。
对于二分类问题,可将训练样本根据其真实类别与分类模型预测类别的组合划分为真正例(true positive,TP)、假正例(false positive,FP)、真反例(true negative,TN)、假反例(false negative,FN),显然有TP+FP+TN+FN=训练样本总数。分类结果的“混淆矩阵”(confusion matrix)如表1所示。
表1
基于分类结果的混淆矩阵,可以定义查准率(Precision)P和查全率(Recall)R分别定义为
P=TP/(TP+FP) (2)
R=TP/(TP+FN) (3)
基于上面查准率P和查全率R,可以进一步定义F1度量
F1=2×P×R/(P+R) (4)
在具有多个二分类混淆矩阵的情况下,可以在多个混淆矩阵上考察查准率和查全率。一种直接的做法就是先在各混淆矩阵上分别计算出查准率和查全率,再计算平均值,这样就得到宏查准率(macro_P),宏查全率(macro_R),以及相应的宏F1(macro-F1):
此外,可以使用训练样本,基于全部的特征(未经过特征选择处理)对分类模型进行训练,以得到所述粗分类模型。
利用粗分类模型在各个候选阈值下的准确率和宏F1,可以选择与准确率和宏F1的最大值对应的候选阈值,作为上述预定的阈值。
接下来,在步骤105,可以基于训练样本和在步骤104选择出的重要特征,训练分类模型。这样,只有重要性大于预定的阈值的特征才被用来训练分类模型。其中,分类模型的超参数可以通过例如网格搜索(grid-search)方式搜索参数值得到。分类模型可以为例如逻辑回归模型和支持向量机模型等。这对于本领域技术人员是熟知的,本公开不再详细描述。
最后,在步骤106,可以基于步骤105中训练的分类模型,对商户进行分类。
此外,在根据本公开的一些实施例中,还可以包括类别平衡处理。在数据集样本类别极不均衡的情况下,可能对模型的训练过程产生影响,进而影响到分类的准确率。因此,在根据本公开的一些实施例中,还可以采取类别平衡处理。例如,对训练样本进行过采样处理或欠采样处理,从而使得训练样本的数据集中,样本类别达到平衡。在根据本公开的另一些实施例中,还可以为训练样本设置权重系数。例如每个训练样本的权重系数可以等于训练样本的总数目除以该训练样本所属的类别中的训练样本的数目。
下面结合具体示例更详细地描述根据本公开的实施例的商户分类方法。
在沿海城市,渔民会定期的出海捕鱼,渔民出海捕鱼的时间,少则几天至一周,多则数个月甚至半年,因此渔民在出海捕鱼时会携带一些生活必需品。对于烟草制品有需求的渔民称之为渔需用户,渔需用户在出海之前会向烟草零售商购买一定量的烟草制品以备出海之需,烟草零售商如果对于渔需用户有需求的烟草制品备货不足就需要多次向烟草公司进货,无法实现资源优化配置的目标。通过为烟草零售商附加渔需标签,便于烟草公司识别与渔需用户相关的烟草零售商,灵活地调节烟草制品的供应。然而,现有烟草行业中,烟草零售商的渔需标签化问题都是依据自身经验或者规则化的方法来实现,这种模式严重依赖人的经验以及大量的人工参与,在工作效率和准确率方面无法得到保证。
采用上述根据本公开的实施例的商户分类方法,可以将烟草零售商标签化,根据烟草零售商的销售数据确定该烟草零售商是否与渔需用户相关联。
首先,可以从数据库中存储的各个烟草零售商的进销存日报表中获取销售日期、销售数量、销售价格、零售商名称以及烟种名称等字段信息。图4示出了进销存日报表的一部分的示意图。如图4所示,该进销存日报表中包含了商品的销售日期、销售数量、商户代码、商户名称、商品代码以及商品名称等字段信息。从进销存日报表中,获取从6月1日至11月30日时间段的销售数据。在进销存日报表中,可能存在烟草零售商所售的某种烟的某天记录不在表中的情况,可以将该烟该天的销售数量设为零。
然后,对获得的香烟的销售数据进行预处理。在预处理过程中,首先对香烟的销售数据进行筛选。例如,可以计算每个烟草零售商的每种烟的总销量;然后根据总销量,筛选出每个烟草零售商的销量前10的烟。全部烟草零售商总共得到86种烟。图5示出了经过筛选的86种烟对应的商户代码、商品代码以及销售数量等信息。图5中,第一列给出了商户代码,第二列time表示自6月1日起的第i天,由于数据取自6月1日至11月30日时间段,i取值范围为[0,182],之后86列表示86种烟在对应商户和第i天中的销量。在图5中,仅示意性地示出了一部分商户代码和对应的一部分香烟的销量。
下面的处理将基于这86种烟的销售数据。对于这86种烟的销售数据,根据上面的公式(1)进行归一化处理,从而去除量纲。经过归一化处理的销售数据如图6所示。
接下来,基于归一化处理后的销售数据,执行特征提取处理。例如,可以提取香烟销售的多种时序特征,主要有周期类特征(峰值个数、峰值间隔的周期等),统计类特征(方差、标准差、平均值、最大值、最小值、中位数、熵、大于/小于平均值的最长连续子序列长度、最小值/最大值有没有重复、最大值/最小值最后出现的位置、大于/小于平均值的数的个数等)、频域类特征(傅里叶变化的频率、相位、光谱矩心、方差、偏度、系数、绝对傅里叶变换频谱的峰度等)、衡量时序数据的非线性特征(Fisher-Pearson标准化矩系数G1、信噪比SNR、Langevin模型拟合的系数、Ricker小波的连续小波变化、滞后(lag)的自相关系数),衡量时序数据的线性特征(线性最小二乘回归系数、自回归模型系数)。
然后,使用随机森林算法,计算各个特征的重要性。图7示出了随机森林算法计算出的各个特征的重要性的示例。如图7所示,列出了25种特征的重要性的值。每一行中字符串表示该特征的含义,随后的数值表示该特征的重要性。其中字符串开始的数字部分为烟代码,紧接着字符串含义为该烟数据的某统计特征,例如第一行中“agg_linear_trend_atrr_intercept”为线性回归的截距,“chunk_len”和“mean”为该线性回归对应的参数。
为了确定筛选特征时使用的预定的阈值,可以先确定一组候选阈值,然后从这一组候选阈值中进行选择。具体地说,先根据未经过筛选的全部的特征对分类模型(例如支持向量机模型)进行训练,从而得到粗分类模型。然后,使用粗分类模型计算在各个候选阈值下的评价函数的值。评价函数可以为准确率和/或宏F1。
图8示出了一组候选阈值和各个候选阈值对应的准确率及宏F1的值。如图8所示,候选阈值从0开始,逐渐增大到0.000459。在候选阈值等于0.000059时,对应的准确率达到最大值0.8424。在候选阈值等于0.000149时,对应的宏F1达到最大值0.3930。因此,如果将准确率作为评价函数,可以选择0.000059作为预定的阈值。如果将宏F1作为评价函数,可以选择0.000149作为预定的阈值。应当理解,本公开不限于此。例如,评价函数可以基于宏F1和准确率二者,比如在一个示意性的实施例中,可以将评价函数定义为宏F1和准确率二者的平均值或者加权平均值。(其实一般F1和准确率不会混合一起评估,这两个指标衡量分别显示结果不同方面,根据实际需求确定哪个指标)。在实际应用中,准确率和宏F1衡量分类模型的不同方面。若应用更侧重整体样本的分类效果,则应以准确率作为评价指标,可以选择0.000059作为预定的阈值。若应用评估类别平均结果,则应以宏F1作为评价指标,可以选择0.000149作为预定的阈值。
在确定了阈值(预定的阈值)后,可以基于该阈值筛选各个特征,选择重要性的值大于该阈值的特征作为重要特征。
接下来,进行算法参数调优处理。算法参数调优处理中,需要比较逻辑回归算法和支持向量机(SVM)算法对于烟草零售商的预测分类的准确率,并调整算法中的超参数。例如,图9示出了支持向量机算法的超参数的候选值。其中,Kernel(核函数)具有两个候选值,即linear(线性核函数)和rbf(高斯核函数)。超参数Gamma的候选值从10到10-4。超参数C(惩罚系数)的候选值从0.25到512。
对于图9所示候选超参数的各种组合,因为与渔需用户相关的烟草零售商属于少数类,因此可以选择宏F1作为评估值。使用5折交叉验证,可以得到最佳的参数为:{‘kernel’:‘linear’,‘C’:0.25},在该最佳超参数下的实验结果中,宏F1等于0.3561,准确率等于0.8424。
图10示出了SVM算法在5折交叉验证过程中的1折的结果。如图10所示,在该1折结果中,显示出每个类别的评估情况,以及整体结果。其中precision、recall和f1-score分别表示该类测试结果中的查准率、查全率和F1指标,support表示测试样本的数量。其中accuracy表示整体准确率,macro avg为对应的macro_P、macro_R以及macro_F1指标,weighted avg为按类别样本数量加权平均计算的macro_P、macro_R以及macro_F1指标。按不同类别来看,该1折结果分别显示4个类别的分类结果,以类别的F1指标为准,“不相关”结果最好,紧接着是“紧密相关”,而“些许相关”类的结果最差。按整体结果来看,在该1折中,准确率达到0.86,宏F1达到0.41。
除了svm算法,还可以使用逻辑回归算法进行分类。图11示出了逻辑回归算法的超参数的一组候选值。其中,Max_iter的取值从100至1000,C的取值从1-512。与上面的svm算法类似,选择宏F1作为评估值,使用5折交叉验证,可以得到最佳的一组超参数为:{‘C’:512,‘Max_iter’:100}。在该组最佳超参数下,宏F1等于0.3561,准确率等于0.8424。图12示出了5折交叉验证中1折的结果。如图12所示,在该1折结果中,各指标的含义与图10相同,从整体指标上看,逻辑回归结果与SVM相同,同样准确率达到0.86,宏F1达到0.41,可以看出逻辑回归结果与SVM非常相近。
由于与渔需用户相关联的烟草零售商属于少数,因此,还可以对训练样本进行类别平衡处理。在根据本公开的一些实施例中,采用为训练样本设置权重系数的方式进行类别平衡处理。其中,每个训练样本的权重系数等于训练样本的总数目除以该训练样本所属的类别中的训练样本的数目。在根据本公开的另一些实施例中,可以直接对训练样本进行过采样或欠采样处理。
在经过类别平衡处理的情况下,通过上面类似的超参数的候选值,使用5折交叉验证,评估值选择宏F1,可以得到SVM算法的最佳超参数为{‘kernel’:‘linear’,‘C’:0.25},在该最佳超参数下的实验结果中,宏F1等于0.3595,准确率等于0.8424。5折交叉验证中的1折的结果如图13所示。
类似地,可以得到逻辑回归算法的最佳超参数为{‘C’:1,‘Max_iter’:200},在该最佳超参数下的实验结果中,宏F1等于0.3917,准确率等于0.8451。5折交叉验证中的1折的结果如图14所示。
图15示出了逻辑回归算法和SVM算法的调优结果。如图15所示,在不经过类别平衡处理的情况下,逻辑回归算法的整体的准确率最高。在实际应用中,如果侧重考虑整体情况,应该选择该模型。在经过类别平衡处理的情况下,逻辑回归算法的宏F1最高。在实际应用中,如果侧重考虑与渔需用户相关联的烟草零售商的情况,应该选择该模型对烟草零售商进行分类,以识别与渔需用户相关联的烟草零售商。
基于上述方法,对三个城市A、B、C的烟草零售商进行分类处理。城市A的实验结果如图16所示,在逻辑回归算法下,准确率最高可以达到0.8478,SVM算法下的准确率最高可以达到0.8424。在不经过类别平衡处理的情况下,逻辑回归算法的整体的准确率最高。在实际应用中,如果侧重考虑整体情况,应该选择该模型。在经过类别平衡处理的情况下,逻辑回归算法的宏F1最高。在实际应用中,如果侧重考虑与渔需用户相关联的烟草零售商的情况,应该选择该模型对烟草零售商进行分类,以识别与渔需用户相关联的烟草零售商。
城市B和城市C的实验结果如图17所示。从图17可以看出,城市B的渔需分类的准确率最高可以达到0.89,城市C的渔需分类的准确率最高可以达到0.74。从准确率可以看出,按照本公开的实施例的分类方法,可以具有较好的分类效果,有效地识别出与渔需用户相关联的烟草零售商。
图18示出根据本公开的一种示例性实施例的计算设备的框图,该计算设备是可应用于本公开的各方面的硬件设备的一个示例。
参考图18,现在将描述一种计算设备700,该计算设备是可应用于本公开的各方面的硬件设备的一个示例。计算设备700可以是被配置用于实现处理和/或计算的任何机器,可以是但并不局限于工作站、服务器、桌上型计算机、膝上型计算机、平板计算机、个人数字助理、智能手机、车载计算机或者是它们的任何组合。前述的各种装置/服务器/客户端设备可全部地或者至少部分地由计算设备700或者类似设备或系统来实施。
计算设备700可包括可能经由一个或多个接口与总线702连接或通信的组件。例如,计算设备700可包括总线702、一个或多个处理器704、一个或多个输入设备706以及一个或多个输出设备708。所述一个或多个处理器704可以是任何类型的处理器并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如专门的处理芯片)。输入设备706可以是任何类型的能够向计算设备输入信息的设备并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备708可以是任何类型的能够呈现信息的设备并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。计算设备700也可包括非瞬态存储设备710或者与所述非瞬态存储设备连接,所述非瞬态存储设备可以是非瞬态的并且能够实现数据存储的任何存储设备,并且所述非瞬态存储设备可以包括但不限于磁盘驱动器、光存储设备、固态存储器、软盘、软磁盘、硬盘、磁带或任何其它磁介质、光盘或任何其它光介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何存储芯片或盒式磁带、和/或计算机可从其读取数据、指令和/或代码的任何其它介质。非瞬态存储设备710可从接口分离。非瞬态存储设备710可具有用于实施上述方法和步骤的数据/指令/代码。计算设备700也可包括通信设备712。通信设备712可以是任何类型的能够实现与内部装置通信和/或与网络通信的设备或系统并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如BluetoothTM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似设备。
总线702可以包括但不局限于工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外部设备互连(PCI)总线。
计算设备700还可包括工作存储器714,该工作存储器可以是任何类型的能够存储有利于处理器704的工作的指令和/或数据的工作存储器并且可以包括但不局限于随机存取存储器和/或只读存储设备。
软件组件可位于工作存储器714中,这些软件组件包括但不限于操作系统716、一个或多个应用程序718、驱动程序和/或其它数据和代码。用于实现上述方法和步骤的指令可包含在所述一个或多个应用程序718中,并且前述各种装置/服务器/客户端设备的模块/单元/组件可通过处理器704读取和执行所述一个或多个应用程序718的指令来实现。
也应该认识到可根据具体需求做出变化。例如,也可使用定制硬件,和/或特定组件可在硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合中实现。此外,可采用与其它计算设备、例如网络输入/输出设备等的连接。例如,可通过具有汇编语言或硬件编程语言(例如VERILOG、VHDL、C++)的编程硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)利用根据本公开的逻辑和算法来实现所公开的方法和设备的部分或全部。
此外,根据本公开的实施例还可以包括以下技术方案:
(1).一种商户分类方法,包括:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
(2).根据权利要求1所述的商户分类方法,其中,所述销售数据包括以下至少一种:销售日期、销售数量、销售价格、商户名称、商品名称。
(3).根据权利要求1所述的商户分类方法,其中,所述销售数据包括预定时段内的销售数据。
(4).根据权利要求3所述的商户分类方法,其中,所述销售数据包括:销售数量和商品名称,
所述预处理包括:
计算每个商户的每种商品的总销量;
根据所述总销量,选择每个商户销量前K的商品的销售数据,K为正整数。
(5).根据权利要求1所述的商户分类方法,其中,所述预处理包括去除所述销售数据的量纲的处理。
(6).根据权利要求5所述的商户分类方法,其中,所述预处理包括归一化处理。
(7).根据权利要求5所述的商户分类方法,其中,使用以下公式进行所述归一化处理:
x’=(x-xmin)/(xmax-xmin),
其中,x为销售数据,xmin为所述销售数据的最小值,xmax为所述销售数据的最大值,x’为经过归一化处理后的归一化销售数据。
(8).根据权利要求1所述的商户分类方法,其中,所述特征包括时序特征。
(9).根据权利要求1所述的商户分类方法,其中,所述时序特征包括:周期类特征、统计类特征、频域类特征、非线性特征、线性特征。
(10).根据权利要求9所述的商户分类方法,其中,所述周期类特征包括:峰值个数、峰值间隔的周期。
(11).根据权利要求9所述的商户分类方法,其中,所述统计类特征包括:方差、标准差、平均值、极值、中位数、熵、大于平均值的最长连续子序列长度、小于平均值的最长连续子序列长度、极值的重复性、极值最后出现的位置、大于平均值的销售数据的数量,以及小于平均值的销售数据的数量。
(12).根据权利要求9所述的商户分类方法,其中,所述频域类特征包括:傅里叶变换的频率、相位、光谱矩心、方差、偏度、系数,以及绝对傅里叶变换频谱的峰度。
(13).根据权利要求9所述的商户分类方法,其中,所述非线性特征包括:Fisher-Pearson标准化矩系数,信噪比、Langevin模型拟合的系数、Ricker小波的连续小波变化、滞后lag的自相关系数。
(14).根据权利要求9所述的商户分类方法,其中,所述线性特征包括:线性最小二乘回归系数、自回归模型系数。
(15).根据权利要求1所述的商户分类方法,其中,所述特征选择处理包括:
使用随机森林算法计算各个特征的重要性;
比较所述重要性和预定的阈值;
选择所述重要性大于所述阈值的特征作为所述重要特征。
(16).根据权利要求15所述的商户分类方法,其中,还包括:
确定多个候选阈值,
计算粗分类模型在各个候选阈值下的评价函数的值;
选择与评价函数的最大值对应的候选阈值作为所述预定的阈值。
(17).根据权利要求16所述的商户分类方法,其中,所述评价函数包括准确率(accuracy rate)和宏F1(macro-F1)。
(18).根据权利要求16所述的商户分类方法,其中,还包括:基于所述训练样本的全部所述多个特征,训练所述粗分类模型。
(19).根据权利要求1所述的商户分类方法,其中,所述训练分类模型包括:
使用网格搜索(grid-search)确定所述分类模型的超参数。
(20).根据权利要求1所述的商户分类方法,其中,所述分类模型包括:逻辑回归模型和支持向量机模型。
(21).根据权利要求1所述的商户分类方法,其中,所述方法还包括:
类别平衡处理。
(22).根据权利要求21所述的商户分类方法,其中,所述类别平衡处理包括:
对所述训练样本进行过采样处理或欠采样处理。
(23).根据权利要求21所述的商户分类方法,其中,所述类别平衡处理包括:
为所述训练样本设置权重系数。
(24).根据权利要求23所述的商户分类方法,其中,每个训练样本的所述权重系数等于所述训练样本的总数目除以该训练样本所属的类别中的训练样本的数目。
(25).一种商户分类装置,包括:
处理器;以及
存储有指令的存储器,
当所述处理器执行所述指令时,所述处理器被配置为:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
(26).一种存储有指令的计算机可读非临时存储介质,当所述指令被处理器执行时,所述处理器被配置为:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
(27).一种计算机程序,包括一系列指令,当所述指令被处理器执行时,所述处理器被配置为:
获取商户的销售数据,所述销售数据包括训练样本;
对所述销售数据进行预处理;
基于经过所述预处理的销售数据,执行特征提取处理,从而得到多个特征;
对所述多个特征执行特征选择处理,以便从所述多个特征中选择出重要特征;
基于所述训练样本的所述重要特征,训练分类模型;以及
基于所述分类模型对所述商户进行分类。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:目标对象的确定方法、装置和服务器