金钱观的意思?

时间:2025-03-12 22:59 人气:0 编辑:招聘街

一、金钱观的意思?

金钱观是对金钱的根本看法和态度,是和人生观紧密相连的。金钱观属于物质观,金钱观也可以说是人类在人类社会中对物质世界的一种认识。

人们依靠自己的劳动创造财富,获取财产、金钱,是光荣的,而那种用剥削、掠夺欺诈的手段不劳而获,则是可耻的。

金钱在促进商品交换的过程中起了重要作用,但金钱并非万能,世界上有比金钱更重要、更宝贵的东西。

二、爱情金钱观

爱情与金钱观:平衡两者的关系

爱情与金钱,作为人们生活中最重要的两个方面,其关系一直备受关注和争议。爱情是人类情感的极致表达,而金钱则是社会经济的核心驱动力。如何在两者之间找到平衡点,成为了众多情侣和夫妻们共同面临的挑战。

首先,我们要明确爱情与金钱并非截然对立的两个概念,而是相辅相成的。金钱的确能够为爱情带来物质上的满足和安全感,但同时也不能成为衡量爱情真实价值的唯一标准。因此,我们需要正确理解并树立积极的金钱观。

1. 金钱观的重要性

金钱观是指个体对金钱的认知、态度和行为方式,它会直接影响我们在爱情关系中的表现和决策。有一个健康、积极的金钱观对于维系稳定的爱情关系至关重要。

当我们拥有积极的金钱观时,我们会对金钱保持理性和客观的认知,不会盲目追逐物质,而是更加注重金钱在提供安全感和满足基本需求方面的作用。同时,积极的金钱观还意味着我们能够正确处理金钱与爱情之间的关系,根据自身的价值观和追求,做出明智的选择。

2. 金钱观的塑造

一个人的金钱观主要受到家庭教育、社会环境和个人经历的影响。在成长过程中,家庭对金钱的态度和对金钱使用的范例对于个体金钱观的形成起着至关重要的作用。一些人可能会受到过度保护或过度关注的家庭教育,导致他们对金钱过分依赖或过分看重;而另一些人可能会受到金钱匮乏的影响,对金钱持有排斥和忧虑的态度。

然而,无论我们的金钱观是如何形成的,我们都有能力对其进行调整和塑造。通过积极的学习和思考,我们可以逐渐清晰自己的金钱观,调整不合理的认知和态度。同时,也可以通过与他人的交流和借鉴,学习更加健康和积极的金钱观念。

3. 爱情与金钱的平衡

在爱情关系中,如何平衡爱情与金钱之间的关系,是每对情侣和夫妻必须面对的挑战。这需要双方共同努力和沟通,确立共同的金钱观和价值观,以实现双方的需求和目标。

首先,双方应该坦诚地沟通和表达各自对金钱的态度和需求。通过交流,双方可以更好地了解彼此的价值观和目标,协商制定出合理的金钱规划和预算,以满足双方的需求。

其次,双方应该建立相互支持和信任的关系。在金钱方面,双方应该相互支持和理解对方的选择和决策。无论是一个人承担全部经济责任,还是共同分担经济压力,双方都应该相互理解和尊重,保持公平和平衡的关系。

最后,双方应该记住,金钱并非爱情的全部。尽管金钱能够带来物质上的满足和安全感,但爱情更加注重情感的交流和陪伴。双方应该时刻牢记爱情的真实价值,不让金钱成为破坏感情的障碍。

4. 总结

爱情与金钱观之间的关系是一个复杂而又敏感的话题。正确理解和树立积极的金钱观,可以帮助我们在爱情关系中取得更好的平衡和发展。通过积极的沟通和共同努力,我们可以实现在爱情与金钱之间的和谐共存。

三、金钱观的名言警句?

