机器学习在租房信息判别中的应用

背景:前一段子找房子,在58,赶集上搜房源,可恨中介冒充个人发布很多房源信息,浪费彼此感情,为了响应节俭的号召,我就想着搞个程序代替我的大脑自动的把房源信息过滤一下,给我推荐出个人房源信息.由于算法简单,没有文采,望大牛们绕道,也欢迎拍砖.

转摘请注明,来自zsw2zkl的博客:http://blog.csdn.net/zsw2zkl/article/details/24394557

工程共分为三部分

1.网页抓取+分析

2.分词(采用基于隐马模型的ansj分词算法)

3.训练模型+预测

前两者是为第三步做准备叙述.

下面围绕第三点展开

模型训练基于朴素贝叶斯算法

1.选取特征,以分过后的词作为每一篇房源信息的特征.为什么这样考虑呢,想想一下,你大脑判别该房源信息是中介还是个人也是通过阅读房源介绍读出来的感觉,中介用词和个人用词一般有很大不同的.


2.准备训练样本,由工程第一部分提供的功能去网页上抓取房源信息,基于这样一个事实.几乎没有个人会把自己的房源信息标成中介,所以只需要你去中介类别下抓取信息基本就是中介的了,我抓取了大约277篇,这样就得出了中介类别的下的训练数据,由于租房网站提供了人工认证房源,当然这个不是完全可信的(有证据不多言),这些信息基本可以认为是个人的,我抓取了大约269篇,这样就有了个人类别下的训练数据


3.分词,以每个分词作为文章的特征.由于租房信息这个类别有一些特征含义的词语,或者成为完整语意,比方说,无中介费不能分成无和中介费,因为两个是一个语意,朝南也不可分开.当然这都属于个人感觉,没有固定的步骤.我准备了个人词典来提高准确率,ps:由于我不想过早的干涉或者调优结果,写上了几个就不写了.分词后,我把标题调整了一下,中介的以broker开头,加上序号.个人的以person开头,加上序号,他们的标题,加入到了内容中

3.基于NB(朴素贝叶斯)方法训练,well,现在文章的属性有了,开始计算:计算的目的是要得出每个词属于每个类别的概率(最大似然法):参考java代码如下

数据结构为{word:[in_broker_num,in_person_num]}即单词为key,value为一个List,index=0表示中介,index=1表示个人

Map<String, List<Double>> m = new HashMap<>();
		//broker unique word num
		float broker_num = 0.0f;
		float person_num = 0.0f;
		//borker total word num
		float broker_
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值