萨摩耶要人陪才睡

时间:2025-01-07 22:35 人气:0 编辑:招聘街

一、萨摩耶要人陪才睡

如何训练你的萨摩耶要人陪才睡?

如果你是一名萨摩耶犬的主人,你可能曾经遇到过一些挑战,其中一个常见的问题就是他们需要人陪着才睡觉。这种行为常常会让主人感到困惑,但通过正确的训练和处理,你可以帮助你的萨摩耶建立更健康的睡眠习惯。在本文中,我们将分享一些关于如何训练你的萨摩耶犬独立入睡的技巧。

萨摩耶的睡眠需求

了解你的萨摩耶的睡眠需求是训练的第一步。萨摩耶是一种活泼好动的犬种,他们需要充足的活动量来消耗体力。如果你的萨摩耶没有得到足够的运动,他们可能会变得焦躁不安,需要依赖人陪才能入睡。

此外,萨摩耶也是一种非常亲近主人的犬种,他们喜欢与主人建立密切的关系。这种亲近倾向可能会表现在需要人陪才能安心入睡的行为中。因此,训练萨摩耶独立入睡需要结合他们的体能需求和情感需求。

建立固定的睡眠环境

为了帮助你的萨摩耶独立入睡,你需要建立一个固定的睡眠环境。这包括为你的萨摩耶选择一个舒适的睡眠地点,比如一个柔软的狗床或者专门的睡眠区域。这个地方应该安静、舒适,最好远离外界干扰。

另外,为了营造助眠的氛围,你可以为萨摩耶准备一些安抚的玩具或者盲目,帮助他们放松身心。在这个固定的睡眠环境中,让你的萨摩耶逐渐习惯独立入睡,而不依赖人陪。

渐进式训练

训练萨摩耶独立入睡是一个渐进式的过程,你需要耐心和持之以恒。一开始,你可以在睡前与他亲密接触,给予他安慰和安抚,然后逐渐减少这种依赖性的行为。

你可以逐渐延长与他分开的时间,让他习惯独自入睡。如果你的萨摩耶在夜晚醒来,试图依赖人陪才能再次入睡,你可以尝试慢慢减少这种响应,帮助他建立更独立的睡眠能力。

积极的强化训练

在训练过程中,你可以使用积极的强化方法来帮助你的萨摩耶建立独立入睡的习惯。比如,当他能够在没有人陪的情况下入睡时,你可以给予他奖励,比如零食或者表扬。

通过积极的强化训练,你可以增强你的萨摩耶与独立入睡之间的联系,帮助他建立更稳定的行为模式。记住,训练过程中要注意及时给予奖励和正面反馈,以帮助他更好地理解你的期望。

关注健康和情绪问题

最后,如果你的萨摩耶始终需要人陪才能入睡,可能是因为他们存在一些健康或者情绪问题。在这种情况下,你应该及时咨询兽医或者专业的狗行为专家,以找出根本原因并制定合适的治疗方案。

有时候,萨摩耶需要人陪才能入睡可能是因为他们感到焦虑或者害怕,需要更多的安慰和支持。了解你的萨摩耶并给予他们足够的关爱和照顾是培养健康睡眠习惯的关键。

结语

总的来说,训练萨摩耶独立入睡需要耐心、理解和持之以恒。通过建立固定的睡眠环境、渐进式训练、积极的强化和关注健康问题,你可以帮助你的萨摩耶建立更健康、更独立的睡眠习惯。记住,与你的宠物建立良好的关系是培养积极行为的基础,而理解他们的需求和情感是实现成功训练的关键。

二、寿险自然死亡才陪吗

寿险自然死亡才陪吗

寿险是一种人们寄托着对未来的期望的保险产品,它能够提供保障和经济支持,确保我们的家人在我们离开后能够有一个安全的生活。然而,很多人对于寿险的保险赔偿有着一些疑问,特别是当被保险人是因自然死亡而离世时。

自然死亡对寿险赔付的影响

寿险一般分为两种类型:自然死亡保险和意外身故保险。其中,自然死亡保险是指当被保险人因自然原因而去世时,寿险公司会向受益人支付保险金额。相比之下,意外身故保险则是在被保险人因意外事故而丧命时进行赔付。

对于自然死亡保险,寿险公司会根据合同中的条款和条件来确定赔付金额。通常情况下,寿险合同中会明确规定寿险赔偿的范围和条件。一般来说,寿险保单在自然死亡的情况下是可以获得赔偿的,但具体的赔偿金额会根据保单的条款而有所不同。

寿险赔付的条件

