数据挖掘实习笔试之weizhong

本文介绍了数据挖掘中TF-IDF算法的原理及其应用,展示了如何计算TF-IDF权重。接着,通过一个案例分析了狗叫与盗贼入侵概率的关系。此外,详细讲解了如何使用SQL查询总成绩前3名(包含并列)的方法,包括去除重复成绩的处理。最后,讨论了地球人口随太阳熄灭可能的变化趋势及其理由。
摘要由CSDN通过智能技术生成

1.TF-IDF(词频-逆文档频率)算法是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。该算法在数据挖掘、文本处理和信息检索等领域得到了广泛应用,如在一篇文章中就可以找到它的关键词。请写出该算法的公式。

 

词频(term frequency,TF): \mathrm{tf_{i,j}} = \frac{n_{i,j}}{\sum_k n_{k,j}}, n_{i,j} 是该词t_{i} 在文件d_{j}中的出现次数,而分母则是在文件d_{j}中所有字词的出现次数之和。

逆向文件频率(inverse document frequency,IDF):\mathrm{idf_{i}} =  \log \frac{|D|}{|\{j: t_{i} \in d_{j}\}|},|D|:语料库中的文件总数,|\{ j: t_{i} \in d_{j}\}|:包含词语t_{i}的文件数目(即n_{i,j} \neq 0的文件数目)如果该词语不在语料库中,就会导致被除数为零,因此一般情况下使用1 + |\{j : t_{i} \in d_{j}\}|

TF-IDF(词频-逆文档频率):\mathrm{tf{}idf_{i,j}} = \mathrm{tf_{i,j}} \times  \mathrm{idf_{i}}

      某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语

 

2. 案例分析:一座别墅在过去的20年里共发生过2次被盗事件,别墅的主人有一条狗,狗平均每周晚上叫3次,在盗贼入侵时狗叫的概率假定被估计为0.9,那么请问在狗叫的时候发生入侵的概率是多少?

 

假设 A 事件为狗在晚上叫,

B 事件为盗贼入侵,

则 P(A) = 3 / 7,P(B)=2/(20·365)=2/7300,P(A | B) = 0.9,

按照公式:P(B|A)=P(AB) / P(A) = ( P(A | B) * P(B)) / P(A),

得出结果:P(B|A)=0.9*(2/7300)*(7/3)=0.00058 

 

3. 如何使用sql实现总成绩前3名(包含并列)的输出。

 

下面就是sql语句:
select aa.* from (select DISTINCT name as n1,(select sum(mark) from te where name=n1)as g from te t) aa where aa.g in
(select ta.grade as g from (select (select sum(mark) from te where name=t1.name)as grade from te t1 GROUP BY grade desc LIMIT 3) as ta)

首先我们要取出(这里是实现排名前三)在除去重复情况下的前三名的成绩:
select (select sum(mark) from te where name=t1.name)as grade from te t1 GROUP BY grade desc LIMIT 3

把每个人的总成绩计算出来,然后通过group by就可以去除重复,”desc“降序排序。limit 3取前三条。 这里使用了关键字limit,由于in后面的条件不能直接跟limit,所以将上面查询出来的结果放到一张ta表里,再进行一次查询。

(select ta.grade as g from (select (select sum(mark) from te where name=t1.name)as grade from te t1 GROUP BY grade desc LIMIT 3) as ta)


好的,到这里就把去除重复条件下的前三名成绩取出来了。下面就该取学生信息了。通过将总成绩算出来之后,用in关键字去匹配上面的结果集便可。那么问题又来了,**我们查出的总成绩是通过计算得出的,并不是表的字段。所以这里要用到别名来保存。但是呢,我们又要用这个别名去做匹配。好的,我们都知道where后面是不能直接跟上别名的。解决方法跟上面是一样的,就是先把查出的结果集放到一张表里,然后再进行一次查询便可**

select aa.* from (select DISTINCT name as n1,(select sum(mark) from te where name=n1)as g from te t) aa where aa.g in (结果集)

最后方便大家测试,将建表的sql语句以及插入数据的sql语句附在后面:

create table te ( 
name char(20) , 
lesson char(20), 
mark float 

insert into te values('john','Math',60); 
insert into te values('john','Eng',50); 
insert into te values('john','HIstory',56); 

insert into te values('Mike','Eng',51); 
insert into te values('Mike','Math',59); 
insert into te values('Mike','HIstory',55); 

insert into te values('Mark','Eng',71); 
insert into te values('Mark','Math',89); 
insert into te values('Mark','HIstory',95); 

insert into te values('mm','Eng',61); 
insert into te values('mm','Math',79); 
insert into te values('mm','HIstory',85); 

insert into te values('f','Eng',51); 
insert into te values('f','Math',69); 
insert into te values('f','HIstory',95);
--------------------- 
 

4. 假设太阳在一段时间内将要熄灭,请绘制地球人口随时间的变化图,并说明这样绘制的理由。

说明:

一阶段:当太阳熄灭之后,气候、石油等资源变化的还不是很快,人后还在缓慢的增长。

二阶段:当不可回收的资源利用的差不多的时候,人们将会濒临崩溃,所以这时人口锐减。

三阶段:当人们已经适应之后,慢慢的人后达到平衡状态。

四阶段:这时人们利用自己的智慧再次的发展起来,但由于资源没有以前那么的好,所以相比会发展的缓慢一些

 

注:上述的情况像外星人等特殊的外在因素除外。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值