云南农行正式员工待遇?

时间:2024-11-20 13:18 人气:0 编辑:招聘街

一、云南农行正式员工待遇?

 1.基础工资:中国农业银行的基础工资是根据不同的员工职级来发放的,初入职的柜员,持本科文凭的参照公务员二十五级;持硕士学位的,参照公务员二十四级;持博士学位的,参照公务员二十三级。从柜员升职至大堂经理后,月薪调整为5000元左右;升职至二级支行行长时,月薪调整为8000元左右;升任至一级支行行长时,月薪调整为9000元左;升任至分行行长时,月薪调整为10000元左右;总行工作人员平均月薪5800元左右。

2.福利:

(1)五险一金(医疗保险,失业保险,工伤保险,养老保险,生育保险,住房公积金),这部分是从基础工资里扣除的,大概会扣掉基础工资的20%。

(2)节日慰问金:一般是发放超市的购物卡或奖金,五一、国庆、中秋、春节的时候发放,每次500-3000不等。

3.补贴:平时有交通补贴、电话补贴、饭补、消费券等各类吃穿用的实物奖励

4.绩效奖金:

(1)季度奖:每季度7000~9000

(2)年终奖,不同职位年终奖的多少不同,柜员的年终奖大致为2-3w。

(3)销售奖金,就是平时销售各种银行产品的奖励,因人而异,差异较大。

(4)绩效奖金与每个网点的经营业绩紧密相关。

5.其他

(1)福利保险:除政府规定的各项保险外,额外提供补充公积金、企业年金、补充医疗计划、住房补贴计划,如每月的住房补贴约1500-1800元。

(2)教育培训:新员工入行培训、岗位资格培训、国外(境外)培训。

(3)职业规划:为新员工提供个性化、全面化、长期化的职业发展规划。

二、云南农行网上银行怎么开通?

个人网银柜台注册流程:您可持本人有效身份证件、账户凭证原件(借记卡、准贷记卡)前往全国任一农行网点签约开通个人网银,其中使用活期存折只能在省内办理,如使用贷记卡(信用卡)注册网银还必须提供本人任一借记卡、准贷记卡或存折作为服务费缴费账户。该业务不允许代办,不允许使用临时身份证办理。

1.如持台胞证办理需经一级行审批。

2.未满16周岁,开通个人网银应由监护人代理申请。个人网银自助注册流程:您可进入农行网站(www.95599.cn),点击个人网银登录,在用户名登录窗口点击自助注册。自助注册仅支持18位个人居民身份证,尚不支持重号身份证。自助注册的个人网银可以办理查询类交易,但转账类交易无法操作。

三、云南农行怎么交农村医疗保险?

农行手机银行怎么交新农合具体流程如下:

1.下载农业银行APP,进入首页后选择“生活缴费”;

2.找到“保险医疗服务”,并点击里面的“社保”;

3.在搜索框内输入参保所在地区,之后就会弹出该地区的居民养老保险和居民医保字样,选择居民医保就行;

4.来到缴费页面后依次输入参保人的身份证号、缴费地区、缴费档次等信息;

5.最后完成居民医保的付款,就算参保成功了。

目前,新农合已经和城镇居民医保合并成为了城乡居民医保,所以参保居民医保就是参保新农合。

四、云南省2021农行春招时间?

2021农业银行春招报名时间为2020年8月17日—2020年9月6日。

五、农行云南分行微银行退款流程介绍?

农行云南分行微银行退款流程如下:1. 客户申请退款:客户通过农行云南分行微银行平台提交退款申请,提供相关的退款信息。2. 银行审核:银行工作人员收到客户的退款申请后,会进行审核。审核内容包括客户的身份验证、退款金额的确认等。3. 审核通过:如果审核通过,银行将准备开始退款。如果审核未通过,银行会向客户说明原因并提供对应的解决方案。4. 退款处理:银行将通过客户提供的银行账户信息进行退款处理。退款金额将直接转入客户指定的银行账户中。5. 退款完成:客户在一定的处理时间内会收到退款金额。需要注意的是,具体的退款流程可能因为不同的银行政策和规定而有所不同,上述流程仅供参考。如果需要进一步了解农行云南分行微银行的退款流程,建议直接向银行咨询。

六、云南省特岗教师面试题体育

云南省特岗教师面试题体育

云南省特岗教师招聘面试是考察候选教师综合素质的重要环节。体育作为一门重要的学科,也是特岗教师面试中常被问及的题目之一。本文将为大家介绍云南省特岗教师面试题中与体育相关的几个常见问题。