针对寿险自然死亡赔付的条件,通常包括以下几个方面:

  1. 保险合同有效:保险合同必须在有效期内,且保费已按时缴纳。否则,在保险合同失效或未按时缴费的情况下,寿险公司不承担赔偿责任。
  2. 自然死亡范围:保险合同中会对自然死亡的范围进行定义和解释。自然死亡一般指因自身健康因素或年老体衰导致的死亡,例如疾病、自然衰老等。在这些情况下,被保险人的死亡符合自然死亡保险的赔付条件。
  3. 合同约定期限:寿险合同中会约定一定的等待期或免责期。在免责期内,被保险人的自然死亡将不获得赔偿。等待期是为了防止投保人为了获取保险金而故意伪造的情况。

保险公司态度和政策

不同的保险公司在对寿险自然死亡赔付问题上可能存在差异。有些保险公司对自然死亡条件较为宽松,而有些则会对自然死亡进行更严格的界定。

因此,投保人在购买寿险产品时应该仔细阅读合同内容,了解保险公司对于自然死亡的定义以及赔付条件的具体规定。如果对合同中的某些条款存在疑问,可以咨询专业人士或联系保险公司的客服进行咨询。

关于寿险自然死亡赔付的常见问题

以下是一些关于寿险自然死亡赔付的常见问题及答案:

  1. 1. 如果被保险人因意外事故但非即时身故,是否可获得赔付?
  2. 根据寿险合同的约定,如果被保险人因意外事故而导致伤残或暂时停工,但并非即时身故,一般是不符合寿险赔付条件的。自然死亡保险主要是针对被保险人的身故情况。

  3. 2. 寿险自然死亡保险是否包括自杀赔付?
  4. 大多数寿险合同会规定自杀在一定期限内是不会进行赔付的。通常在自杀时间起两年内,保险公司不承担赔偿责任。自杀在保险合同中是一种特殊情况,需要谨慎对待。

  5. 3. 寿险自然死亡保险是否需要体检?
  6. 寿险自然死亡保险一般需要被保险人进行体检,以确认其身体状况是否适合购买该保险产品。因为保险公司需要评估被保险人的风险,从而确定保险费和赔付条件。

总之,在购买寿险自然死亡保险时,我们需要详细了解合同条款,确保自己对赔付条件有清晰的认识。如果对合同内容有任何疑问,建议及时咨询律师或保险公司的专业人员。

三、美女陪导演睡完才知道他说

近日,一则关于美女陪导演睡完才知道他说的新闻引起了广泛关注。这个事件引发了许多人的思考和讨论,对于娱乐圈的黑暗面再次引起了人们的担忧。

背后的故事

据报道,一位美女模特声称自己被一位知名导演邀请到他的家中陪睡。在陪睡的过程中,这位模特才发现导演其实并不会说他所声称的流利英语,而是一直使用自己的母语与她交流。这对于那位模特来说,是一个巨大的震惊和打击。

娱乐圈黑暗面再次曝光

虽然这件事情只是个别案例,但它再次引起了人们对于娱乐圈黑暗面的关注。导演与演员之间的关系向来备受关注,有时候会因为一些不道德的行为而引发争议。这次事件的曝光,让人们对于娱乐圈乱象感到愤慨和失望。

在娱乐圈,有一些不法之徒利用自己的职权和地位,对待演员不公正。他们以提供资源和机会为借口,去满足自己的私欲和欺骗他人。这种行为不仅伤害了受害者的利益,也败坏了整个娱乐行业的形象。

呼唤行业规范和法律保护

为了避免这种事件的发生,娱乐业需要更加完善的规范和法律保护机制。首先,要建立严格的审核机制,确保电影、电视剧的制作过程中不发生任何不合理的行为。同时,演员们也需要加强法律意识,学会保护自己的合法权益。

其次,我们需要加大对于娱乐圈的监管力度。只有加强对于导演、制片人等行业人士的监督,才能有效地遏制他们的不当行为。同时,对于违法违规行为要进行严厉的处罚,以起到震慑作用。

此外,社会的监督也起到了至关重要的作用。公众应该保持对于娱乐圈的关注和声音,通过舆论的力量推动整个行业向更加规范和健康的方向发展。

演员自救与整改

对于演员来说,保护自己的权益同样重要。他们需要学会如何判断一个机会是真实可信还是陷阱。要了解每个合作方的背景和信誉,对于不合理的要求和行为要果断拒绝。

同时,演员也需要通过自身的努力和能力来提高自己的地位和话语权。只有真正拥有了实力和独立思考能力的演员,才能避免成为他人的玩物。

引起社会关注的价值