财富造成的贪婪人,比贪婪造成的富人要多为了金钱而侍奉上帝的人,为了更多的钱也会给魔鬼卖力相信金钱万能的人,往往会一切为了金钱地下的金子要从矿脉里挖取,守财奴的金子要从他的灵魂里发拙醉于酒的人会清醒,迷于财的人永远不会清醒能说千句话,不舍一文钱贪婪的人饱不了,吝啬的人富不了美食家把钱包放进肚子里,而吝啬鬼把肚子放在钱包里金子,黄黄的,发光的,宝贵的金子!只要一点点儿,就可以使黑的变成白的,丑的变成美的,错的变成对的,卑贱的变成尊贵的,老人变成少年,懦夫变成勇士……”...

四、关于“金钱观”的名言诗句等?

1、世人结交须黄金,黄金不多交不深。

纵令然诺暂相许,终是悠悠行路心——出自唐代张谓《题长安壁主人》

译文:世人结交需要黄金,没有钱的友谊多半是塑料友情,纵然有过承诺,最终也会像路人一样冷漠。

2、穷则独善其身,达则兼济天下——出自唐代白居易《与元九书》。译文:不见用的时候就只顾自我修养,见用的时候就要为天下人造福。

3、天下熙熙,皆为利来,天下攘攘,皆为利往——出自西汉著名史学家、文学家司马迁《史记》的第一百二十九章“货殖列传”。译文:天下人为了利益而蜂拥而至,为了利益各奔东西。指普天之下芸芸众生为了各自的利益而奔波。

4、人人为你把命倾,人人为你将身卖——出自晚清佚名诗文《题钱》。译文:自古以来,无数人人为金钱而卖身亡命,忘义负恩,毁誉折节,苟活终身,人格丧失,身败名裂的现象,层出不穷。

5、有钱可使鬼,况于人乎?——出自西晋文学家鲁褒的《钱神论》。译文:只要你肯花钱,什么事也有人替你干。

五、金钱观念的正确教育方法?

1、要敢于在孩子面前谈钱

有些家长认为,孩子年纪小,不想让孩子过早的接触金钱,认为对孩子谈钱是一件很世俗的事。其实不然,孩子总有一天要长大,要面对生活,而金钱是生活中不可缺少的东西,从小培养孩子正确的金钱观,让孩子在成长的道路上不会迷失自己,能够正确看待金钱,不会为了金钱去做一些错误的事情。

2、不要以“没钱”拒绝孩子的要求

如果孩子想买一样东西时,家长不能以“没钱”来拒绝孩子,这样会使孩子对钱产生极度需求,不利于孩子正确的金钱观的养成。

3、正确培养孩子的节俭意识

不要因为要培养孩子的节约意识就过度“穷养”孩子,这样容易造成孩子“抠门”的习惯,或者把金钱看得太重,对金钱产生忧虑,不要让赚钱成为孩子的负担。

培养孩子正确的金钱观,让孩子养成正确的价值观对孩子的成长乃至一生都至关重要。家长们要重视起来,在生活中一点一滴地树立孩子正确的金钱观。以身作则,从自身做起,树立正确的消费观,起到示范榜样的作用。另外,要教育孩子金钱要取之有道,用之有度,崇尚节约,独立自强,用自己的双手去创造美好的生活。

六、孔子的金钱观是什么?

不义而富且贵,于我如浮云。”这句话反映了“君子爱财,取之有道。”的财富观。

这句话是“孔子”说的。

出自《论语·述而》。

意思是:用不道义的手法得到的富与贵,对我来说,就像天上的浮云一样微不足道。

比喻把金钱和地位看的很低。

“不义而富”是指通过不正当的途径致富。古往今来,“不义而富”的情况很多。比如说,偷盗、抢劫他人财富而致富,谋财害命而致富,凭借权势霸占他人财富而致富,投机取巧而致富,制售假冒伪劣商品而致富,贪污受贿而致富,巧取豪夺而致富,欺蒙拐骗而致富,不当得利而致富,敲诈勒索而致富,如此等等,都属于“不义而富”的范围。

