国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

      麥當(dāng)勞采購理念?

      時(shí)間:2024-12-10 20:37 人氣:0 編輯:招聘街

      一、麥當(dāng)勞采購理念?

      特點(diǎn)

      1、網(wǎng)購的東西價(jià)格相對(duì)都較低;

      2、足不出戶,在網(wǎng)絡(luò)就可以買東西,并可以直接送到家。

      缺點(diǎn):

      1、網(wǎng)購可能有風(fēng)險(xiǎn),比如假的、壞的等等;

      2、在運(yùn)輸當(dāng)中可能會(huì)有破損的風(fēng)險(xiǎn),雖然可以退換貨,但時(shí)間上也比較浪費(fèi)。

      網(wǎng)上采購以計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)為載體,通過網(wǎng)絡(luò)這種成熟、便利的工具尋找產(chǎn)品及供應(yīng)商資源,利用網(wǎng)絡(luò)信息交流的便捷與高效進(jìn)行產(chǎn)品的性能價(jià)格對(duì)比,并將網(wǎng)上信息處理和網(wǎng)下實(shí)際采購操作過程相結(jié)合的一種新的采購模式。

      二、麥當(dāng)勞采購流程?

      采購流程:采購申請(qǐng)計(jì)劃(有使用部門提出)——采購計(jì)劃(由采購計(jì)劃員或采購員編制)——采購計(jì)會(huì)審(由采購部門評(píng)審)——采購渠道確定(由部門采購小組確定)——簽訂合同——采購——到貨驗(yàn)收(由專職或兼職人員按計(jì)劃、合同、標(biāo)準(zhǔn)等驗(yàn)收)——區(qū)分驗(yàn)收狀態(tài)(合格、不合格、待驗(yàn))——合格入庫——開入庫單——驗(yàn)收人或庫管員確認(rèn)——結(jié)算(領(lǐng)導(dǎo)在結(jié)算簽字,付發(fā)票和入庫單到財(cái)務(wù)辦手續(xù))

      三、采購經(jīng)理面試題?

      1:簡述一個(gè)采購流程(看你是否能適應(yīng)本公司的采購流程)

      2:做為一名新采購,你覺得你應(yīng)該怎樣著手開展自己的工作(看你的適應(yīng)能力與開展工作的能力)

      3:做為一名采購,如何避免你負(fù)責(zé)的物料庫存過高,如何確保物料及時(shí)到位(日常工作能力)

      4:你覺得你的優(yōu)點(diǎn)和缺點(diǎn)是什么?各舉三點(diǎn)。(從你的優(yōu)缺點(diǎn)看你是否適合做采購)

      5:拿出一件你負(fù)責(zé)的物料,讓你做成本分析,并報(bào)價(jià)(成本分析能力,基礎(chǔ)市場掌握情況)

      四、招標(biāo)采購崗位面試題?

      答:招標(biāo)采購崗位面試題如下:

      1、你為什么要選擇做采購?談?wù)勀銓?duì)采購的認(rèn)識(shí)與看法。

      2、“做一個(gè)合格的采購員”,你怎么理解“合格”這兩個(gè)字?

      3、你認(rèn)為采購員與公司內(nèi)部各部門的關(guān)系是什么?

      4、做為一個(gè)采購員,你認(rèn)為怎么樣才處理好你與你上司之間的關(guān)系?

      5、據(jù)我所知,***公司是一家不錯(cuò)的企業(yè),你為什么辭去那份做采購的工作.

      6、你做采購這么久了,以前工作中有沒有遇到些什么困惑?是怎么解決的?

      7、你認(rèn)為影響采購工作有哪些?

      8、你認(rèn)為采購員與供應(yīng)商的關(guān)系是什么?

      9、在采購過程中,如果供應(yīng)商給你回扣你怎么辦?

      10、 有一批物料,你已經(jīng)下訂單通知供應(yīng)商生產(chǎn),但接到業(yè)務(wù)通知說客戶取消訂單,向供應(yīng)商所訂的物料公司其它產(chǎn)品上用不到。請(qǐng)問如果你是采購,你會(huì)怎么處理?請(qǐng)給出2-3個(gè)解決方案 。

      11、你為什么要選擇做采購?談?wù)勀銓?duì)采購的認(rèn)識(shí)與看法。

      12、“做一個(gè)合格的采購員”,你怎么理解”合格”這兩個(gè)字? 

      13、你認(rèn)為采購員與公司內(nèi)部各部門的關(guān)系是什么?

      14、做為一個(gè)采購員,你認(rèn)為怎么樣才處理好你與你上司之間的關(guān)系.

      15、據(jù)我所知,***公司是一家不錯(cuò)的企業(yè),你為什么辭去那份?

      16、你做采購這么久了,以前工作中有沒有遇到些什么困惑?是怎么解決的?

      17、你認(rèn)為影響采購工作有哪些?

      18、你認(rèn)為采購員與供應(yīng)商的關(guān)系是什么?

      五、麥當(dāng)勞甜品

      作為全球最大的連鎖快餐品牌之一,麥當(dāng)勞致力于為顧客帶來豐富多樣的餐點(diǎn)選擇,而其中最讓人垂涎欲滴的當(dāng)屬麥當(dāng)勞的甜品系列。無論是喜愛甜食的人還是兒童,每個(gè)人都能在麥當(dāng)勞的甜品菜單上找到自己心儀的美味。

      麥當(dāng)勞甜品系列

      麥當(dāng)勞的甜品系列可謂琳瑯滿目,包括各種經(jīng)典甜品和季節(jié)限定口味。無論您是想要享受一份傳統(tǒng)的香濃巧克力奶昔還是嘗試一款新穎的水果派,麥當(dāng)勞都能滿足您的味蕾。

      以下是麥當(dāng)勞常見的甜品系列:

      • 蘋果派:酸甜可口的蘋果派外脆內(nèi)軟,每一口都讓人陶醉其中。
      • 香濃巧克力奶昔:濃郁的巧克力味道加上冰涼的口感,絕對(duì)是巧克力愛好者的最愛。
      • 香草冰淇淋:經(jīng)典的香草口味,總能帶給您舒爽的味覺體驗(yàn)。
      • 草莓奶昔:新鮮草莓的酸甜與奶昔的細(xì)膩相結(jié)合,口感迷人。
      • 麥旋風(fēng):口感層次豐富的冰淇淋甜品,里面搭配著濃郁的巧克力醬和脆爽的巧克力粒。
      • 焦糖布丁:溫暖融化的布丁上淋上金黃焦糖,是一道充滿溫馨感的甜品選擇。

      除了以上常見的甜品,麥當(dāng)勞還會(huì)不定期推出限定口味的甜品,讓顧客們嘗試新的味道和口感。

      麥當(dāng)勞甜品的制作原料

      麥當(dāng)勞的甜品以使用新鮮優(yōu)質(zhì)的原料為標(biāo)志,確保每一道甜品都能給客人帶來滿意的享受。

      以下是麥當(dāng)勞甜品常用的制作原料:

      • 新鮮水果:麥當(dāng)勞的水果派和奶昔等甜品中使用的水果都是經(jīng)過精心挑選的新鮮水果,在保持水果的口感和營養(yǎng)的同時(shí),給甜品增添了豐富的層次。
      • 高品質(zhì)巧克力:巧克力是許多甜品不可或缺的原料,麥當(dāng)勞選用的是頂級(jí)的巧克力,為甜品帶來濃郁的口感和獨(dú)特的風(fēng)味。
      • 新鮮奶油:奶油是許多甜品中賦予豐富奶香和順滑口感的元素,麥當(dāng)勞使用新鮮奶油,為甜品帶來柔滑細(xì)膩的口感。
      • 香草提取物:麥當(dāng)勞的香草冰淇淋和部分甜品中使用的香草味道來自天然的香草提取物,香氣濃郁,味道獨(dú)特。
      • 新鮮雞蛋:一些甜品如麥旋風(fēng)中需要使用雞蛋來增加口感和稠度,麥當(dāng)勞使用新鮮雞蛋,確保甜品的質(zhì)量。

      麥當(dāng)勞對(duì)于原料的選擇非常嚴(yán)格,并注重將新鮮、健康和美味帶給顧客。

      如何選擇麥當(dāng)勞甜品

      在如此多樣的麥當(dāng)勞甜品選擇面前,您可能會(huì)覺得難以決定究竟選哪一款。以下是一些建議,幫助您選擇合適的麥當(dāng)勞甜品:

      • 口味偏好:首先,考慮您的口味偏好。如果您喜歡濃重的巧克力味道,那香濃巧克力奶昔絕對(duì)是您的首選。如果您喜歡清新的水果味道,草莓奶昔或蘋果派可能更適合您。
      • 季節(jié)選擇:麥當(dāng)勞會(huì)根據(jù)季節(jié)推出不同的甜品,例如夏季推出的冰淇淋和冰沙更適合消暑,冬季推出的熱騰騰的布丁則能帶給您溫暖。根據(jù)季節(jié)選擇甜品,能夠更好地享受到甜品的特色。
      • 與主餐搭配:如果您打算將甜品作為主餐的一部分,那么可以考慮選擇飽腹感較強(qiáng)的甜品,如麥旋風(fēng),既能滿足您的甜食欲望,又能夠讓您享受到飽足的感覺。

      總之,選擇麥當(dāng)勞甜品時(shí),根據(jù)個(gè)人口味、季節(jié)和搭配等因素進(jìn)行綜合考慮,能夠幫助您找到最適合自己的甜品。

      總結(jié)

      麥當(dāng)勞的甜品系列豐富多樣,無論您是喜歡巧克力、水果還是奶昔,都能夠在麥當(dāng)勞找到心儀的甜品。麥當(dāng)勞注重使用新鮮優(yōu)質(zhì)的原料,為甜品帶來口感和風(fēng)味上的豐富。在選擇麥當(dāng)勞甜品時(shí),考慮口味偏好、季節(jié)和搭配等因素,能夠幫助您找到自己喜愛的甜品。

      六、麥當(dāng)勞 京都

      麥當(dāng)勞在京都的發(fā)展歷程

      麥當(dāng)勞是全球最知名的快餐連鎖品牌之一,其在京都的發(fā)展歷程也是備受矚目的。自從麥當(dāng)勞首次進(jìn)軍京都以來,它已經(jīng)成為了當(dāng)?shù)厝藗冪姁鄣木筒瓦x擇。本文將為您介紹麥當(dāng)勞在京都的發(fā)展歷史,以及其取得的成功。

      麥當(dāng)勞的進(jìn)入京都

      麥當(dāng)勞首次進(jìn)入京都市場是在20世紀(jì)80年代初。當(dāng)時(shí),它開設(shè)了第一家分店,為京都的居民和游客帶來了全新的快餐體驗(yàn)。麥當(dāng)勞以其優(yōu)質(zhì)的服務(wù)、美味的食物和便利的就餐環(huán)境,很快就贏得了消費(fèi)者的喜愛。

      首家麥當(dāng)勞分店的開設(shè)引起了轟動(dòng)。盡管日本已經(jīng)有了一些快餐連鎖店,但麥當(dāng)勞在京都的開業(yè)帶來了一種全新的氛圍。它引領(lǐng)了快餐行業(yè)的潮流,為京都市場注入了新的活力。

      麥當(dāng)勞與京都文化的結(jié)合

      麥當(dāng)勞進(jìn)軍京都市場后,不僅在經(jīng)營業(yè)績上取得了巨大成功,還深深融入了當(dāng)?shù)匚幕{湲?dāng)勞積極學(xué)習(xí)京都的傳統(tǒng)文化,將其與品牌相結(jié)合,推出了一系列獨(dú)特的京都特色美食。

      京都的傳統(tǒng)美食是世界聞名的,麥當(dāng)勞充分利用了這一優(yōu)勢(shì),為顧客提供了原汁原味的京都味道。無論是抹茶冰淇淋、京都風(fēng)味漢堡還是京都傳統(tǒng)點(diǎn)心套餐,都成為了當(dāng)?shù)厝撕陀慰偷氖走x。

      社會(huì)責(zé)任與麥當(dāng)勞

      作為一家國際性企業(yè),麥當(dāng)勞注重社會(huì)責(zé)任,積極參與當(dāng)?shù)厣鐓^(qū)的建設(shè)和慈善活動(dòng)。在京都,麥當(dāng)勞一直扮演著積極的角色,為社會(huì)發(fā)展做出了重要貢獻(xiàn)。

      麥當(dāng)勞在京都的員工培訓(xùn)和晉升機(jī)制也備受贊賞。它致力于提供優(yōu)質(zhì)的員工培訓(xùn)計(jì)劃,為年輕人提供發(fā)展機(jī)會(huì)。許多年輕人從麥當(dāng)勞開始職業(yè)生涯,并在之后取得了更大的成功。

      麥當(dāng)勞京都的未來

      展望未來,麥當(dāng)勞在京都市場將繼續(xù)發(fā)展壯大。隨著人們對(duì)快餐食品的需求增加,麥當(dāng)勞將不斷創(chuàng)新,滿足消費(fèi)者日益多樣化的口味。同時(shí),麥當(dāng)勞也將繼續(xù)關(guān)注當(dāng)?shù)厣鐓^(qū)的需求,積極參與環(huán)保和慈善事業(yè)。

      麥當(dāng)勞一直在不斷努力,追求卓越。它希望為京都市場帶來更多的就業(yè)機(jī)會(huì)、特色美食和美好記憶。相信在麥當(dāng)勞的努力下,京都的居民和游客將繼續(xù)享受到優(yōu)質(zhì)、便捷、美味的快餐體驗(yàn)。

      七、天壇麥當(dāng)勞

      本文將介紹天壇麥當(dāng)勞,探討其在中國快餐市場的地位和影響。天壇麥當(dāng)勞是一家世界知名的快餐連鎖品牌,在中國市場擁有廣泛的消費(fèi)者基礎(chǔ)和強(qiáng)大的品牌認(rèn)知度。

      天壇麥當(dāng)勞的歷史和發(fā)展

      天壇麥當(dāng)勞于1990年進(jìn)入中國市場,成為中國第一家外資快餐企業(yè)。憑借其獨(dú)特的產(chǎn)品、優(yōu)質(zhì)的服務(wù)和全球化的形象,在中國市場迅速獲得成功。

      天壇麥當(dāng)勞不僅在中國市場引入了經(jīng)典的漢堡、薯?xiàng)l和奶昔等產(chǎn)品,還根據(jù)中國人的口味和文化推出了一些特色菜品。比如,他們推出了辣雞腿漢堡、麥辣雞翅和麥香魚等,以迎合中國消費(fèi)者的口味喜好。

      隨著中國市場的擴(kuò)大和消費(fèi)水平的提高,天壇麥當(dāng)勞在中國開設(shè)了越來越多的分店。如今,在全國范圍內(nèi)已經(jīng)有數(shù)千家天壇麥當(dāng)勞分店,遍布城市和鄉(xiāng)村。

      天壇麥當(dāng)勞對(duì)中國快餐市場的影響

      天壇麥當(dāng)勞的進(jìn)入不僅在中國快餐市場引發(fā)了競爭,也為中國消費(fèi)者提供了更多多樣化的餐飲選擇。它的成功推動(dòng)了中國快餐行業(yè)的發(fā)展和創(chuàng)新。

      天壇麥當(dāng)勞以其高效的服務(wù)、統(tǒng)一的品質(zhì)標(biāo)準(zhǔn)和可靠的食品安全控制而深受消費(fèi)者青睞。它的經(jīng)營理念和管理經(jīng)驗(yàn)對(duì)中國本土快餐企業(yè)的發(fā)展產(chǎn)生了積極的影響,并推動(dòng)了整個(gè)行業(yè)向更高標(biāo)準(zhǔn)發(fā)展。

      天壇麥當(dāng)勞的成功還激發(fā)了中國快餐業(yè)的競爭態(tài)勢(shì)。為了爭奪市場份額,其他國際快餐品牌紛紛進(jìn)入中國市場。這種競爭促使各家企業(yè)不斷創(chuàng)新,提高產(chǎn)品質(zhì)量和服務(wù)水平,從而讓中國消費(fèi)者受益。

      天壇麥當(dāng)勞的未來發(fā)展

      隨著中國經(jīng)濟(jì)的持續(xù)增長和消費(fèi)者需求的變化,天壇麥當(dāng)勞在中國市場仍然具備巨大的發(fā)展?jié)摿Α?/p>

      天壇麥當(dāng)勞正在致力于提供更多健康、營養(yǎng)的餐飲選擇,以滿足中國消費(fèi)者對(duì)健康生活方式的追求。他們推出了一系列低糖、低鹽、低脂肪的產(chǎn)品,并積極推廣食品安全、環(huán)保和社會(huì)責(zé)任等方面的倡議。

      另外,天壇麥當(dāng)勞正在加大在中國市場的投資力度,改善就餐環(huán)境和服務(wù)質(zhì)量。他們正在引入更加現(xiàn)代化的裝修設(shè)計(jì),提供更加舒適和便捷的用餐體驗(yàn)。

      總的來說,天壇麥當(dāng)勞作為中國快餐市場的領(lǐng)軍品牌,將繼續(xù)在中國市場發(fā)揮重要作用。他們將通過不斷創(chuàng)新和滿足中國消費(fèi)者的需求,實(shí)現(xiàn)更大的成功和更長遠(yuǎn)的發(fā)展。

      八、麥當(dāng)勞甜點(diǎn)

      麥當(dāng)勞甜點(diǎn)推薦

      作為全球知名的快餐品牌,麥當(dāng)勞不僅在正餐方面有著出色的表現(xiàn),其甜點(diǎn)也是非常值得一試的。下面就為大家推薦幾款麥當(dāng)勞的甜點(diǎn),讓你在享受美食的同時(shí),也能感受到麥當(dāng)勞的獨(dú)特魅力。

      1. 麥當(dāng)勞冰淇淋

      麥當(dāng)勞的冰淇淋有多種口味可選,口感細(xì)膩,甜度適中,是夏季消暑的好選擇。推薦嘗試其經(jīng)典口味香草冰淇淋和巧克力冰淇淋。

      2. 麥當(dāng)勞奶昔

      麥當(dāng)勞的奶昔系列也是非常豐富的,有各種水果口味可選。推薦嘗試其經(jīng)典口味草莓奶昔和芒果奶昔。

      3. 麥當(dāng)勞甜筒

      麥當(dāng)勞的甜筒口感酥脆,甜度適中,是小朋友們非常喜歡的一款甜點(diǎn)。推薦嘗試其經(jīng)典口味巧克力甜筒。

      4. 麥當(dāng)勞布丁

      麥當(dāng)勞的布丁口感Q彈,甜度適中,非常適合作為餐后甜點(diǎn)。推薦嘗試其經(jīng)典口味芒果布丁。

      5. 麥當(dāng)勞餅干

      麥當(dāng)勞的餅干系列也是非常豐富的,有各種口味可選。其中,巧克力餅干和芝士餅干是其中的明星產(chǎn)品,口感酥脆,非常好吃。

      6. 麥當(dāng)勞果凍

      麥當(dāng)勞的果凍系列也是非常受歡迎的甜點(diǎn)之一。其中,草莓果凍和葡萄果凍是其中的明星產(chǎn)品,口感Q彈,甜度適中。

      總的來說,麥當(dāng)勞的甜點(diǎn)不僅口感豐富多樣,而且品質(zhì)也非常有保障。無論是作為餐前甜點(diǎn)還是餐后甜點(diǎn),都是非常不錯(cuò)的選擇。希望這些推薦能夠滿足你的味蕾需求,讓你在品嘗美食的同時(shí),也能感受到麥當(dāng)勞的獨(dú)特魅力。

      九、投資麥當(dāng)勞股票:為什么選擇投資麥當(dāng)勞?

      麥當(dāng)勞股票投資:為什么選擇投資麥當(dāng)勞?

      麥當(dāng)勞(McDonald's)是全球最大的快餐連鎖企業(yè)之一,其股票一直備受投資者關(guān)注。在決定投資麥當(dāng)勞股票之前,了解相關(guān)的基本信息和投資策略非常重要。

      麥當(dāng)勞的背景和業(yè)務(wù)

      作為全球最大的快餐連鎖企業(yè)之一,麥當(dāng)勞在全球擁有數(shù)千家分店。麥當(dāng)勞以其標(biāo)志性的金拱門和豐富多樣的快餐菜單而聞名。公司的業(yè)務(wù)在全球范圍內(nèi)穩(wěn)步增長,其獨(dú)特的經(jīng)營模式和品牌價(jià)值使其成為吸引投資者的對(duì)象。

      麥當(dāng)勞股票的投資優(yōu)勢(shì)

      • 全球市場份額: 麥當(dāng)勞在全球各地都有分店,由此帶來的全球市場份額使其具有較高的增長潛力。
      • 穩(wěn)定的盈利能力: 麥當(dāng)勞在長期運(yùn)營中積累了豐富的經(jīng)驗(yàn)和成功的經(jīng)營模式,從而實(shí)現(xiàn)穩(wěn)定的盈利能力。
      • 持續(xù)創(chuàng)新: 麥當(dāng)勞通過不斷創(chuàng)新菜單和服務(wù)方式來適應(yīng)消費(fèi)者的需求,使其能夠在競爭激烈的市場中保持競爭力。
      • 股息和回購: 麥當(dāng)勞一直以來致力于回報(bào)股東,通過股息和回購來增加股東的價(jià)值。

      投資麥當(dāng)勞股票的注意事項(xiàng)

      雖然麥當(dāng)勞股票具有一定的投資優(yōu)勢(shì),但在投資麥當(dāng)勞股票時(shí),投資者也需要注意以下幾點(diǎn):

      • 行業(yè)競爭: 快餐行業(yè)競爭激烈,投資者需要關(guān)注競爭對(duì)手的動(dòng)態(tài)以及行業(yè)整體趨勢(shì)。
      • 經(jīng)濟(jì)環(huán)境: 經(jīng)濟(jì)環(huán)境的不確定性可能會(huì)對(duì)麥當(dāng)勞股票的表現(xiàn)產(chǎn)生影響,投資者需要密切關(guān)注經(jīng)濟(jì)狀況。
      • 公司治理: 投資者應(yīng)該關(guān)注公司治理方面的信息,例如董事會(huì)的構(gòu)成和公司的道德經(jīng)營標(biāo)準(zhǔn)。
      • 風(fēng)險(xiǎn)管理: 投資者需要根據(jù)自身的風(fēng)險(xiǎn)承受能力來制定合理的投資計(jì)劃,并注意分散投資的重要性。

      結(jié)論

      投資麥當(dāng)勞股票是一個(gè)有吸引力的選擇,麥當(dāng)勞作為全球快餐巨頭,在全球市場上享有較高的競爭優(yōu)勢(shì)。投資者應(yīng)該密切關(guān)注麥當(dāng)勞的發(fā)展動(dòng)態(tài)和公司治理方面的信息,并根據(jù)個(gè)人的投資目標(biāo)和風(fēng)險(xiǎn)承受能力制定合理的投資策略。

      感謝您閱讀本文,希望能夠?yàn)槟耐顿Y決策提供一些有用的信息和參考。

      十、mahout面試題?

      之前看了Mahout官方示例 20news 的調(diào)用實(shí)現(xiàn);于是想根據(jù)示例的流程實(shí)現(xiàn)其他例子。網(wǎng)上看到了一個(gè)關(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的工具類實(shí)現(xiàn)分類。

      基本思想:

      1. 構(gòu)造分類數(shù)據(jù)。

      2. 使用Mahout工具類進(jìn)行訓(xùn)練,得到訓(xùn)練模型。

      3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。

      4. 分類器對(duì)vector數(shù)據(jù)進(jìn)行分類。

      接下來貼下我的代碼實(shí)現(xiàn)=》

      1. 構(gòu)造分類數(shù)據(jù):

      在hdfs主要?jiǎng)?chuàng)建一個(gè)文件夾路徑 /zhoujainfeng/playtennis/input 并將分類文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。

      數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak

      2. 使用Mahout工具類進(jìn)行訓(xùn)練,得到訓(xùn)練模型。

      3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。

      4. 分類器對(duì)vector數(shù)據(jù)進(jìn)行分類。

      這三步,代碼我就一次全貼出來;主要是兩個(gè)類 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初始化時(shí)報(bào)錯(cuò)。。。。");

      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í)表示總文檔數(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());

      }

      }

      相關(guān)資訊
      熱門頻道

      Copyright © 2024 招聘街 滇ICP備2024020316號(hào)-38

      国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

        蒲江县| 潼南县| 巴东县| 新乡市| 浮梁县| 苏尼特左旗| 澄迈县| 花莲县| 东辽县| 南漳县| 黔南| 巨野县| 罗田县| 泸水县| 灵璧县| 新沂市| 陆丰市| 府谷县| 会泽县| 嫩江县| 安吉县| 蒙城县| 峨眉山市| 焦作市| 赣州市| 安乡县| 莱芜市| 抚顺县| 巩留县| 通辽市| 大竹县| 嘉义县| 成武县| 临朐县| 嘉禾县| 涪陵区| 珲春市| 永嘉县| 铅山县| 盐源县| 高陵县|