一种基于聚类和余弦相似度的物流推荐方法与流程

文档序号:12721745阅读:来源:国知局

技术特征:

1.一种基于聚类和余弦相似度的物流推荐方法,其特征在于,包括如下步骤:

步骤一:对货物数据集和货车数据集进行预处理,并使用AP聚类方法、SDbw聚类衡量方法和K-means聚类方法确定货物数据集和货车数据集的聚类个数最佳K值;

步骤二:根据步骤一中确定的最佳聚类个数,对货物数据集和货车数据集使用K-means聚类,并分别使用货物数据集和货车数据集聚类得到的结果训练出两个分类器;

步骤三:需要货车推荐的货主输入货物信息,货物信息经过归一化处理,使用步骤二中货车数据集训练出的分类器分类,需要货物推荐的车主输入车辆信息,车辆信息经过归一化处理,使用步骤二中车辆数据集训练出的分类器分类;

步骤四:使用余弦相似度方法计算步骤三中货主或车主经过归一化处理的数据与分类器分得的类中所有元素的相似度对货物数据集或货车数据集根据相似度从高到低排列,向用户推荐。

2.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤一中使用AP聚类方法、SDbw聚类衡量方法和K-means聚类方法确定货物数据集和货车数据集的聚类个数最佳K值的步骤如下:

步骤1.1:定义货车和货物数据集、对货车和货物数据集进行预处理;

步骤1.2:对货车和货物数据集使用AP聚类方法,得到类别数量;

步骤1.3:对货车和货物数据集使用K-means聚类方法,设定K值从2到步骤1.2得到的数值,使用SDbw聚类衡量方法衡量聚类效果,得到货车和货物数据的聚类最佳K值。

3.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤二中分别使用货物数据集和货车数据集聚类得到的结果训练出两个分类器的步骤如下:

步骤2.1:使用朴素贝叶斯分类器训练模型ModelA,训练数据为使用K-means聚类方法对货车数据聚类的结果,K值为步骤2确定的货车数据最佳聚类K值;

步骤2.2:使用朴素贝叶斯分类器训练模型ModelB,训练数据为使用K-means聚类方法对货物数据聚类的结果,K值为步骤2确定的货物数据最佳聚类K值。

4.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤三中分别使用货车数据集训练出的分类器和车辆数据集训练出的分类器进行分类的步骤如下:

步骤3.1:需要货车推荐的货主输入货物信息,将货物信息归一化处理后,使用分类器ModelA对货物信息分类,得到分类标签;

步骤3.2:需要货物推荐的车主输入车辆信息,将车辆信息归一化处理后,使用分类器ModelB对车辆信息分类,得到分类标签。

5.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤四中使用余弦相似度方法计算货主或车主经过归一化处理的数据与分类器分得的类中所有元素的相似度对货物数据集或货车数据集根据相似度从高到低排列,向用户推荐的步骤如下:

步骤4.1:使用余弦相似度方法,计算货主经过处理的信息与车辆数据集中与货物信息具有相同标签的信息的相似度,根据相似度从大到小进行推荐;

步骤4.2:使用余弦相似度方法,计算车主经过处理的信息与货物数据集中与车辆信息具有相同标签的信息的相似度,根据相似度从大到小进行推荐。

6.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤一中使用AP聚类方法、SDbw聚类衡量方法和K-means聚类方法确定货物数据集和货车数据集的聚类个数最佳K值的详细步骤如下:

步骤101:设货车数据量为N条,货车数据的维度为M,建立货车数据集Crecords={C1,C2,…,CM},Crecords的元素Cm={c1,c2,c3,c4,c5}表示货车m的数据,c1,c2,c3,c4,c5,为Cm的五个维度,m∈[1,M],其中,c1表示车主希望的运输价格,c2表示货车剩余载重,c3表示货车的出发地,c4表示货车的目的地,c5表示货车运送的时间;

步骤102:定义循环变量为t,并赋初值t=1;

步骤103:当t<=M执行步骤204,否则执行步骤207;

