感謝我的領(lǐng)導(dǎo)和各位員工同事對我的信任,可以榮升為××,是在我的意料之外的,在今后的工作中我一定會繼續(xù)努力的,謝謝大家
為你找到升職歌曲希望你聽的愉快
Verse1
當(dāng)我驕傲的抬起頭在新買的座駕里
Shout to my team(致敬我的團隊)對今天我也沒有多詫異
我不想做CEO我就是不想沒理由
我不會沖你揮起手 因為你們即將落下去
My boy fire gun (我的兄弟“火槍”)漲價團伙的loyalty(忠誠音樂團隊的一員)
升值兄弟馬上升值麻煩你們坐過去
I'll be Shining like a diamond(我將會像鉆石一般閃耀)開拓新的大事業(yè)
我懶得點開你的歌找我合作的下次見
把你的臉色調(diào)整 I'm rock star (像是搖滾巨星)聽搖滾
思維跳躍像腳本 下塊版圖已瞄準
Blingbling 在新世界劃過的風(fēng)景
聽引擎 低沉的咆哮發(fā)動的轟鳴
聽他們叫我極惡的世代(取自動漫《One Peice.》意為最年輕有為的一代)
賺更多為了更自由自在
搭上更早的航班我在飛機上睡
我有著大把你沒有的才華拿來浪費
I'm back(取自邁克爾喬丹經(jīng)典復(fù)出的語錄)
慢慢的踏入了我們的漩渦 別干渴
c
別裝了 你欣賞不了 那你最好關(guān)了
沒什么難 別遮擋 時刻保持饑餓感
我生來就是為了告訴你這游戲怎么玩
Hook
我在構(gòu)建著我的王國
這幫孩子長大以后的傳說
我就像是比魯斯在銀河穿梭
迎面來的拳頭絕不會閃躲
rise in price
我在構(gòu)建著我的王國
這幫孩子長大以后的傳說
你知道dragon Ball肯定不止三顆
不需要神龍我也不會翻車
rise in price
Verse2
我的高光時刻 我的囂張時刻
在沒包裝過的demo可不止一個
在街上混出名堂 而不是地痞流氓
不愛聽?wèi)蚯崮c 叫你兄弟一起投降
uh Iron mic拿下的頭個獎 開辟了新的游樂場
大多數(shù)根本沒意義的篇幅達不到目的以柔克剛
Wow 你的作品就像Gold Chains 太低級
別用那副嘴臉看我收起你的壞脾氣
uh沒人寵著你 你最好迅速適應(yīng)
搞不懂靠抄襲而來的“成名曲”非得說成致敬
ya這么唱我也會 別偷偷抹眼淚
你就像火箭隊 的莫雷付出的代價有點貴 uh
對不對 嗯? 搞清楚規(guī)則 你最好自己配合
并不是只有真的戰(zhàn)爭 才會需要槍支火藥
并不是我付出的汗水 你用句“天賦”就能抹掉
Hook
我在構(gòu)建著我的王國
這幫孩子長大以后的傳說
我就像是比魯斯在銀河穿梭
迎面來的拳頭絕不會閃躲
rise in price
我在構(gòu)建著我的王國
這幫孩子長大以后的傳說
你知道dragon Ball肯定不止三顆
不需要神龍我也不會翻車
rise in price
bridge
升值兄弟已經(jīng)就位
保持著上“升”同樣讓你“值”回票價
漲價團伙已經(jīng)就位
上“漲”的水平像“價”值連城般浩大*2
Hook
我在構(gòu)建著我的王國
這幫孩子長大以后的傳說
我就像是比魯斯在銀河穿梭
迎面來的拳頭絕不會閃躲
rise in price
我在構(gòu)建著我的王國
這幫孩子長大以后的傳說
你知道dragon Ball肯定不止三顆
不需要神龍我也不會翻車
對于廣大建設(shè)銀行員工來說,建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺無疑是提升自身專業(yè)技能的重要渠道。這個線上學(xué)習(xí)平臺為員工們提供了豐富多樣的課程選擇,涵蓋了從基礎(chǔ)理論到實操技巧的各個方面,助力他們在銀行業(yè)務(wù)領(lǐng)域不斷進階。本文就將為大家深入解讀建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)的特色及其在職業(yè)發(fā)展中的重要意義。
建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺自建立以來,就一直致力于為員工打造專業(yè)化、系統(tǒng)化的在線學(xué)習(xí)體系。其特色主要體現(xiàn)在以下幾個方面:
對于建設(shè)銀行的員工來說,建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺無疑是職業(yè)發(fā)展的重要助力。通過在這個平臺上系統(tǒng)學(xué)習(xí),員工可以獲得以下三大收益:
銀行業(yè)是一個知識密集型行業(yè),要想在激烈的競爭中脫穎而出,專業(yè)技能的不斷提升至關(guān)重要。建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺為員工提供了系統(tǒng)的職業(yè)培訓(xùn),使他們能夠緊跟行業(yè)前沿,掌握最新的業(yè)務(wù)知識和操作技能,從而增強自身的職業(yè)競爭力。
建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)不僅有豐富的銀行業(yè)務(wù)課程,也包括管理技能、通用技能等方面的培訓(xùn)。這為員工在職業(yè)發(fā)展道路上打開了新的選擇,為他們未來的崗位晉升和角色轉(zhuǎn)換奠定了基礎(chǔ)。通過自主規(guī)劃學(xué)習(xí)路徑,員工可以根據(jù)自身的職業(yè)規(guī)劃有針對性地提升相應(yīng)的技能,增強自身的發(fā)展?jié)摿Α?/p>
建設(shè)銀行作為國內(nèi)最大的商業(yè)銀行之一,一直重視員工的培養(yǎng)和發(fā)展。建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺的建立,正是體現(xiàn)了公司對員工職業(yè)發(fā)展的高度重視。員工通過在這個平臺上系統(tǒng)學(xué)習(xí),不僅可以提升自身的專業(yè)素質(zhì),也能感受到公司對他們的重視和關(guān)懷,從而增強自己的企業(yè)歸屬感,為公司的長遠發(fā)展貢獻綿薄之力。
總的來說,建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺為建設(shè)銀行員工提供了一個系統(tǒng)化、專業(yè)化的在線學(xué)習(xí)渠道,幫助他們不斷提升銀行業(yè)務(wù)技能,開拓職業(yè)發(fā)展新路徑,增強企業(yè)歸屬感。對于廣大建行員工來說,利用好這個優(yōu)質(zhì)的學(xué)習(xí)資源,無疑是促進自身職業(yè)發(fā)展的明智之選。
感謝您閱讀本文,希望通過這篇文章,您能更加全面地了解建行大學(xué)網(wǎng)絡(luò)學(xué)習(xí)平臺的特色和在職業(yè)發(fā)展中的重要意義。如果您有任何疑問或需求,歡迎隨時與我們?nèi)〉寐?lián)系,我們將竭盡全力為您提供幫助。
阮郎歸
良辰佳景列華筵 。
笙歌奏管弦 。
位居榮顯子孫賢 。
功名事雙全 。
慶祝壽,拜尊前 。
重重福祿堅 。
愿如彭祖壽齊年 。
金杯勸壽仙 。
生活節(jié)節(jié)高,事業(yè)向上靠;一年一個腳印,一個崗位更比一個崗位高;領(lǐng)導(dǎo),恭祝你榮升為XX;在此,給你送上祝福,愿君事業(yè)高升,如同芝麻開花節(jié)節(jié)高。
聽聞領(lǐng)導(dǎo)升職,心中快樂開了花;此時此刻,屬下給你送上真摯的祝福,恭賀領(lǐng)導(dǎo)榮升XX職位,愿你在未來的崗位上大展鴻圖,飛黃騰達。
領(lǐng)導(dǎo),人往高處飛,人往低處流;在這個春風(fēng)得意的此刻,愿你工作步步高升,在新的平臺上,大展鴻圖,創(chuàng)造更加輝煌的人生。
在職場的你,如果想要快速升職加薪,這篇文章一定不要錯過。
工作只分兩種,含金量高的工作和含金量低的工作。
你身邊是否有這樣的同事,上司交給她的任何工作,她都能取得優(yōu)秀的成績。就算失敗了,上司也不會說是她的原因。升職加薪的隊伍里總有她。
她升職的原因很簡單,也很殘酷。
因為她做著含金量高的工作,容易取得成果,而你做著含金量低甚至是沒有含金量的工作。
每當(dāng)她取得豐碩成果后,就會獲得上司的高度評價、信賴,然后又會得到含金量高的工作,取得成果,得到同事的信賴,日積月累碩果累累,升職加薪是眾望所歸。
含金量高的工作的8個特征
① 期限寬松,有足夠的時間思考
② 一開始就要求我們花一點心思,有挑戰(zhàn)性
③ 成果可以體現(xiàn)出工作者的個別能力
④ 讓工作者引以為豪,想告訴別人
⑤ 工作者覺得有價值,做得開心,愿意投入時間
⑥ 上司會期待并關(guān)注
⑦ 如果取得了優(yōu)秀的成果,會歸功于工作者
⑧ 因為工作有挑戰(zhàn)性,失敗了也不會歸因于工作者
含金量低或沒有含金量的工作的7個特征
① 時間期限緊
② 不用花心思
③ 不用特殊能力,誰干結(jié)果都一樣
④ 沒有興趣對別人提
⑤ 做得不開心,不愿投入時間
⑥ 別人不會關(guān)注工作結(jié)果,因為結(jié)果是可預(yù)估的
⑦ 一旦失敗,就會歸因于工作者
比如,一個公司中,如果當(dāng)前的任務(wù)是提高銷售額,那么簽單的銷售員肯定比制造、配送商品的員工得到的評價更高。上司會贊揚整個團隊,說大家干的好,正是因為大家團結(jié)一致,才獲得了卓越的成果,但那只是口頭說說而已,實際上上司不可能讓整個團隊的成員都獲得晉升。
更殘酷的是含金量高的工作與含金量低的工作的比例是1:9。
那么工作的分配就成了關(guān)鍵。
為什么學(xué)歷高的人容易取得好業(yè)績呢?
因為有學(xué)歷高,這個前提使他們一開始就更容易比別人獲得含金量高的工作。
溝通能力強的人也是如此,因為它們看起來很有工作激情,所以上司往往就會把含金量高的工作交給他們。
所以學(xué)會那些比自己優(yōu)秀的人的特征,更容易取得含金量高的工作。
你的公司給你分配工作的是誰呢?他又是怎樣分配的呢?
是看能力,還是看文憑,還是看個人印象?
含金量高的工作往往很重要,不能出岔子,上次小秘干的不錯,所以與其交給別人,不如還是繼續(xù)交給她吧。上司往往這么想。
然后到了年度評價KPI的時候分配工作的上司就會說怎么搞的?你們幾個里面怎么就只有小秘取得了豐碩的業(yè)績,他完全忘了這些工作是他分配的。
然后小秘和其他人的差距就會越來越大,她永遠能拿到含金量高的工作。這就是每天都在發(fā)生,但又不為人知的不公平。
越是含金量低的工作,越是耗時間。
為什么你在喝了雞湯后的激情,在睡了一晚之后就會消失呢?
一個是不知道具體的方法。
另外一個是你太忙了,沒時間去做新的努力。
因為金量低的工作的工時都是固定的,所以上司不會給你多少寬裕時間。但是金量高的工作就連上司也不清楚需要多少時間,因此只好在時間設(shè)定上寬裕。
例如,輸入1000字的報告,這個是可以計算出時間的。如果你在上司預(yù)計的時間內(nèi)沒有完成,你就是不合格的。而且每天8小時的工作都給你排得滿滿的。
但是金量高的工作就不一樣了,比如上司問你有沒有辦法做COST DOWN?像這樣的工作上司是不會規(guī)定具體時間的,能不能想出好主意,不在于這個人是不是有能力,而在于有沒有給他充足的時間。
如果你一直無法取得含金量高的工作,只是一直在規(guī)定的時間內(nèi),不犯錯的完成含金量低的工作的話,就永遠無法翻身。
那么,如何從含金量低得工作的惡性循環(huán)中逃離出來呢?
唯一有效的方法就是把含金量低的工作變成含金量高的工作,也就是給它加上附加價值。
含金量低的工作本來就沒有什么價值,所以大家往往只會應(yīng)付過去,幾乎都沒有人會做得很投入。所以只要仔細想想,我們就很可能會找到工作中有待改進的地方。
例如:一份要花100分鐘時間完成的含金量低的工作,你用10分鐘完成了。
又比如,這個數(shù)據(jù)表很復(fù)雜,不容易理解,有沒有方法使它更簡潔易懂呢?
這樣的機會大概每個人都碰到過,但是都無視了他們的存在。對含金量低的工作進行改革是逃離含金量低的工作的唯一方法。
因為同樣的工作交給我就能拿出更好的成果,上司分配工作時就會分配更加有含金量的工作給我。
每家公司的根本目的是獲得盈利,削減成本。任何事以這兩點為出發(fā)點考慮,把公司當(dāng)成自己的,你就會發(fā)現(xiàn)還有很多不足的地方。別認為自己是個小小的職員,這些事情超出了自己的權(quán)限,就不去做了。
再比如,你發(fā)現(xiàn)公司有資源的浪費情況,那么是否有方法可以避免呢?
如果這件事大家都沒做,而你做了,而且?guī)凸竟?jié)省了開支,你就是有資格獲得含金量高的工作的員工。
另外,這種改革行動越早越好,如果等上司指出來再做就是完成任務(wù)了,沒有功勞可言。
有人說這種改革太難發(fā)現(xiàn)了,的確缺乏行業(yè)經(jīng)驗的人是不容易發(fā)現(xiàn)的。
那么具體從哪幾個方面下手呢。
一、超期待完成
從手頭的日常工作開始,超預(yù)期的完成工作。
領(lǐng)導(dǎo)對日常工作的期待最高不過是,遵守期限,不犯錯。如果你僅僅是保證這兩點,那上司也認為是必須的,就算完成了也不會給你加分。所以明確上司的期待值,超期待值完成,獲得青睞。
有一個夸贊別人的方式叫做:
明明。。。。卻能。。。。
明天需要100分鐘,小明卻能在10分鐘內(nèi)完成。
二、 關(guān)注上司關(guān)心的事
在年度方針發(fā)表會上上司所關(guān)注的事是什么?想解決的問題是什么?
思考自己手頭上的工作,能不能在這些方面做出一點貢獻?
即使自己不能做貢獻,上司知道你關(guān)注他的事,也會給你印象加分的。
三、 考慮工作成果的使用者和使用場景
上司要我做這個表格是用在哪里的?是誰使用的?
當(dāng)自己不清楚用途是什么的時候,可以去使用者那里詢問。這樣做可以讓人覺得你是一個認真負責(zé)的人。
同時你可以發(fā)現(xiàn)各種可以改善的地方,對方看這個表格,怎么看方便?怎么省時間?怎么可以避免對方的重復(fù)勞動?
比如做會議記錄,會議記錄可以按時間順序記錄,可以按發(fā)言人順序記錄,可以做個目錄,方便對方查看,還可以將數(shù)據(jù)來源做個附錄,供使用者查看。
總之,一直要把提供驚喜放在心上。
如果你覺得這些東西很難想到,那么就把它變得不用思考,成為“固定搭配”。
比如,提到做會議記錄,就要想到做目錄,做附錄。就像提到下雨,你就會想到帶傘。
四、 持續(xù)改善手頭工作
工作的本質(zhì)是解決問題,在工作中發(fā)現(xiàn)問題,獨立思考解決,是員工的義務(wù)。
要想獲得含金量高的工作,首先要解決日常工作中的問題點,提高工作的精度。
想象一下,如果這份工作交給最優(yōu)秀的人做,他們會怎么做?
如果這份工作是別人交接給你的,你會看出哪些問題?
你是否每個月都在精簡SOP?
每天的工作都要給自己找茬,想想那些故意挑你刺的人會怎么講你?
你是否有通過數(shù)據(jù)化分析,發(fā)現(xiàn)原本看不見的變化點,并找到原因?
也許你擔(dān)心一邊做著手頭的含金量低的工作,一邊改革工作增加附加價值會感到疲倦,
但這個改革是由你自己決定期限的,而不是上司要求的,可以給自己留足時間思考。
差別化才是你的價值,做同一份工作跟別人做出不一樣的效果。而且這個差距要大到讓人一眼就能看出你跟別人不是一個級別的。
如果你做到了,卻沒有獲得上司好評,記得問原因。
五、關(guān)注公司的六個目的
自己的公司是為了實現(xiàn)什么,或是以什么為目的而存在呢?
一般來說有六個,
① 實現(xiàn)理念
② 追求利潤
③ 提高客戶滿意度
④ 提高員工滿意度
⑤ 教育培養(yǎng)人才
⑥ 建立一個能讓以上成果重復(fù)的體系
實現(xiàn)理念就需要時間,金錢,人力。②和③保證金錢,④和⑤保證人力,⑥保證企業(yè)長存。
六、時刻謹記努力的方向
工作方向必須符合上司的需求和公司的六大目的。
例如:疫情期間,大家都一致認為,公司目前最需要做的是消減成本,因此業(yè)務(wù)量減少也是無可奈何的時候,卻有人突然跳出來說:要不要我們試試向國外發(fā)展吧?這種脫離正軌的話,就不要說了。
上面所做的一切都是為了提高自身的品牌價值。
一旦確立了不可動搖的品牌,你的工作就會變得越來越好做。你的創(chuàng)意和意見會變得更容易被人接受。你犯錯的時候,別人的反應(yīng)也會和以前不一樣。甚至周圍人看待你的眼光都會逐漸改變。
職場人的品牌價值由三大部分組成:成果,言論,人格魅力。其中成果是最重要的。
還有職場一直都是先交貨再付款,先有成果,然后有升職加薪。
不要擔(dān)心你的成果,沒人發(fā)現(xiàn)。當(dāng)你成果的數(shù)量足夠多的時候,你的領(lǐng)導(dǎo)沒有發(fā)現(xiàn),其他部門的人也會發(fā)現(xiàn)它的。
如果你碰到一個糟糕的上司,那么恭喜你,你升職加薪的幾率大大提高了。也許短時間內(nèi)你并不會有什么好處,時間長了,周圍的人肯定會發(fā)現(xiàn)這些都是你的功勞。而他的糟糕形象成了你的襯托。
<h2>建行轉(zhuǎn)建行多久到賬戶</h2>
建設(shè)銀行作為中國五大商業(yè)銀行之一,服務(wù)范圍廣泛,一直以來受到廣大客戶的信賴。近年來,隨著科技的發(fā)展和金融行業(yè)的創(chuàng)新,建行也不斷推出一系列便捷的服務(wù),其中就包括建行轉(zhuǎn)建行快速到賬服務(wù)。許多客戶在使用這項服務(wù)時,非常關(guān)心轉(zhuǎn)賬的到賬時間。那么,建行轉(zhuǎn)建行多久才能到賬戶呢?下面我們來一起了解一下。
<strong>1. 一般情況下的到賬時間</strong><br>
根據(jù)建設(shè)銀行官方規(guī)定,建行轉(zhuǎn)建行的電子匯款在正常情況下是即時到賬的。也就是說,一旦發(fā)起轉(zhuǎn)賬,對方賬戶應(yīng)當(dāng)立即收到轉(zhuǎn)賬金額。這對于大部分日常交易來說,速度非常快,方便了廣大客戶的資金周轉(zhuǎn)。
<strong>2. 影響到賬時間的因素</strong><br>
雖然建行轉(zhuǎn)建行的電子匯款一般是即時到賬的,但有時也會受到某些因素的影響,導(dǎo)致到賬時間延遲。主要影響到賬時間的因素有以下幾個方面:
建行定期進行系統(tǒng)維護,以確保系統(tǒng)的穩(wěn)定性和安全性。在系統(tǒng)維護期間,銀行可能會暫停部分或全部的服務(wù),這就會導(dǎo)致建行轉(zhuǎn)建行的電子匯款到賬時間延遲。一般情況下,維護時間較短,不會給客戶帶來太大的影響。
在法定節(jié)假日以及銀行規(guī)定的節(jié)假日,銀行的工作時間會有所調(diào)整。這可能會影響建行轉(zhuǎn)建行的到賬時間。舉例來說,如果轉(zhuǎn)賬在周末或者法定節(jié)假日進行,那么到賬時間可能會延遲到下一個工作日。
一般來說,轉(zhuǎn)賬金額大額的話,由于需要進行資金安全審核,可能會導(dǎo)致到賬時間相對較長。這是為了保障客戶的資金安全,盡管在這個過程中會帶來一定的等待時間,但也是有利于客戶的。
如果轉(zhuǎn)賬在銀行規(guī)定的某些特定時段進行,到賬時間也可能會有所延遲。這些時段往往與銀行日終結(jié)算、系統(tǒng)備份等事項有關(guān)。因此,為了確保轉(zhuǎn)賬能夠及時到賬,建議客戶避開這些時段進行轉(zhuǎn)賬操作。
<strong>3. 如何加快到賬速度</strong><br>
盡管建行轉(zhuǎn)建行的電子匯款一般是即時到賬的,但如果客戶有較高的轉(zhuǎn)賬時效要求,還是有一些方法可以加快到賬速度。
比如避開銀行的高峰時段、法定節(jié)假日等,選擇轉(zhuǎn)賬頻率相對較低的時間段進行操作。這樣一來,不僅可以降低系統(tǒng)負載,還有利于快速處理轉(zhuǎn)賬請求,提高到賬速度。
在進行建行轉(zhuǎn)建行電子匯款時,客戶需要填寫收款方的賬戶信息。這些信息包括賬戶名、賬號等。因此,在填寫時務(wù)必核對清楚,確保信息的準確無誤。一旦填寫錯誤,就可能導(dǎo)致到賬延遲或者無法到賬的情況發(fā)生。
對于每一筆建行轉(zhuǎn)建行的電子匯款,客戶應(yīng)當(dāng)詳細記錄下轉(zhuǎn)賬時間、金額、收款方賬戶等相關(guān)信息。這樣一來,如果發(fā)生到賬延遲或者其他問題,可以及時與銀行聯(lián)系核實,加快問題解決的速度。
<strong>4. 建行轉(zhuǎn)建行到賬時間查詢</strong><br>
如果客戶想要了解具體的建行轉(zhuǎn)建行到賬時間,可以通過以下幾種方式進行查詢:
客戶可以通過建行官方網(wǎng)站登錄個人網(wǎng)銀,查詢轉(zhuǎn)賬記錄,了解是否已經(jīng)成功到賬。
如果客戶安裝了建行手機App或者電腦端客戶端,也可以通過相關(guān)的功能模塊查詢轉(zhuǎn)賬記錄以及到賬情況。
如果仍然有疑問或者需要更詳細的解答,客戶可以直接撥打建行客服熱線進行咨詢,客服人員會提供專業(yè)的幫助。
總之,建行轉(zhuǎn)建行的電子匯款一般是即時到賬的,但也有可能因為某些因素導(dǎo)致到賬時間延遲。為了加快到賬速度,客戶可以選擇合適的轉(zhuǎn)賬時段,填寫準確的轉(zhuǎn)賬信息,并記錄相關(guān)的轉(zhuǎn)賬信息。如果需要查詢具體的到賬時間,可以通過建行網(wǎng)銀、客戶端或者客服咨詢的方式進行。
之前看了Mahout官方示例 20news 的調(diào)用實現(xiàn);于是想根據(jù)示例的流程實現(xiàn)其他例子。網(wǎng)上看到了一個關(guān)于天氣適不適合打羽毛球的例子。
訓(xùn)練數(shù)據(jù):
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
檢測數(shù)據(jù):
sunny,hot,high,weak
結(jié)果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代碼調(diào)用Mahout的工具類實現(xiàn)分類。
基本思想:
1. 構(gòu)造分類數(shù)據(jù)。
2. 使用Mahout工具類進行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類器對vector數(shù)據(jù)進行分類。
接下來貼下我的代碼實現(xiàn)=》
1. 構(gòu)造分類數(shù)據(jù):
在hdfs主要創(chuàng)建一個文件夾路徑 /zhoujainfeng/playtennis/input 并將分類文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。
數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak
2. 使用Mahout工具類進行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類器對vector數(shù)據(jù)進行分類。
這三步,代碼我就一次全貼出來;主要是兩個類 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) {
//將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換成 vector數(shù)據(jù)
makeTrainVector();
//產(chǎn)生訓(xùn)練模型
makeModel(false);
//測試檢測數(shù)據(jù)
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//將測試數(shù)據(jù)轉(zhuǎn)換成序列化文件
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參數(shù)是,是否遞歸刪除的意思
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);
}
//將序列化文件轉(zhuǎn)換成向量文件
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參數(shù)是,是否遞歸刪除的意思
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("序列化文件轉(zhuǎn)換成向量失敗!");
System.out.println(2);
}
}
public static void makeTrainVector(){
//將測試數(shù)據(jù)轉(zhuǎn)換成序列化文件
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參數(shù)是,是否遞歸刪除的意思
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);
}
//將序列化文件轉(zhuǎn)換成向量文件
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參數(shù)是,是否遞歸刪除的意思
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("序列化文件轉(zhuǎn)換成向量失敗!");
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參數(shù)是,是否遞歸刪除的意思
fs.delete(out, true);
}
if(fs.exists(label)){
//boolean參數(shù)是,是否遞歸刪除的意思
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("生成訓(xùn)練模型失敗!");
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("檢測數(shù)據(jù)構(gòu)造成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時表示總文檔數(shù)
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());
}
}
1. 請介紹一下WebGIS的概念和作用,以及在實際應(yīng)用中的優(yōu)勢和挑戰(zhàn)。
WebGIS是一種基于Web技術(shù)的地理信息系統(tǒng),通過將地理數(shù)據(jù)和功能以可視化的方式呈現(xiàn)在Web瀏覽器中,實現(xiàn)地理空間數(shù)據(jù)的共享和分析。它可以用于地圖瀏覽、空間查詢、地理分析等多種應(yīng)用場景。WebGIS的優(yōu)勢包括易于訪問、跨平臺、實時更新、可定制性強等,但也面臨著數(shù)據(jù)安全性、性能優(yōu)化、用戶體驗等挑戰(zhàn)。
2. 請談?wù)勀赪ebGIS開發(fā)方面的經(jīng)驗和技能。
我在WebGIS開發(fā)方面有豐富的經(jīng)驗和技能。我熟悉常用的WebGIS開發(fā)框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能夠使用HTML、CSS和JavaScript等前端技術(shù)進行地圖展示和交互設(shè)計,并能夠使用后端技術(shù)如Python、Java等進行地理數(shù)據(jù)處理和分析。我還具備數(shù)據(jù)庫管理和地理空間數(shù)據(jù)建模的能力,能夠設(shè)計和優(yōu)化WebGIS系統(tǒng)的架構(gòu)。
3. 請描述一下您在以往項目中使用WebGIS解決的具體問題和取得的成果。
在以往的項目中,我使用WebGIS解決了許多具體問題并取得了顯著的成果。例如,在一次城市規(guī)劃項目中,我開發(fā)了一個基于WebGIS的交通流量分析系統(tǒng),幫助規(guī)劃師們評估不同交通方案的效果。另外,在一次環(huán)境監(jiān)測項目中,我使用WebGIS技術(shù)實現(xiàn)了實時的空氣質(zhì)量監(jiān)測和預(yù)警系統(tǒng),提供了準確的空氣質(zhì)量數(shù)據(jù)和可視化的分析結(jié)果,幫助政府和公眾做出相應(yīng)的決策。
4. 請談?wù)勀鷮ebGIS未來發(fā)展的看法和期望。
我認為WebGIS在未來會繼續(xù)發(fā)展壯大。隨著云計算、大數(shù)據(jù)和人工智能等技術(shù)的不斷進步,WebGIS將能夠處理更大規(guī)模的地理數(shù)據(jù)、提供更豐富的地理分析功能,并與其他領(lǐng)域的技術(shù)進行深度融合。我期望未來的WebGIS能夠更加智能化、個性化,為用戶提供更好的地理信息服務(wù),助力各行各業(yè)的決策和發(fā)展。
這塊您需要了解下stm32等單片機的基本編程和簡單的硬件設(shè)計,最好能夠了解模電和數(shù)電相關(guān)的知識更好,還有能夠會做操作系統(tǒng),簡單的有ucos,freeRTOS等等。最好能夠使用PCB畫圖軟件以及keil4等軟件。希望對您能夠有用。