1. 您认为体育在学生的发展中有何重要性?

体育对于学生的发展具有重要的作用。首先,体育活动可以增强学生体质,培养健康的生活习惯。通过体育锻炼,学生的身体素质得到提高,有利于预防疾病的发生,增强学生抵抗力。其次,体育可以促进学生的智力发展。通过体育运动,学生可以提高思维能力、注意力、反应能力等,有助于学生在学习上取得更好的成绩。此外,体育还能够培养学生的团队合作精神和领导能力,在培养学生的社会适应能力方面起到积极的作用。

2. 您如何在课堂教学中融入体育元素?

在课堂教学中融入体育元素是提高学生学习积极性和课堂互动性的有效途径。我可以通过以下几种方式来融入体育元素:

  • 组织课间操、眼保健操等体育活动,调节课堂气氛,增强学生注意力。
  • 利用体育知识进行课堂讲解,例如在讲解力学原理时,可以通过举例解释体育动作中的力学规律。
  • 设置小组活动或团体项目,鼓励学生通过团队合作来完成任务,培养学生的团队意识和协作能力。
  • 利用体育游戏进行知识点的复习和巩固,增加学生的参与度和学习兴趣。

通过以上方式,我可以在课堂教学中融入丰富的体育元素,提高学生的学习效果。

3. 体育项目多样化对学生发展的影响是什么?

体育项目多样化对学生发展有积极的影响。首先,体育项目多样化可以满足学生个体差异化的需求。不同学生在体育方面的兴趣和擅长项目各有不同,通过提供多样化的体育项目,可以让每个学生都能找到适合自己的项目,从而激发学生的兴趣和积极性。其次,体育项目多样化可以促进学生全面发展。不同的体育项目涉及到不同的身体能力和技能,通过参与多样化的体育项目,学生可以全面锻炼身体各个方面的能力,提高综合素质。此外,体育项目多样化还能够培养学生的协作精神和竞争意识,为学生的个人成长和未来的社会适应能力奠定基础。

4. 您如何鼓励学生积极参与体育活动?

鼓励学生积极参与体育活动是提高体育教学效果的关键。我会采取以下几种方式来鼓励学生积极参与体育活动:

  • 通过制定奖励制度,激发学生的积极性。例如,设立体育成绩优秀奖、体育活动积极参与奖等。
  • 组织体育比赛,建立竞争机制,让学生通过比赛的方式展示自己的实力,激发学生的参与热情。
  • 将体育活动与课程内容结合起来,让学生认识到体育对于学习的重要性。例如,在教学中引入与体育相关的实例和案例,让学生意识到体育是学习的重要补充。
  • 定期组织户外体育活动,开展团队建设训练等,增加学生对体育活动的兴趣和参与度。

通过以上方式,我可以有效地鼓励学生积极参与体育活动,提高体育教学的效果。

5. 您认为如何评价学生在体育方面的表现?

对学生在体育方面的评价应综合考虑学生的身体素质、技能水平以及参与度等方面。我认为可以从以下几个方面对学生在体育方面的表现进行评价:

  • 身体素质评价:包括学生的体重身高指数、五项身体素质测试等。
  • 技能水平评价:根据学生在各项体育项目中的技能表现来评价其技能水平。
  • 参与度评价:评价学生在体育活动中的积极参与程度和合作态度。
  • 比赛表现评价:对学生在体育比赛中的表现进行评价,包括竞技精神、团队合作等方面。

通过综合考虑以上几个方面的评价,可以对学生在体育方面的表现做出全面和客观的评价。

总之,体育在学生发展中具有重要的作用,融入体育元素的课堂教学能够提高学生的学习积极性和互动性。多样化的体育项目对学生全面发展有积极影响,鼓励学生积极参与体育活动是提高体育教学效果的关键。对学生在体育方面的评价应从多个方面进行综合考虑。希望以上内容能对云南省特岗教师面试中与体育相关的题目有所帮助。

七、2022农行云南秋招面试通过率?

农业银行秋招面试通过率?

根据往年农行的面试情况来看,其面试录取比例为1:3,面试通过率为30%左右,整体上来看难度还是比较大的。

农行面试形式为无领导小组讨论和半结构化面试。

本文主要讲一下农行的无领导和半结构化面试如何准备?

一、农行无领导小组讨论

(一)无领导小组的流程