步骤104:定义临时变量dis表示出发地和目的地间的距离,定义临时变量time表示从出发地到目的地需要的时间;

步骤105:调用高德api计算Ct中从出发地c3到目的地c4的距离和时间,并分别赋值给dis和time,并用dis和time代替原Ct中的c3和c4;

步骤106:t=t+1,继续执行步骤203;

步骤107:对得到数据集SCrecords进行中心化和标准化处理,得到数据集SCrecords={SC1,SC2,…,SCM};

步骤108:使用PCA降维方法对数据集SCrecords进行降维,得到降维后的数据集Precord={P1,P2,…,PM};

步骤109:对降维后的数据使用AP聚类方法,得到类别标签Labels={L1,L2,…,LM},类别数量赋值给NUM;

步骤110:设定循环变量为n,并赋予初值n=2;

步骤111:当n<=NUM执行步骤212,否则执行步骤215;

步骤112:使用K-means聚类方法对数据集Precord进行聚类,得到货车类别标签Labels={L1,L2,…,LM};

步骤113:使用SDbw聚类衡量方法衡量本次聚类效果,得到的值赋予SDk;

步骤114:n=n+1,继续执行步骤211;

步骤115:设SD2,SD3,…,SDNUM中的最小值为SDmin;

步骤116:min即为货车数据集使用K-means聚类方法的最佳K值;

步骤117:设货物数据量为N条,货物数据的维度为M,建立货物数据集Trecords={T1,T2,…,TM},Trecords的元素Tm={t1,t2,t3,t4,t5}表示车辆m的数据,t1,t2,t3,t4,t5,为Tm的五个维度,m∈[1,M],其中,t1表示货物的运输价格,t2表示货物的重量,t3表示货物的出发地,t4表示货物的目的地,t5表示货物运送的时间;

步骤118:定义循环变量为t,并赋初值t=1;

步骤119:当t<=M执行步骤220,否则执行步骤223;

步骤120:定义临时变量dis表示出发地和目的地间的距离,定义临时变量time表示从出发地到目的地需要的时间;

步骤121:调用高德api计算Tt中从出发地t3到目的地t4的距离和时间,并分别赋值给dis和time,并用dis和time代替原Tt中的t3和t4;

步骤122:t=t+1,继续执行步骤219;

步骤123:对得到数据集Trecords进行中心化和标准化处理,得到数据集STrecords={ST1,ST2,…,STM};

步骤124:使用PCA降维方法对数据集Srecords进行降维,得到降维后的数据集Precord={P1,P2,…,PM};

步骤125:对降维后的数据使用AP聚类方法,得到类别标签Labels={L1,L2,…,LM},类别数量赋值给NUM;

步骤126:设定循环变量为n,并赋予初值n=2;

步骤127:当n<=NUM执行步骤228,否则执行步骤231;

步骤128:使用K-means聚类方法对数据集Precord进行聚类,得到货物类别标签Labels={L1,L2,…,LM};

步骤129:使用SDbw聚类衡量方法衡量本次聚类效果,得到的值赋予SDk;

步骤130:n=n+1,继续执行步骤227;

步骤131:设SD2,SD3,…,SDNUM中的最小值为SDmin;

步骤132:min即为货物数据集使用K-means聚类方法的最佳K值。

7.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤二中分别使用货物数据集和货车数据集聚类得到的结果训练出两个分类器的详细步骤如下:

步骤201:货车数据集Crecords经过中心化和标准化处理得到数据集SCrecords={SC1,SC2,…,SCM};

步骤202:使用K-means聚类方法对数据集SCrecords={SC1,SC2,…,SCM}进行聚类,K为步骤216得到的最佳K值,得到货车类别标签Labels={L1,L2,…,LM};

步骤203:使用朴素贝叶斯分类器,训练数据集为SCrecords={SC1,SC2,…,SCM},类别标签为Labels={L1,L2,…,LM},得到分类器ModelA;

步骤204:货物数据集Trecords经过中心化和标准化处理得到数据集STrecords={ST1,ST2,…,STM};

