背景
根据项目的描述数据,我们需要将客户的订单聚成若干组(未知)。每个项目的描述数据由多个关键词(非句子)组成。以下是一些示例数据(每项一行)。
样本数据
1. WIRE,MAGNET;SOLID;Cu;;Ø0.300mm/32AWG;;;UNCOLORED;CLASS 155;SINGLE BUILD;GRADE 1;
2. WIRE,MAGNET;SOLID;Cu;;Ø0.400mm/32AWG;;;UNCOLORED;CLASS 155;SINGLE BUILD;GRADE 1;
3. WIRE,MAGNET;SOLID;Cu;;Ø0.200mm/32AWG;;;UNCOLORED;CLASS 155;SINGLE BUILD;GRADE 1;
4. WIRE,MAGNET;SOLID;Cu;;Ø0.200mm/32AWG;;;UNCOLORED;CLASS 155;HEAVY BUILD;GRADE 2;
5. CAP;CERAMIC;;3.3nF;10%;50V;X7R;0805;;;-55to+125°C;
6. CAP;CERAMIC;;330nF;10%;50V;X7R;0805;;;-55to+125°C;
7. CAP;CERAMIC;;4.7µF;10%;16V;X7R;0805;;;-55to+125°C;
8. CAP;CERAMIC;;100pF;10%;1kV;X7R;1206;;;-55to+125°C;
9. CAP;CERAMIC;;47µF;10%;16V;X5R;1210;;;-55to+85°C;
10. CAP;CERAMIC;;22µF;10%;25V;X5R;1210;;;-55to+85°C;
11. CAP;CERAMIC;;4.7µF;10%;50V;X7R;1210;;;-55to+125°C;
12. MOSFET;N;ENH;200V;18A;0.18 Ohm;TO220;;
13. MOSFET;N;ENH;1.2kV;3A;4.5 Ohm;TO263;;
14. MOSFET;N;ENH;1.2kV;3A;4.7 Ohm;TO220;;我们所做的
数据大小可能是数百万,因此我们在spark和mllib API上使用以下步骤进行了尝试,
这给出了初步的聚类结果,如预期的那样,1-4,5-11,12-14分别被分成三组,这是很有前途的。
问题是
如果客户要求不同等级的项目,不应该分组在一起。例如,数据#4应该与数据#1、#2和#3一起分组,因为#4具有2级,而其他数据具有1级。
1. WIRE,MAGNET;SOLID;Cu;;Ø0.300mm/32AWG;;;UNCOLORED;CLASS 155;SINGLE BUILD;***GRADE 1***;
2. WIRE,MAGNET;SOLID;Cu;;Ø0.400mm/32AWG;;;UNCOLORED;CLASS 155;SINGLE BUILD;***GRADE 1***;
3. WIRE,MAGNET;SOLID;Cu;;Ø0.200mm/32AWG;;;UNCOLORED;CLASS 155;SINGLE BUILD;***GRADE 1***;
4. WIRE,MAGNET;SOLID;Cu;;Ø0.200mm/32AWG;;;UNCOLORED;CLASS 155;HEAVY BUILD;***GRADE 2***;如何做到这一点?
发布于 2017-04-12 22:20:18
首先将数据集按等级划分,然后独立地对每个数据集进行聚类。
https://stackoverflow.com/questions/43362269
复制相似问题