无领导小组面试其实就是一组考生6-9个人,同时进入考场,农业银行无领导小组面试时长在1小时左右。

第一阶段:考官给考生同样的一段材料进行准备,考生先逐一发表自己的观点。组内考生的观点一定会有差异和区别,

第二阶段:组内考生进行讨论,最终要求整个小组形成统一意见。

第三阶段:一般会要求组内推选一个人来做总结。

(二)无领导小组的题型

无领导小组讨论的讨论题一般都是智能性的题目,从形式上来分,可以分为以下五种:1、开放式:例如,您认为什么样的领导才是个好领导?

2、两难式:例如,您认为能力和合作精神哪个更重要?

3、排序选择:例如,若母亲、妻子、儿子三人同时落水,该先救谁?

4、资源争夺:例如,公司只有500万奖金,不同部门应如何分配?

5、实际操作:针对存在的问题设计一个实际操作方案。

八、农行转农行要多久到账

农行转农行要多久到账

随着科技的进步和互联网的普及,人们日常生活中的金融交易也逐渐实现了线上操作,其中转账就是一项非常常见的金融操作。然而,不同银行之间的转账速度却有所不同。今天我们来探讨一下农业银行转农业银行的转账到账时间以及一些注意事项。

农业银行,作为我国重要的商业银行之一,服务了广大农民和城市居民多年。很多人经常会有跨行转账的需求,而对于农行转农行的到账时间,很多人都颇有些疑惑。

首先,我们需要明确一点,农行转农行的到账时间受到多种因素的影响,包括但不限于以下几个方面:

1. 转账方式

农行提供了多种转账方式,包括柜面转账、网银转账、手机银行转账等。不同的转账方式对到账时间有一定的影响。一般来说,通过柜面转账的到账时间较长,可能需要1-2个工作日;而通过网银转账或手机银行转账,则更加便捷,一般情况下当天即可到账。

2. 转账金额

转账金额也是影响到账时间的重要因素之一。较小的金额往往能够更快地到账,而较大的金额可能需要更长的时间进行核实和处理。这是因为较大金额的转账涉及到风险控制和合规性审核,需要更多的时间来确保资金安全。

3. 转账时间

农行转农行的到账时间还与转账时间有关。如果您在工作日的工作时间内进行转账,一般来说到账会相对较快,可能在同一天或者第二个工作日就能到账。但如果您在节假日或非工作时间进行转账,那可能需要更长的时间来完成处理。

需要注意的是,以上所提到的转账时间只是一般情况下的估计,实际到账时间还可能受到其他因素的影响,如网络延迟、节假日等。如果转账时间较长或有其他问题,建议您及时联系农行客服查询。

对于大部分转账需求来说,农行转农行的到账时间还是相对较短的。农业银行作为我国的大型银行之一,拥有完善的网络系统和专业的处理团队,能够提供快速、安全的转账服务。

总而言之,农业银行转农业银行的到账时间是根据转账方式、转账金额和转账时间等因素综合决定的。一般情况下,通过网银转账或手机银行转账的到账时间较快,可能当天就能到账。但如果通过柜面转账或金额较大的转账,则可能需要1-2个工作日的时间。

无论是农业银行转农业银行还是其他银行之间的转账,作为用户我们都需要提前做好规划和安排,选择合适的转账方式,并留出足够的时间来处理可能出现的延迟。

希望以上对于农行转农行到账时间的解答能够帮助到您,祝您使用农业银行的转账服务顺利愉快!

九、农行对农行转账多久到账

农行对农行转账多久到账

农行对农行转账到账时间的有关问题

农行作为国内最大的商业银行之一,在转账业务方面一直备受用户关注。尤其是在农行对农行转账到账时间上,许多用户关心的问题就是,转账多久能够到账?在本文中,我们将详细解答农行对农行转账的到账时间问题。

1. 农行对农行转账是什么?

农行对农行转账是指在中国农业银行账户之间进行转账的操作。这种转账方式非常方便,因为农行用户可以通过不同的渠道进行操作,例如柜面、ATM、手机银行和网银等。无论是个人用户还是企业用户,都可以选择这种转账方式来完成资金的划转。

2. 农行对农行转账的到账时间

农行对农行转账的到账时间主要受到以下几个因素的影响:

  • 转账金额
  • 转账方式
  • 转账时间
  • 系统处理时间