对志士仁人来说,像这样的富都不屑一顾。“不义而富”是一种耻辱,不值得羡慕与向往,宁愿一无所有,无所谓“如浮云”。君子不是不爱财,同样爱财,只是“取之有道”而已。所谓“取之有道”,就是取得财富是通过或采取正当的途径,而不是通过或采取“不义”的途径。比如说,靠勤劳致富,靠合法经营致富,,靠合法收入致富,如此等等,都属于“取之有道”的范围

七、六岁女孩金钱观怎么教育?

1、让孩子明白金钱的价值

很多家长在孩子面前总喜欢大手大脚的花钱,也不管我们买的东西是否符合我们所付出的金钱价值,这就很容易让孩子觉得,金钱和物品的交易,是不用考虑等价交换的,只需要能够将自己想要的东西买回来就可以。而这就是孩子没有正确的金钱价值观念的表现。

家长们平时要注意教给孩子多少钱的价值到底如何,比如一块钱能买到什么东西,一百块又能买到多少东西,这也就是我们常常说到的物价水平,让孩子建立起一个正确的金钱价值交换体系。

2、让孩子知道金钱来之不易

在孩子小的时候,他们还没有足够的能力来获得金钱,因此孩子们所需要的钱往往都是从家长处得到的。但有的家长却总是有求必应,孩子要多少都会给,这也就让孩子觉得钱是一种非常容易得到的东西,只要找父母要,就一定能拿到,这就容易养成没有节制的花钱习惯。

我们在教育孩子的时候,就要让孩子知道金钱是怎么来的,到底要如何才能赚到足够的钱。等孩子长大以后,也可以让孩子通过自己的劳动付出来获取一部分的金钱,让他们明白金钱来之不易。

八、用英语简述自己的金钱观?

My View on Money Many people regard money as the most important thing in their life, but I don’t agree with them. There are so many things that money can’t buy. The first, money can’t buy us knowledge, abilities and experience. The second, money can’t buy us a happy mood and a good health.

九、犹太人的金钱观大致怎样?

犹太人的金钱观:

对钱财必须具有爱惜之情,它才会聚集到你身边,越尊重它,珍惜它,它越心甘情愿地跑进你的口袋。

对于犹太人来说,生活在这个世界上赚钱是最重要的事。然而,惟利是图,不择手段的拜金主义者在犹太商人中却少得可怜,他们之中大部分人是合法地赚大钱,正所谓 “君子爱财,取之有道”。这些“君子们”知识面广,反应敏捷,判断准确。只要有钱可赚,他们不会放过一切机会。拿军队中服役的犹太人来说,也是不会放弃赚钱念头的。他们总是千方百计寻找所有赚钱的机会,他们甚至巧妙地把军营作为放高利贷的最佳场所,以赚取高额利率。

算钱术:把钱匣子藏在心里

生意人之所始终“生财有道”,最重要的原因是他们拥有一套特殊算钱法则:78∶22 的经商法则。我们常常听到人们这样说:“世界的金钱装在犹太人的口袋里”。犹太人从人口上说只占世界总人口很小很小的比例,但他们的富有却是众所周知的。无论是在世界首富的美国,还是在亚洲富庶的日本,犹太人都在金融界或商业界独占鳌头,百万、亿万富翁不乏其人。那么他们为什么能拥有这么巨大的财富呢?这光靠有一个聪明的头脑是不够的,关键是他们掌握了78∶22的经营魔法。

抓钱术:靠双手每天挖一座金矿

名贵的珠宝、钻石、金饰,一掷千金,只有富裕者才买得起。既然是富裕者,他们付得起,又讲究身份,对价格就不会那么计较。相反,如果商品价格过低,反而会使他们产生怀疑。