步骤205:使用K-means聚类方法对数据集STrecords={ST1,ST2,…,STM}进行聚类,K为步骤232得到的最佳K值,得到货车类别标签Labels={L1,L2,…,LM};

步骤206:使用朴素贝叶斯分类器,训练数据集为STrecords={ST1,ST2,…,STM},类别标签为Labels={L1,L2,…,LM},得到分类器ModelB。

8.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤三中分别使用货车数据集训练出的分类器和车辆数据集训练出的分类器进行分类的详细步骤如下:

步骤301:推荐内容选择;

步骤302:当选择推荐货物时执行步骤407,否则执行步骤403;

步骤303:输入货物信息Trecord={t1,t2,t3,t4,t5},t1表示货物运输价格,t2表示货物重量,t3表示货物出发地,t4表示货物目的地,t5表示货物发车时间;

步骤304:定义临时变量dis表示出发地到目的地间的距离,定义临时变量time表示从出发地到目的地需要的时间,调用高德api计算从出发地t3到目的地t4的经过的距离和花费的时间,并分别赋值给dis和time,然后用dis和time代替Trecord中的t3和t4;

步骤305:对货物信息Trecord进行中心和和标准化处理,得到数据STrecord={ST1,ST2,ST3,ST4,ST5};

步骤306:使用步骤303得到的分类器ModelA对数据STrecord分类,得到类别标签Tlabel;

步骤307:输入货车信息c1表示车主希望的运输价格,c2表示货车剩余载重,c3表示货车出发地,c4表示货车目的地,c5表示货车发车时间;

步骤308:定义临时变量dis表示出发地到目的地间的距离,定义临时变量time表示从出发地到目的地需要的时间,调用高德api计算从出发地c3到目的地c4的经过的距离和花费的时间,并分别赋值给dis和time,然后用dis和time代替Crecord中的c3和c4;

步骤309:对货车信息Crecord进行中心和和标准化处理,得到数据SCrecord={SC1,SC2,SC3,SC4,SC5};

步骤310:使用步骤306得到的分类器ModelB对数据SCrecord分类,得到类别标签Clabel。

9.根据权利要求1所述的一种基于聚类和余弦相似度的物流推荐方法,其特征在于,所述步骤四中使用余弦相似度方法计算货主或车主经过归一化处理的数据与分类器分得的类中所有元素的相似度对货物数据集或货车数据集根据相似度从高到低排列,向用户推荐的详细步骤如下:

步骤401:根据步骤305得到的标签,从数据集STrecords={ST1,ST2,…,STM}中抽取类别标签为Tlabel的数据组成新的数据集TTrecord={TT1,TT2,…,TTN};

步骤402:设定循环变量为n,并赋予初值n=1;

步骤403:当n<=N执行步骤504,否则执行506;

步骤404:使用余弦相似度方法,计算货车信息SCrecord={SC1,SC2,SC3,SC4,SC5}和货物数据集TTrecord={TT1,TT2,…,TTN}中的TTn相似度,并将值赋给SIMn;

步骤405:n=n+1继续执行步骤503;

步骤406:对数据集TTrecord={TT1,TT2,…,TTN}根据相似度值SIM从大大小进行排序;

步骤407:将经过排序的TTrecord从前往后推荐给车主;

步骤408:根据步骤302得到的标签,数据集SCrecords={SC1,SC2,…,SCM}中抽取类别标签为Clabel的数据组成新的数据集SSrecords={SS1,SS2,…,SSN};

步骤409:设定循环变量为n,并赋予初值n=1;

步骤410:当n<=N执行步骤511,否则执行步骤513;

步骤411:使用余弦相似度方法,计算货物信息STrecord={ST1,ST2,ST3,ST4,ST5}和货车数据集SSrecords={SS1,SS2,…,SSN}中的Ssn相似度,并将值赋给SIMn;

步骤412:n=n+1继续执行步骤510;

步骤413:对数据集SSrecords={SS1,SS2,…,SSN}根据相似度值SIM从大大小进行排序;

步骤414:将经过排序的SSrecords从前往后推荐给货主。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1