在一般情况下,小额转账(例如5000元以下)的到账时间通常较快,一般可以在当日或者最多1个工作日内到账。而大额转账(例如5000元以上)的到账时间会相对较长,可能需要2个工作日或更久的时间才能到账。

此外,不同的转账方式也会对到账时间产生影响。例如通过柜面办理的转账可能相对较慢,而通过手机银行或网银进行操作的转账能够更快到账。

还有一个重要的因素是转账时间。如果您在农行规定的转账时间内进行操作,通常能够保证较快的到账时间。但如果您在非工作时间或者节假日进行转账,那么到账时间可能会延迟。

最后,农行系统的处理时间也是影响到账时间的重要因素之一。因为银行需要对转账订单进行审核和处理,所以在高峰期可能会出现一定的延迟。如果您的转账与其他用户较多的同时进行,那么到账时间可能会稍有延迟。

3. 如何缩短农行对农行转账的到账时间

如果您希望尽快收到农行对农行转账的款项,我们提供以下几点建议:

  • 选择合适的转账方式:尽量选择手机银行或网银进行转账,相比于柜面操作,这些方式更加便捷和快速。
  • 避开非工作时间和节假日:如果您的转账可以避开非工作时间和节假日进行,那么通常能够获得更快的到账时间。
  • 避免高峰期:在银行系统繁忙的高峰期进行转账,可能会导致到账时间延迟。如果条件允许,尽量选择低峰期进行转账操作。
  • 确认转账信息准确无误:在进行转账之前,仔细核对对方账户信息,确保输入准确无误。一旦转账发生错误,可能需要更长的时间来解决问题。

4. 其他注意事项

在进行农行对农行转账时,我们还需要注意一些其他事项:

  • 转账手续费:根据农行的规定,部分转账可能会收取一定的手续费。在进行转账之前,您可以查询相关规定,了解是否需要支付手续费。
  • 限额限制:农行对农行转账也存在一定的限额限制。个人用户和企业用户的限额可能不同,您可以登录农行官方网站或咨询客服了解具体的限额规定。
  • 安全保障:为了保障转账的安全性,农行在转账过程中可能会采取一些安全措施,例如短信验证、支付密码等。在操作过程中,请确保您遵守相关规定并保护好个人信息。

结论

农行对农行转账的到账时间与转账金额、转账方式、转账时间和系统处理时间等因素相关。一般情况下,小额转账到账时间较短,大额转账到账时间较长。为了缩短到账时间,可以选择合适的转账方式,并尽量避开非工作时间和节假日。此外,注意避开高峰期和确认转账信息准确无误也能够提高到账速度。

如果您在使用农行对农行转账过程中遇到问题,建议及时联系农行客服进行咨询和解决。

十、mahout面试题?

之前看了Mahout官方示例 20news 的调用实现;于是想根据示例的流程实现其他例子。网上看到了一个关于天气适不适合打羽毛球的例子。

训练数据:

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

检测数据:

sunny,hot,high,weak

结果:

Yes=》 0.007039

No=》 0.027418

于是使用Java代码调用Mahout的工具类实现分类。

基本思想:

1. 构造分类数据。

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

接下来贴下我的代码实现=》

1. 构造分类数据:

在hdfs主要创建一个文件夹路径 /zhoujainfeng/playtennis/input 并将分类文件夹 no 和 yes 的数据传到hdfs上面。

数据文件格式,如D1文件内容: Sunny Hot High Weak

2. 使用Mahout工具类进行训练,得到训练模型。

3。将要检测数据转换成vector数据。

4. 分类器对vector数据进行分类。

这三步,代码我就一次全贴出来;主要是两个类 PlayTennis1 和 BayesCheckData = =》

package myTesting.bayes;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.util.ToolRunner;

import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;

import org.apache.mahout.text.SequenceFilesFromDirectory;

import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;