犹太商人对“薄利多销”的营销策略持相反的态度,有其道理。他们认为:在灵活多变的营销策略中,为什么不采取别的上策而采用了下策?卖三件商品所得的利润只等于卖出一件商品的利润,这是事倍功半的做法。上策是经营出售一件商品,应得一件商品应得的利润,这样既可省了各种经营费用,还可保持市场的稳定性,并很快可以按高价卖出另外两件商品。而以低价一下卖了三件商品,市场已饱和了,你想多销也无人问津了,利润起码比高价出售者少了很多,并毁了市场后劲。

挣钱术:擅长把机会变成财富

倘若可以多赚1美元,只要有这种机会,我就绝对不放弃。

在犹太人的挣钱术中,有一条广为人知的法则———“即使1美元也要赚”。“即使是1 美元也要赚”的挣钱术表明:犹太人惯于采取“避实就虚,化整为零,积少成多”的战略,最后战胜强大的对手。实行积微成多的谋略,必须做到心怀大志,对前程自信;如果自惭形秽,胸无大志,永难成功。同时,还要具有坚忍不拔的意志和扎扎实实、埋头苦干的精神。犹太人的忍耐,创造出犹太人赚钱的信念:“在忍耐中争取我们应得到的一切,你要为我的忍耐付出代价。”犹太人的坚定耐心和具有悠久历史的忍耐力是常人难以置信的,但是,他们的忍耐也是有先决条件的,是有“度”的。精明的犹太商人最擅长计算,他们有极强的判断能力。如果他们认为自己的合作伙伴在某方面有利于自己,能够为自己带来钱财,那么,他们就可以坚定的耐心,等待对方转变心情或者等待时机的到来。

赢钱术:从别人口袋里掏出钱

如果想赚钱,就必须先赚取女人手中所持有的钱。相反,如果经商者想清洗男人兜里的钱,拼命“瞄准男人”,这笔生意则注定会失败。

犹太人做生意时,认为让女人掏腰包,远比让男人掏钱出来的机会要多得多。犹太人千百年来的经商经验是,如果想赚钱,就必须先赚取女人手中所持有的钱。相反,如果经商者想清洗男人兜里的钱,拼命“瞄准男人”,这笔生意则注定会失败。因为男人的工作是赚钱,能赚钱并不表示持有钱、拥有钱,消费金钱的权力还是操纵在女人的手中。在花钱方面男人还得听女人的。民以食为天,所以“吃”是天下一笔最大的生意。犹太人认为嘴巴的功能有二:一为说,一为吃。犹太商人经过他们几千年的反复实验,总结出“嘴巴”也是最能赚钱的商品之一。每个精于赚钱的人,都必须掌握这样一条赢钱术——善于在嘴巴里挖钱!“越是流行的东西,越有钱可挣”,这是犹太人坚信不移的赢钱术,因此他们常这样做:巧妙利用人们“向上看”的心理去操纵流行趋势。

变钱术:不怕钱少,就怕手段少

“智慧与金钱,哪一样更重要?”“当然是智慧更重要。” 如何把手中的钱用活,是犹太人经商的一门大学问,他们运作的变钱术是不作存款,而作现金运转。一般人认为,和现金相比,当然是现金最可靠,既不获利也不亏损。小心谨慎的犹太人当然在二者择一的条件下选择了后者。因为对犹太人来说,“不减少”正是“不亏损”的最起码的做法。想借助求得利息,是不太可能获得利润的。

投钱术:看准之后就把钱撒出去

每次生意都是初交,都要认真对待。 在中,犹太人的一切投钱决策思维,都是因“利”而驱使的。在相互争“利”的商场,使生意人真正获利的关键在于正确的决策,这就要求生意人应具备相应的素质。一是知彼知己,善于察市料“敌”,及时掌握市场的动向、消费者的需求;准确判断竞争对手,知其力,料其行,先发制人,抢先占领市场。二是扬长避短,善于出奇制胜。充分用己之长,由长而谋,因利动止,并注意用自己的优势,在时间速度上用奇,在产品设计上用奇,在经营销售上用奇,使竞争对手意料不到或仿效不及,从而迅速收口投资并赚回期望的目标值。三是审时度势,善于操纵商机。适时抓住市场上有“利”可图的一切机会,主动发起出击。在具体做法上,或施小利诱对手而动,或放弃眼前的小利,假痴不癫,使竞争对手进入误区,从而使自己获得大利。