这次事件引起了广泛的社会关注,有助于推动娱乐圈更好地规范自身。通过这种曝光,公众对于问题和乱象有了更深入的了解,同时也给了受害者更多的关注和支持。

娱乐圈作为一个特殊的行业,需要承担起对社会的责任。不仅要创造出优秀的作品,还要为整个社会树立正确的价值观和道德标准。只有这样,我们才能共同努力,让娱乐圈成为真正美好的世界。

四、怎么陪猫咪玩它才高兴?

陪猫咪玩耍是与它建立互动和增进关系的好方式。以下是一些可以让猫咪高兴的玩耍方法:

1. 提供适合的玩具:给猫咪提供各种适合它的玩具,如羽毛棒、小球、猫爪板等。猫咪喜欢追逐、抓捕和攻击的游戏,这些玩具可以激发它们的猎食本能。

2. 使用互动玩具:与猫咪一起使用互动玩具,如激光笔或线绳,让猫咪追逐其中的光点或物体。确保在使用激光笔时不要直接照射到猫咪身体或眼睛。

3. 增加运动和追逐:利用长走廊或开阔的空间,与猫咪一起玩追逐游戏。你可以使用玩具或纸球引导猫咪追逐,并给予它鼓励和赞美。

4. 制作隐藏和寻找游戏:将猫咪的零食或玩具藏在不同的地方,让猫咪通过嗅觉和探索找到它们。这可以激发猫咪的智力和探索欲望。

5. 定期互动和玩耍时间:确保每天有一段专门的时间与猫咪互动和玩耍。这可以增进你们之间的关系,并满足猫咪的需求。

6. 观察猫咪的喜好:观察猫咪的喜好和行为,了解它最喜欢的玩耍方式。有些猫咪喜欢攀爬,你可以为它提供攀爬架或树枝;有些猫咪喜欢追逐,你可以使用快速移动的玩具引起它们的兴趣。

重要的是,尊重猫咪的边界和需求。如果猫咪不感兴趣或表现出不喜欢的行为,就停止相应的游戏或活动。每只猫咪的个性和喜好都有所不同,耐心地了解和适应猫咪的喜好,与它们建立更深入的互动和关系。

五、怎么陪狗狗玩才不孤独?

有很多玩的,挠痒痒,捡球球,。。。。。

六、怎样陪孩子读书才最有效?

1、 大声朗读

在孩子还没有认字的情况下,或者说还不能够独立的完成阅读的情况下,父母在陪伴孩子读书的时候,可以大声的朗读出来。

为什么呢?因为这个时候孩子还没有认识字,不能通过识别文字来触发自己的大脑进行思考。但是,他能够辨识声音和一些简单的语言,那么当我们大声的朗读的时候,孩子可以根据声音语和言当去想象、去判断我们所要表达的意思。

在这样的整个过程下来,孩子可以欣赏我们声音的同时,他自己的想象力、判断力,以及语言能力都能够得到一定的锻炼,从而提升大脑的活跃程度。

2、 尊重孩子

亲子阅读最重要的主角还是孩子。我们要站在孩子的角度去阅读,去完成这一过程,用孩子的思考方式进行思考。

比如说,琳琳的孩子快两岁了,平时有空的时候总会叫妈妈给他讲故事,而且最喜欢的就是讲龟兔赛赛跑的故事。

琳琳觉得这个故事已经讲了很多遍了,一直跟孩子说要换一个故事,但是孩子总是不肯,就是要听这个故事才开心。

其实,孩子还小,他的记忆能力还是比较弱的,基本上是处于于机械记忆的阶段,不能进行逻辑的分析的。

不断重复的声音、语言、动作可以和他大脑当中先前的的简单记忆进行快速的联系,这样会让孩子感觉到轻松、安全和愉悦。

所以孩子会不厌其烦的想去重复一些行为。往往在这个时候我们一定要尊重孩子的选择,毕竟,对于大人来说很简单的事情,对孩子来说就不简单了。

3、 合适的绘本

想要进行阅读,首先我们必须得选择绘本,在绘本的选择上,必须是以孩子为主体,选择适合孩子年龄阶段和成长规律的绘本,万不可盲目选读。

我们陪孩子读书时,注意遵从先单字再到词语、词组,最后到语句这一个过程来。

那么根据这样的规律,我们要选择相对应的合适的绘本。开始孩子还小的时候,才刚刚学会说话,我们要选择一些只有单字的绘本,随着孩子年龄的不断增长,我们要选择词语绘本,再后面才到语句绘本,以及小小故事书。

父母千万不能操之过急。选择超越孩子成长阶段的绘本不仅不利于培养孩子的阅读能力,有可能还会使孩子对阅读产生抵触情绪。

