一、pearsoncorrelation
????? 两个变量之间的相关系数越高,从一个变量去预测另一个变量的精确度就越高,这是因为相关系数越高,就意味着这两个变量的共变部分越多,所以从其中一个变量的变化就可越多地获知另一个变量的变化。如果两个变量之间的相关系数为1或-1,那么你完全可由变量x去获知变量y的值。
????? 相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度。?? ????? 如果有两个变量:x、y,最终计算出的相关系数的含义可以有如下理解:? ????? (1)、当相关系数为0时,x和y两变量无关系。? ????? (2)、当x的值增大(减小),y值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。? ????? (3)、当x的值增大(减小),y值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。
????? 相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。? 通常情况下通过以下取值范围判断变量的相关强度:? 相关系数???? 0.8-1.0???? 极强相关? ???????????????? 0.6-0.8???? 强相关? ???????????????? 0.4-0.6???? 中等程度相关? ???????????????? 0.2-0.4???? 弱相关? ???????????????? 0.0-0.2???? 极弱相关或无相关
????? 皮尔逊相关也称为积差相关(或积矩相关)是英国统计学家皮尔逊于20世纪提出的一种计算直线相关的方法。? 假设有两个变量x、y,那么两变量间的皮尔逊相关系数可通过以下公式计算:
???????????????????
????? 从公式一可以看出只要两个变量的标准差都不为0相关系数才有意义。
????? 该系数不足:需要指出的是,相关系数有一个明显的缺点,即它接近于1的程度与数据组数n相关,这容易给人一种假象。因为,当n较小时,相关系数的波动较大,对有些样本相关系数的绝对值易接近于1;当n较大时,相关系数的绝对值容易偏小。特别是当n=2时,相关系数的绝对值总为1。因此在样本容量n较小时,我们仅凭相关系数较大就判定变量x与y之间有密切的线性关系是不妥当的。
二、算法简介
????? 我们先做个词法分析基于用户说明这个算法是以用户为主体的算法,这种以用户为主体的算法比较强调的是社会性的属性,也就是说这类算法更加强调把和你有相似爱好的其他的用户的物品推荐给你,与之对应的是基于物品的推荐算法,这种更加强调把和你你喜欢的物品相似的物品推荐给你。然后就是协同过滤了,所谓协同就是大家一起帮助你啦,然后后面跟个过滤,就是大家是商量过后才把结果告诉你的,不然信息量太大了。所以,综合起来说就是这么一个算法,那些和你有相似爱好的小伙伴们一起来商量一下,然后告诉你什么东西你会喜欢。
????? 如何计算相似度,可采用皮尔森相关系数也可以用交集除以并集,本篇只介绍第一种。
????? 如何找最近邻k呢?我们知道,在找和你兴趣爱好相似的小伙伴的时候,我们可能可以找到几百个,但是有些是好基友,但有些只是普通朋友,那么一般的,我们会定一个数k,和你最相似的k个小伙伴就是你的好基友了,他们的爱好可能和你的爱好相差不大,让他们来推荐东西给你(比如肥皂)是最好不过了。
????? 何为和你相似呢?简单的说就是,比如你喜欢macbook,iphone,ipad,a小伙伴喜欢macbook,iphone,note2,小米盒子,肥皂,蜡烛,b小伙伴喜欢macbook,iphone,ipad,肥皂,润肤霜,c女神喜欢雅诗兰黛,sk2,香奈儿,d屌丝喜欢ipad,诺基亚8250,小霸王学习机那么很明显,b小伙伴和你更加相似,而c女神完全和你不在一个档次上,那我们推荐的时候会把肥皂推荐给你,因为我们觉得肥皂可能最适合你。
那么,如何找出这k个基友呢?最直接的办法就是把目标用户和数据库中的所有用户进行比较,找出和目标用户最相似的k个用户,这就是好基友了。
????? 这么做理论上是没什么问题的,但是当数据量巨大的时候,计算k个基友的时间将会非常长,而且你想想就知道,数据库中的大部分用户其实和你是没有什么交集的,所没必要计算所有用户了,只需要计算和你有交集的用户就行了。要计算和你有交集的用户,就要用到物品到用户的反查表,什么是反查表呢?很简单,还是是上面那个ab小伙伴和c女神的例子,反查表就是喜欢macbook的有你,a,b,喜欢iphone的有你,b。。。就是喜欢某些物品的用户,有了这个表,我们就可以看出来,和你有关系的用户就只有a和b,d了,而c女神和你没有任何交集,所以不用去想c了。
这样,我们有了a和b,d,然后就分别计算a和b,d与你的相似度,不管用哪个相似性公式,我们算出来都是b和你更相似(在这个例子中,一般会用jaccard来计算,因为这些向量不是特别好余弦化),但如果此时我们的k设定为2,那么我们就得出了与你最相邻的基友是b和a。
这就是与目标用户最相邻的k个用户的计算。通过这k个用户来推荐商品了
????? 好了,你的好基友我们也算出来了,接下来要向你推荐商品了。但是我们可推荐的商品有小米盒子,note2,蜡烛,润肤霜,肥皂这么四种,到底哪种才是你需要的呢?这里的算法就比较广泛了,我们可以不排序,都一股脑推荐给你,但这明显可能有些你不怎么感兴趣,我们也可以做一些处理,假如我们算出来a和你的相似度是25%,b和你的相似度是80%,那么对于上面这些产品,我们的推荐度可以这么来算
??????? 小米盒子: 1*0.25 = 0.25?? ??????? note2: 1*0.25 = 0.25? ??????? 蜡烛: 1*0.25 = 0.25? ??????? 润肤霜: 1*0.8 = 0.8? ??????? 肥皂: 1*0.8 1*0.25=1.05
????? 好了,通过这个例子,你大概知道了为什么会推荐肥皂给你了吧,这就是基于用户的协同推荐算法的描述,总结起来就是这么几步
????? 1.计算其他用户和你的相似度,可以使用反差表忽略一部分用户? ????? 2.根据相似度的高低找出k个与你最相似的邻居? ????? 3.在这些邻居喜欢的物品中,根据邻居与你的远近程度算出每一件物品的推荐度? ????? 4.根据每一件物品的推荐度高低给你推荐物品。? ????? 比如上面那个例子,首先,我们通过反查表忽略掉了c女神,然后计算出a和b,d与你的相似度,然后根据k=2找出最相似的邻居a和b,接着根据a,b与你相似度计算出每件物品的推荐度并排序,最后根据排好序的推荐度给你推荐商品。
这个算法实现起来也比较简单,但是在实际应用中有时候也会有问题的。
???? 比如一些非常流行的商品可能很多人都喜欢,这种商品推荐给你就没什么意义了,所以计算的时候需要对这种商品加一个权重或者把这种商品完全去掉也行。再有,对于一些通用的东西,比如买书的时候的工具书,如现代汉语词典,新华字典神马的,通用性太强了,推荐也没什么必要了。
这些都是推荐系统的脏数据,如何去掉脏数据,这是数据预处理的时候事情了,这里就不多说了。
???? 例:由于用户给电影打分有好有坏[1到5分],而我们上面的例子中都是说的喜欢某件物品而没有说不喜欢的情况,所以首先,我们要把数据处理一下,简单的来做,我们可以认为3分以上的话代表这个用户喜欢这个电影,否则就是不喜欢,这样显得有点太死板了,我们也可以这么来定义,比如用户a对30部电影打分了,首先求出他打分的平均值,然后高于这个平均值的我们觉得用户喜欢这个电影,否则认为他不喜欢。
???? 主要参考文献http://blog.csdn.net/ygrx/article/details/15501679
三、发现的问题
????? 发现了二个知识点。
报空指针异常
1: node[] recommend = new node[preference[0].length];
2: for(int j=0; j
3: recommend[j] = new node();
4: }
?????对recommend数组new完空间后必须用for循环一个一个初始化,否则recommend[i].itemid就会包空指针,因为recommend[i]本身就是null。
数组参数
1: public point[] calcpearson(int i, int[][] preference) {
2: point[] pearcorrelation = new point[preference.length-1];
???????
数组pearsoncorrelation里可以直接用形参的preference的属性,比如长度,实际上就是地址传递,当然可以了。
四、算法实现
????? 可能某些地方有些小错误,希望路过的指出来,文件粘贴在工程路径下。
1: package util;
2:
3: import java.io.bufferedreader;
4: import java.io.file;
5: import java.io.filenotfoundexception;
6: import java.io.filereader;
7: import java.io.ioexception;
8: import java.security.acl.permission;
9: import java.util.arrays;
10:
11: public class collaborfiltering {
12:
13: /**
14: * @param args
15: */
16: //找最相关的5个人进行推荐,没有判断强弱相关
17: static int neark = 5;
18: public static void main(string[] args) {
19: // todo auto-generated method stub
20: collaborfiltering cf = new collaborfiltering();
21: int[][] preference = cf.readfile("preference.data");
22: //system.out.println(cf);
23: // for(int i=0; i
24: // for(int j=0; j
25: // system.out.print(preference[i][j] " ");
26: // }
27: // system.out.println();
28: // }
29: //system.out.println(preference);
30: cf.go(preference);
31: }
32:
33: public void go(int[][] preference) {
34: //物品数目
35: int itemnum = preference[0].length;
36: //对于每个用户
37: for(int i=0; i
38: //计算每个用户和其他用户的相似系数存入point pearcorrelation中
39: point[] pearcorrelation = calcpearson(i,preference);
40: arrays.sort(pearcorrelation);
41: //只取前neark个,对每种不存在于用户i的物品计算推荐度
42: //如果每种都有,则不推荐
43: node[] recommend = calcrecommendation(i,pearcorrelation,preference);
44: arrays.sort(recommend);
45:
46: //输出前3中推荐物品
47: system.out.print("第" i "个用户的前三个推荐物品及推荐度为:");
48: for(int j=0; j<3; j ) {
49: system.out.println(recommend[j].itemid "物品,推荐度为" recommend[j].recommendation);
50: }
51: }
52: }
53:
54: public node[] calcrecommendation(int i,point[] pearcorrelation,int[][] preference) {
55: // todo auto-generated method stub
56: node[] recommend = new node[preference[0].length];
57: for(int j=0; j
58: recommend[j] = new node();
59: }
60: int t = 0;//recommend下标
61: //对每种不存在于i的物品计算推荐度
62: for(int j=0; j
63: if(preference[i][j]==0) {
64: recommend[t].itemid = j;
65: double temp = 0.0;
66: for(int k=0; k
67: temp = preference[pearcorrelation[k].userid][j]
68: *pearcorrelation[k].correlation;
69: }
70: recommend[t].recommendation = temp;
71: t ;
72: }
73: }
74: return recommend;
75: }
76:
77: //计算i用户和其他用户的皮尔森系数
78: public point[] calcpearson(int i, int[][] preference) {
79: // todo auto-generated method stub
80: //system.out.println(preference.length);
81: //不是preference[0].length
82: point[] pearcorrelation = new point[preference.length-1];
83: for(int j=0; j
84: pearcorrelation[j] = new point();
85: }
86: int t = 0;//pearcorrelation的下标
87: double sumx = 0;
88: double sumy = 0;
89: double squarex = 0;
90: double squarey = 0;
91: double sumxtimesy = 0;
92: for(int j=0; j
93: sumx = preference[i][j];
94: squarex = preference[i][j]*preference[i][j];
95: }
96: for(int k=0; k
97: if(k!=i) {
98: for(int j=0; j
99: sumy = preference[k][j];
100: squarey = preference[k][j]*preference[k][j];
101: sumxtimesy = preference[i][j]*preference[k][j];
102: }
103: // system.out.println(t);
104: // system.out.println(pearcorrelation[t]);
105: pearcorrelation[t].userid = k;
106: int n = preference[0].length;
107: //公式4,不用2,怕出现大数
108: double temp = (sumxtimesy - sumx*sumy/n)
109: /(math.sqrt((squarex - sumx*sumx/n)*(squarey - sumy*sumy/n)));
110: pearcorrelation[t].correlation = temp;
111: sumy = 0;
112: squarey = 0;
113: sumxtimesy = 0;
114: t ;
115: }
116: }
117: return pearcorrelation;
118: }
119:
120: public int[][] readfile(string filename) {
121: file file = new file(filename);
122: filereader fr;
123: int i = 0;
124: string line = "";
125: //想让数据的列等于数据列,找到了方法,但感觉还不如直接写呢
126: //行:br.readline().split(",").length;
127: //列:几次br.readline()就几次
128: int[][] preference = new int[20][8];
129: try {
130: fr = new filereader(file);
131: bufferedreader br = new bufferedreader(fr);
132: string[] data = new string[10];
133: while(br.ready()) {
134: data = br.readline().split(",");
135: for(int j=0; j
136: preference[i][j] = integer.parseint(data[j]);
137: }
138: i ;
139: }
140: } catch (filenotfoundexception e) {
141: // todo auto-generated catch block
142: e.printstacktrace();
143: } catch (ioexception e) {
144: // todo auto-generated catch block
145: e.printstacktrace();
146: }
147: return preference;
148: }
149:
150: }
151: class point implements comparable
152: double correlation;
153: int userid;
154: public point(int correlation, int userid) {
155: super();
156: this.correlation = correlation;
157: this.userid = userid;
158: }
159: public point() {
160: super();
161: this.correlation = 0.0;
162: this.userid = 0;
163: }
164: @override
165: public int compareto(point o) {
166: // todo auto-generated method stub
167: //向上取整
168: return (int)math.ceil(o.correlation - this.correlation);
169: }
170:
171: }
172: class node implements comparable
173: int itemid;
174: double recommendation;
175: public node(int itemid, double recommendation) {
176: super();
177: this.itemid = itemid;
178: this.recommendation = recommendation;
179: }
180: public node() {
181: super();
182: this.itemid = 0;
183: this.recommendation = 0.0;
184: }
185: @override
186: public int compareto(node o) {
187: // todo auto-generated method stub
188: return (int)math.ceil(o.recommendation - this.recommendation);
189: }
190: }
191:
192:
五、算法结果
1: 第0个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
2: 0物品,推荐度为0.0
3: 0物品,推荐度为0.0
4: 第1个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
5: 0物品,推荐度为0.0
6: 0物品,推荐度为0.0
7: 第2个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
8: 0物品,推荐度为0.0
9: 0物品,推荐度为0.0
10: 第3个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
11: 0物品,推荐度为0.0
12: 0物品,推荐度为0.0
13: 第4个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
14: 0物品,推荐度为0.0
15: 0物品,推荐度为0.0
16: 第5个用户的前三个推荐物品及推荐度为:0物品,推荐度为-1.2065801598977062
17: 1物品,推荐度为-0.6250679252351032
18: 0物品,推荐度为0.0
19: 第6个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
20: 0物品,推荐度为0.0
21: 0物品,推荐度为0.0
22: 第7个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
23: 0物品,推荐度为0.0
24: 0物品,推荐度为0.0
25: 第8个用户的前三个推荐物品及推荐度为:7物品,推荐度为4.900861489379543
26: 2物品,推荐度为2.2926479930225945
27: 3物品,推荐度为0.9362076885241352
28: 第9个用户的前三个推荐物品及推荐度为:6物品,推荐度为3.4208275957538516
29: 3物品,推荐度为2.011535304429741
30: 0物品,推荐度为0.0
31: 第10个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
32: 0物品,推荐度为0.0
33: 0物品,推荐度为0.0
34: 第11个用户的前三个推荐物品及推荐度为:3物品,推荐度为1.653912517180694
35: 4物品,推荐度为-0.21710473429718952
36: 5物品,推荐度为-0.08640254911566059
37: 第12个用户的前三个推荐物品及推荐度为:2物品,推荐度为0.6330997741726283
38: 3物品,推荐度为0.056476085889952676
39: 0物品,推荐度为0.0
40: 第13个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
41: 0物品,推荐度为0.0
42: 0物品,推荐度为0.0
43: 第14个用户的前三个推荐物品及推荐度为:1物品,推荐度为0.21816543783752018
44: 0物品,推荐度为0.0
45: 0物品,推荐度为0.0
46: 第15个用户的前三个推荐物品及推荐度为:4物品,推荐度为0.6634659622686077
47: 0物品,推荐度为0.0
48: 0物品,推荐度为0.0
49: 第16个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
50: 0物品,推荐度为0.0
51: 0物品,推荐度为0.0
52: 第17个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
53: 0物品,推荐度为0.0
54: 0物品,推荐度为0.0
55: 第18个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
56: 0物品,推荐度为0.0
57: 0物品,推荐度为0.0
58: 第19个用户的前三个推荐物品及推荐度为:0物品,推荐度为0.0
59: 0物品,推荐度为0.0
60: 0物品,推荐度为0.0
61:
六、slopeone算法简介
?????????
????? 用户z对事物b的打分可能是多少呢?股票上有个说法是平均值可以掩盖一切异常波动,所以股票上的各个技术指标收拾不同时间段的平均值的曲线图或者柱状图等。同样的,slope one算法也认为:平均值也可以代替某两个未知个体之间的打分差异,事物a对事物b的平均很差是:((3 - 4) (2 - 4)) / 2 = -1.5,也就是说人们对事物b的打分一般比事物a的打分要高1.5,于是slope one算法就猜测z对事物b的打分是4 1.5 = 5.5。
有n个人对事物a和事物b打分了,r(a->b)表示这n个人对a和对b打分的平均差(a-b),有m个人对事物b和事物c打分 了,r(b->c)表示这m个人对b和对c打分的平均差(b-c),注意都是平均差而不是平方差,现在某个用户对a的打分是ra,对c的打分是 rc,那么a对b的打分可能是:
?????? rb = (n * (ra - r(a->b)) m * (rc r(b->c)))/(m n) 。
大家对sk2的品牌一定不会很陌生,就算是自己没有用过也一定听过这个贵妇级别的品牌。sk2护肤品对于美白淡斑有很好的效果,尤其是sk2小银瓶精华,能够更好的美白滋润肌肤,淡化肌肤表面的色斑,均匀提亮肤色,让肌肤更加光滑白皙。
sk2小银瓶精华和小灯泡精华都是可以淡斑美白的精华液,可以根据自己的肌肤状况进行选择,能够更好的修复肌肤,减少肌肤表面的可见斑点,能够更好的深层修复肌肤,还能够淡化肌肤的隐藏色斑。所以受到了很多25-30岁左右的年龄层喜爱,能够抗衰老。选择任意一款都是对自己肤质有帮助的。
入手过的人都会发现,sk2的生产日期保质期不知道在哪里可以看,其实很简单。
sk2的生产日期是隐藏在批号当中的,在sk2护肤品瓶底的位置会有数字编码,是由十位数字组成的,这个数字的前四位就代表了生产日期,后六位代表着产品批次,只需看前四位。
sk-ii产品批号第一位数字说的就是生产的年份,比如7代表2017年、8代表2018年。
第二位数字到第四位数字说的是天数,也就是那一年的第几天。三个数字的天数是哪一天就是哪一天,216就是216天,050就是第59天。
这样看就能够更好的知道护肤品的生产日期了,在打开之后一定要尽快用完,最好是能够在一年之内用完。护肤品是可以放在冰箱中冷藏保存的,能够更好地保持护肤品中活性成分的护肤效果。
很多人还不清楚的话,举个例子吧,产品批号为6210672710.
在真我app中查询结果为2016年07月28日。
根据sk-ii产品批号规则,查看前四位编码是6210.
产品批号第一位数字6代表2016年。
产品批号后三位数字210是天数,就是2016年的210天。
在真我app中查询的结果会更加精确到年月日,而批号规则不嫌麻烦的话,可以自己手算推出第210天的日期。
一些鉴定sk-ii的冷知识:
1.skii在封口处有钢印是假的,skii都是用厚的塑膜密封包装的而制的,封口处根本没钢印的,这是假消息。
2.skii的说明书如果是简体字的是假的,skii大的说明书是英文和繁体中文对照的,印的是skii全系列的产品,小的说明书如果产地是日本神户的就应该是日文的,如果是台湾的就应该是繁体中文的,就此可以判断出是产地在哪。
?????? 写下这篇文字,可能会遭到某些人的谩骂,但是我仍然要把我所了解到的一些事实说出来:sk-ii只不过是国际贸易战的一个牺牲品,因为日本刚提高了进口农产品残留农药检测标准,所以zf就拿sk-ii开刀了。
??????sk-ii是宝洁公司的产品,宝洁是美国公司,但是sk-ii在日本神户生产。宝洁公司目前在中国销售的产品有:飘柔、潘婷、海飞丝、沙宣洗发护发系列,舒肤佳香皂、玉兰油香皂、舒肤 佳沐浴露、玉兰油沐浴乳、激爽香皂、激爽沐浴露,玉兰油护肤系列、skii,护舒宝卫生巾,佳洁士牙膏、 佳洁士牙刷,碧浪、汰渍洗衣粉,帮宝适纸尿片,品客薯片,得宝纸巾等。
?????? 最近sk-ii含重金属的事件,越演越烈,全国各地除了出现退货潮之外,在庞大的舆论压力之下,宝洁公司在22日上午宣布,全面撤柜,使的进军中国大陆市场8年的sk-ii,将面临重大损失。但即便如此,宝洁公司虽然坚称sk-ⅱ产品没问题。那sk-ii产品到底有没有问题呢?请看看其它国家与地区的检验结果:
港、台、新加坡官方化验表明sk-ii不含违禁物质【香港】香港海关化验指sk-ii符合安全标准【大公网讯】香港海关今天公布的化验结果显示,虽然日本sk-ii九个化妆品样本证实含有微量的重金属铬和钕,但没有超出规定的标准。据中央社香港22日电,海关在香港市面抽验sk-ii九个化妆品样本,结果发现其中八个样本所含的铬及钕由百万分之零点零一至零点四;另一款样本「净白修护粉饼」分别含有百万分之五点二的铬和四点二的钕。全部没有违反香港「消费品安全条例」的规定标准。海关发言人表示,含有微量铬及钕的化妆品在正常情况使用,不会对人体构成伤害。另外,sk-ii香港代理宝洁有限公司总经理熊青云回应时表示,测试确定产品符合欧盟和美国的安全标准。她强调,sk-ii在生产过程中没有添加铬、钕或其它重金属,所以没有必要为所有sk-ii产品进行全面测试,所以不会存香港及其它国家和地区停售sk-ii化妆品产品,停售只限于中国内地。http://www.cna.com.tw/perl/cipread_mp.cgi?id=200609220379【台湾】 台湾行政院卫生署确认sk-ii产品的安全性9月18日sk-ii送验过关 9项验出3项含铬钕属微量大陆验出sk-ii部分产品含有铬及钕等物质,卫生署傍晚公布抽验市售9项产品送验结果,卫生署表示,检验产品都符合化妆品卫生管理规定,虽然其中有3项产品验出微量的铬及钕,但是,检出浓度都在可容忍范围。卫生署表示sk-ii净白素肌粉饼等化妆品在大陆验出含铬及钕等物质,卫生署药检局检验『sk- ii』9项产品都符合现行化□品卫生管理规定。检验产品中,晶透焕白粉饼,检验出含有钕0.87ppm,铬1.36ppm,晶透焕白粉霜检出 0.05ppm,润采活肤粉凝霜检出0.22ppm,不过,卫生署药政处副处长刘丽玲表示,检出浓度都在可容忍范围,如果这两种成分来自天然原料而非污染添加,就没有使用上的疑虑,例如欧美国家,有部份化妆产品也含有相同的物质,因为比例微量在允许范围之内,因此,能够贩售无虞。卫生署表示,人体每天使用量中,依规定铬的总含量不能高於200微克,而以检验结果来看,铬残留浓度低於2ppm,远低於每天食用安全量上限,而且化妆品使用是外用,所以,所残留的铬元素,应是安全无虞。http://news.yam.com/bcc/life/200609/20060920339346.html【新加坡】??星检验sk-ii 初步报告对健康无威胁中央社记新加坡二十二日专电针对中国日前指sk-ii被检验出含重金属过高,新加坡卫生科学局正在检验新加坡贩售的sk-ii化妆品。卫生科学局指出,根据当前所收到的报告,产品重金属含量少,不应该会对健康构成威胁。中国日前指控sk-ii护肤产品含铬和钕等重金属超过标准,其中有六种被指有问题的skii产品,在新加坡贩售。因此,新加坡卫生科学局表示,正在和sk-ii的新加坡代理商宝侨(p&g)协作,检验在新加坡贩售的sk-ii 六种产品,是否含铬与钕等重金属超过标准。不过,卫生科学局指出,从当前收到的报告,sk-ii 产品中重金属含量少,不应该会对健康构成威胁,当局也没有收到因使用sk-ii产品而出现不良反应的报告。宝侨最近也在新加坡的报章刊登广告,对产品的安全绝对有信心,并指铬这类重金属是自然存在,不少物质包包含少量的铬。台湾卫生署日前在检验sk-ii产品后,发现三种sk-ii 产品有铬与钕的重金残留,但含量没有超过标准。?
还没有评论,来说两句吧...