攒钱术:让自己成为铸造金库的高手

拖延昨天的工作,是最可耻的事。 犹太人把时间看得如此重要,在工作中也往往以秒计算,分秒必争。一旦规定了工作时间,就严格遵守。下班铃声一响,即使是,他们只要再花几秒钟时间再打10个字就能完成的一件公文,他们也不再打而下班。强烈的提高了他们的工作效率,而把时间和商品对等,使盗窃时间就像偷取别人金柜内的金钱那样可耻。

管钱术:看紧自己的

先要学会看管少数金钱,然后才可以管理更多金钱,这是最聪明的提防金钱损失的办法。

犹太管理法则提醒经营者,你的公司就好比一个小分队,也是由各色各样的人组成,他们都有自己的看家本领。身为老板,你就要做到对部下的特点、能力,甚至个人的性格了如指掌,做到适才适所,使内在的潜力得到充分的发挥。惟有如此,你的公司才可能高人一筹。

护钱术:按照规矩办好事

合同是与神的签约,谁也不能违背。 在犹太人心中,有一套属于他们自己的观点,他们认为,纳税是和国家订的无形的“契约”,无论发生什么问题,自己也要履行契约。当然,犹太人“绝不漏税”并不表明他们轻易地就交出不合理的税款。他们讨厌被人随意征税。犹太商人在做一笔生意之前,总是要首先经过认真计算,这笔生意是否能挣钱,先粗略算出在除去税款以外,他们有多少钱能装入自己的口袋。

讨钱术:

多说些赞美感谢的“奉承话”,设法化解其防御的心理。 犹太商人完全明白收账不能一个调子唱到底,要因人而异,见什么人唱什么歌,换句话说,什么庙念什么经,到什么山上说什么话。对付债务人,也应“”,因人而异制定讨债策略。

用钱术:该花的钱一定要花出去

假如一天工作八小时不休息,一天可赚400美元,那我的寿命将减少五年,按每年收入12万元计算,五年我将减少60万美元收入。假如我每天休息一小时,那我除损失每天1小时50美元外,将得到5年每天7小时工作所赚的钱。现在我60岁,假设我按时休息还可活10年,那么我将损失15万美元,1560万谁大呢?”

犹太人认为欲望好像野草,农田里只要留有空地它就生根滋长,繁殖下去。欲望就是如此,只要你心里留有欲望,它也会生根繁殖。欲望是无穷无尽的,但是你能满足的却微乎其微。人们要仔细研讨现在的生活习惯,你们认为有些是必要的支出,但经过明智思考之后便会觉得可以把支出减少,也许觉得可以把它取消。大家要把这句话当做格言: 花一块钱,就要发挥一块钱的的功效。

谈钱术:用嘴巴咬住钱币

与其迷一次路,不如问十次路。

在商谈中商定有关价钱问题时,对金钱非常热爱的犹太人,态度是非常认真的。犹太人对每个有关价钱的问题,都会非常认真地考虑。对于利润的一分一厘及契约书的形式等,也相当仔细。在这些问题上,他们没半点含糊,即使谈得满嘴白沫也不罢休,发生激烈的争吵也在所难免。犹太人的“变脸术”,是值得我们学习的。他们的理智,足以战胜一切。在利益关头,“面子”算什么,值多少钱?因此,为了“面子”,不值得放弃商谈或浪费时间来拖延商谈。为了达到争利益的目的,犹太人善于向对手施加压力。

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