七、陪诊视频怎么发才不违规?

1 医疗类的视频可以拍摄,但需要遵守相关的法律法规及行业规范,不能违规。2 医疗类的视频属于特殊领域,需要注意的问题比较多。在拍摄前要先进行前期准备,明确拍摄的目的和范围。拍摄时需要遵守隐私保护和知情同意的原则,不得发布病人信息和病历资料等敏感信息。另外,在拍摄医疗手术过程时一定要注意卫生和安全,保证医护人员和病人的生命安全。3 为了不违规,建议在拍摄前及时咨询相关专业人士或机构,了解相关法规和规范,确保拍摄过程和内容合法合规。同时,在拍摄过程中也应该注重舆论导向和宣传效果,避免敏感信息的泄漏和不良影响的产生。

八、为什么睡觉有人陪才睡得香?

睡觉有人陪着睡得香,因为有人在身边心里觉得踏实有安全感。尤其是女性,天生胆子小,一个人孤单单的睡在床上很容易会失眠,特别是在寒冷冬天的夜里,又冷又黑,一个人翻来覆去睡不着,总感觉屋里有东西,各种奇怪的声音,灯开了关,关了开,如果有个人陪着睡得就会踏实多了

九、如何赔陪大的陪

如何赔陪大的陪

如何赔陪大的陪

在生活中,我们常常会面临需要赔偿别人损失的情况。不论是因为意外事故、医疗过失还是其他原因造成的损害,赔偿是维护社会公正和平衡的重要环节。其中,赔偿金额的确定是一个复杂的问题,需要综合考虑多个因素。

概述

赔偿的目的是使受损方能够获得合理的经济补偿,以弥补因种种原因导致的损失。尽管赔偿金额的确定存在一定的法律依据,但具体的计算方式因案件而异。以下是一些常见的因素,可能影响赔偿金额:

  • 医疗费用:包括就诊、手术、药物等费用。
  • 损失工作能力:由于意外事故或其他原因导致的伤残,可能影响受害人的工作能力,进而导致收入减少。
  • 精神痛苦:受害人在事故或事件中遭受的心理创伤。
  • 家庭生活受损:受害人的家庭生活因事件发生而受到了负面影响。
  • 法律成本:包括律师费用和司法程序的花费。
  • 其他相关费用:如残疾人适应性设施调整、康复成本等。

赔偿的计算方法

赔偿的计算方法因国家和地区而异。一些地方遵循传统的损害赔偿计算方法,主要根据受害人的经济损失和痛苦来确定赔偿金额。其他地方则使用更为复杂的计算方法,将经济损失、社会影响、公平等因素综合考虑。

经济损失计算

经济损失计算是赔偿金额计算中最为重要的一部分。它通常包括以下几个方面:

  • 直接经济损失:指因意外事故或其他原因造成的直接经济损失,如医疗费用、车辆损坏修理费等。
  • 间接经济损失:指因受害人的伤残或住院治疗等原因导致的收入减少、生活费用增加等间接损失。
  • 未来损失:对受害人未来可能发生的经济损失进行合理估计,如未来就医费用、康复费用等。

非经济损失计算

除了经济损失之外,还有一些赔偿项是用于弥补非经济损失,如精神痛苦、家庭生活受损等。对于这些损失的计算较为困难,常常需要综合考虑以下因素:

  • 创伤严重程度:创伤对受害人的生活造成了怎样的影响。
  • 持续时间:创伤对受害人的影响能够持续多长时间。
  • 医疗证明:是否存在医疗证明来证实受害人的精神痛苦。
  • 社会认可度:对于类似事件的赔偿金额,社会是否普遍认可。

公平原则

赔偿金额的计算中,公平原则是一个非常重要的考虑因素。公平主要包括以下几个方面:

  • 社会公正:赔偿金额是否符合社会公众的期望和要求。
  • 尽职调查:是否充分调查受害人的损失和需求,以确保赔偿金额的合理性。
  • 参考依据:是否借鉴了类似案件的赔偿金额作为参考依据。

结论

赔偿金额的计算是一个复杂而重要的问题。在确定赔偿金额时,必须综合考虑受害人的经济损失、非经济损失以及公平原则。只有在充分考虑了这些因素后,才能确定一个合理的赔偿金额,使受害人能够获得相应的补偿。

无论是受害人还是赔偿方,都可以通过专业的律师咨询来了解赔偿计算的具体细节和法律依据,以确保自身权益的合理维护。只有通过合理有效的赔偿计算,才能达到赔偿的公平正义,以及法律的公信力的维护。

十、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