public class PlayTennis1 {

private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";

/*

* 测试代码

*/

public static void main(String[] args) {

//将训练数据转换成 vector数据

makeTrainVector();

//产生训练模型

makeModel(false);

//测试检测数据

BayesCheckData.printResult();

}

public static void makeCheckVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"testinput";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeTrainVector(){

//将测试数据转换成序列化文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"input";

String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

String[] params = new String[]{"-i",input,"-o",output,"-ow"};

ToolRunner.run(sffd, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("文件序列化失败!");

System.exit(1);

}

//将序列化文件转换成向量文件

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";

String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";

Path in = new Path(input);

Path out = new Path(output);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

ToolRunner.run(svfsf, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("序列化文件转换成向量失败!");

System.out.println(2);

}

}

public static void makeModel(boolean completelyNB){

try {

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";

String model = WORK_DIR+Path.SEPARATOR+"model";

String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";

Path in = new Path(input);

Path out = new Path(model);

Path label = new Path(labelindex);

FileSystem fs = FileSystem.get(conf);

if(fs.exists(in)){

if(fs.exists(out)){

//boolean参数是,是否递归删除的意思

fs.delete(out, true);

}

if(fs.exists(label)){

//boolean参数是,是否递归删除的意思

fs.delete(label, true);

}

TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();

String[] params =null;

if(completelyNB){

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};

}else{

params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};

}

ToolRunner.run(tnbj, params);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("生成训练模型失败!");

System.exit(3);

}

}

}

package myTesting.bayes;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import org.apache.commons.lang.StringUtils;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.fs.PathFilter;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.mahout.classifier.naivebayes.BayesUtils;

import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;

import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;

import org.apache.mahout.common.Pair;

import org.apache.mahout.common.iterator.sequencefile.PathType;

import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;

import org.apache.mahout.math.RandomAccessSparseVector;

import org.apache.mahout.math.Vector;

import org.apache.mahout.math.Vector.Element;

import org.apache.mahout.vectorizer.TFIDF;

import com.google.common.collect.ConcurrentHashMultiset;

import com.google.common.collect.Multiset;

public class BayesCheckData {

private static StandardNaiveBayesClassifier classifier;

private static Map<String, Integer> dictionary;

private static Map<Integer, Long> documentFrequency;

private static Map<Integer, String> labelIndex;

public void init(Configuration conf){

try {

String modelPath = "/zhoujianfeng/playtennis/model";

String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";

String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";

String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";

dictionary = readDictionnary(conf, new Path(dictionaryPath));

documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));

labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));

NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);

classifier = new StandardNaiveBayesClassifier(model);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println("检测数据构造成vectors初始化时报错。。。。");

System.exit(4);

}

}

/**

* 加载字典文件,Key: TermValue; Value:TermID

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {

Map<String, Integer> dictionnary = new HashMap<String, Integer>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

String name = path.getName();

return name.startsWith("dictionary.file");

}

};

for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {

dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());

}

return dictionnary;

}

/**

* 加载df-count目录下TermDoc频率文件,Key: TermID; Value:DocFreq

* @param conf

* @param dictionnaryDir

* @return

*/

private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {

Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();

PathFilter filter = new PathFilter() {

@Override

public boolean accept(Path path) {

return path.getName().startsWith("part-r");

}

};

for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {

documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());

}

return documentFrequency;

}

public static String getCheckResult(){

Configuration conf = new Configuration();

conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

String classify = "NaN";

BayesCheckData cdv = new BayesCheckData();

cdv.init(conf);

System.out.println("init done...............");

Vector vector = new RandomAccessSparseVector(10000);

TFIDF tfidf = new TFIDF();

//sunny,hot,high,weak

Multiset<String> words = ConcurrentHashMultiset.create();

words.add("sunny",1);

words.add("hot",1);

words.add("high",1);

words.add("weak",1);

int documentCount = documentFrequency.get(-1).intValue(); // key=-1时表示总文档数

for (Multiset.Entry<String> entry : words.entrySet()) {

String word = entry.getElement();

int count = entry.getCount();

Integer wordId = dictionary.get(word); // 需要从dictionary.file-0文件(tf-vector)下得到wordID,

if (StringUtils.isEmpty(wordId.toString())){

continue;

}

if (documentFrequency.get(wordId) == null){

continue;

}

Long freq = documentFrequency.get(wordId);

double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);

vector.setQuick(wordId, tfIdfValue);

}

// 利用贝叶斯算法开始分类,并提取得分最好的分类label

Vector resultVector = classifier.classifyFull(vector);

double bestScore = -Double.MAX_VALUE;

int bestCategoryId = -1;

for(Element element: resultVector.all()) {

int categoryId = element.index();

double score = element.get();

System.out.println("categoryId:"+categoryId+" score:"+score);

if (score > bestScore) {

bestScore = score;

bestCategoryId = categoryId;

}

}

classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";

return classify;

}

public static void printResult(){

System.out.println("检测所属类别是:"+getCheckResult());

}

}

相关资讯
热门频道

Copyright © 2024 招聘街 滇ICP备2024020316号-38