編碼結(jié)構(gòu)及編制方法全國(guó)工會(huì)組織統(tǒng)計(jì)編碼由12位數(shù)字組成。(一)省級(jí)地方總工會(huì)編碼第1、2位數(shù)字采用行政區(qū)劃碼前兩位,后10位數(shù)字全部補(bǔ)“0”。如,河北省總工會(huì)編碼為130000000000。
(二)地市級(jí)地方總工會(huì)編碼前4位采用相應(yīng)行政區(qū)劃碼前4位,后8位數(shù)字補(bǔ)“0”。 (第1、2位數(shù)字與省級(jí)地方總工會(huì)相同。)如,河北省石家莊市總工會(huì)編碼為130100000000。
部分地市級(jí)開(kāi)發(fā)區(qū)、林區(qū)等沒(méi)有相應(yīng)的行政區(qū)劃代碼,其統(tǒng)計(jì)編碼第1、2位數(shù)字與省級(jí)地方總工會(huì)相同,第3、4位數(shù)字由省級(jí)地方總工會(huì)確定并報(bào)送全國(guó)總工會(huì)備案。注意不得與其他地市級(jí)地方總工會(huì)編碼重復(fù),也不得使用“99”。
(三)省級(jí)產(chǎn)業(yè)工會(huì)(本方案所指的省級(jí)產(chǎn)業(yè)工會(huì)包括省直機(jī)關(guān)工會(huì)、省屬企業(yè)工會(huì)、產(chǎn)業(yè)工委等,下同)第1、2位數(shù)字與省級(jí)總工會(huì)相同,第3、4位數(shù)字統(tǒng)一使用“99”以便與地市級(jí)地方總工會(huì)區(qū)分。
各類(lèi)產(chǎn)業(yè)工會(huì)及其下屬工會(huì)由省級(jí)地方總工會(huì)分配管理剩余8位編碼,并將各類(lèi)產(chǎn)業(yè)工會(huì)編碼報(bào)送全國(guó)總工會(huì)備案。 (四)縣級(jí)地方總工會(huì)編碼前6位數(shù)字采用行政區(qū)劃碼,后6位數(shù)字補(bǔ)“0”。
(第1、2、3、4位數(shù)字與地市級(jí)地方總工會(huì)相同。)如,河北省石家莊市正定縣編碼為130123000000。部分縣級(jí)開(kāi)發(fā)區(qū)、林區(qū)等沒(méi)有相應(yīng)的行政區(qū)劃代碼,其統(tǒng)計(jì)編碼第1、2、3、4位數(shù)字與地市級(jí)地方總工會(huì)相同,第5、6位數(shù)字由地市級(jí)地方總工會(huì)確定并逐級(jí)上報(bào)省級(jí)地方總工會(huì)和全國(guó)總工會(huì)備案。
注意不得與其他縣級(jí)地方總工會(huì)編碼重復(fù),也不得使用“99”。(五)地市級(jí)產(chǎn)業(yè)工會(huì)(包括市直機(jī)關(guān)、市屬企業(yè)等,下同)由省級(jí)產(chǎn)業(yè)工會(huì)垂直統(tǒng)計(jì)的,其編碼按第(三)條確定;由地市級(jí)地方總工會(huì)管理的,其編碼第1、2、3、4位數(shù)字與地級(jí)地方總工會(huì)相同,第5、6位統(tǒng)一為“99”與縣級(jí)地方總工會(huì)區(qū)分,其下級(jí)工會(huì)由地市級(jí)地方總工會(huì)分配管理剩余6位編碼,并上報(bào)省級(jí)地方總工會(huì)備案。
(六)縣級(jí)以下工會(huì)編碼前6位與縣級(jí)地方總工會(huì)編碼相同,后6位編碼由縣級(jí)地方總工會(huì)自行分配管理。(七)國(guó)家機(jī)關(guān)、中直機(jī)關(guān)和新疆生產(chǎn)建設(shè)兵團(tuán)不采用行政區(qū)劃碼。國(guó)家機(jī)關(guān)、中直機(jī)關(guān)、新疆生產(chǎn)建設(shè)兵團(tuán)所有工會(huì)前兩位數(shù)字分別為“71”、“72”、“66”,其他位數(shù)數(shù)字由國(guó)家機(jī)關(guān)工會(huì)聯(lián)合會(huì)、中直機(jī)關(guān)工會(huì)聯(lián)合會(huì)和新疆生產(chǎn)建設(shè)兵團(tuán)工會(huì)參照對(duì)應(yīng)級(jí)別的地方工會(huì)自行制定。
國(guó)家機(jī)關(guān)基層工會(huì)編碼編制方法。編碼第1、2位為“71”,第3、4位為各部委編碼,第5、6位為各部委內(nèi)部基層以上工會(huì)編碼,如果各部委工會(huì)直接面對(duì)基層工會(huì),則該兩位數(shù)字填“00”,第3-6位編碼由國(guó)家機(jī)關(guān)工會(huì)聯(lián)合會(huì)報(bào)全國(guó)總工會(huì)備案。
第7-12位數(shù)字由基層工會(huì)的上級(jí)單位自行確定并報(bào)國(guó)家機(jī)關(guān)工會(huì)聯(lián)合會(huì)備案。 中直機(jī)關(guān)基層工會(huì)編碼編制方法。編碼第1、2位為“72”,第3、4位為各部委編碼,第5、6位為各部委內(nèi)部基層以上工會(huì)編碼,如果各部委工會(huì)直接面對(duì)基層工會(huì),則該兩位數(shù)字填“00”,第3-6位編碼由中直機(jī)關(guān)工會(huì)聯(lián)合會(huì)報(bào)全國(guó)總工會(huì)備案。
第7-12位數(shù)字由基層工會(huì)的上級(jí)單位自行確定并報(bào)中直機(jī)關(guān)工會(huì)聯(lián)合會(huì)備案。 新疆生產(chǎn)建設(shè)兵團(tuán)基層工會(huì)編碼編制方法。編碼第1、2位為“66”,第3、4位為兵團(tuán)第二級(jí)單位(指兵團(tuán)下一級(jí)單位)編碼,第5、6位為兵團(tuán)第三級(jí)單位編碼,第3-6位編碼由兵團(tuán)工會(huì)自行確定并報(bào)全國(guó)總工會(huì)備案。
第7-12位數(shù)字由基層工會(huì)的上級(jí)單位自行確定并報(bào)兵團(tuán)工會(huì)備案。 。
基層公務(wù)員面試主要包括以下幾種題型,每種題型的答題思路如下:
組織管理類(lèi)。主要考查考生的計(jì)劃、組織、協(xié)調(diào)能力。答題思路包括確保活動(dòng)的始終性、全面考慮尤其是人的安排、將自己置于活動(dòng)情境中1。
應(yīng)急應(yīng)變類(lèi)。這類(lèi)試題考查心理穩(wěn)定性、迅速分析情況并提出對(duì)策的能力。答題思路包括保持冷靜、迅速分析情況、提出有效對(duì)策12。
綜合分析類(lèi)。要求考生對(duì)問(wèn)題進(jìn)行定位、分析原因、影響和對(duì)策。答題時(shí)要注意邏輯順序清晰、層次分明1。
人際溝通類(lèi)。考查考生處理與不同人群關(guān)系的能力。答題思路是多從自身找問(wèn)題、積極解決問(wèn)題而非指責(zé)他人1。
自我認(rèn)知類(lèi)。包括直接提問(wèn)、間接提問(wèn)和壓力型問(wèn)題。答題時(shí)應(yīng)真誠(chéng)表達(dá)個(gè)人特質(zhì)、優(yōu)勢(shì)及對(duì)應(yīng)崗位的匹配度13。
此外,考生還應(yīng)熟悉面試流程,包括進(jìn)場(chǎng)、答題和離場(chǎng)的禮儀,以及如何與考官進(jìn)行有效溝通3。對(duì)于政策方針類(lèi)的題目,答題思路包括指明政策方針的內(nèi)容、闡明背景、指出意義、說(shuō)明實(shí)現(xiàn)途徑,并聯(lián)系自身情況2。
1、利用統(tǒng)計(jì)信息化平臺(tái),通過(guò)網(wǎng)上催報(bào)和統(tǒng)計(jì)執(zhí)法相結(jié)合,提高報(bào)表上報(bào)及時(shí)性。
2、加強(qiáng)對(duì)基層統(tǒng)計(jì)基礎(chǔ)工作的業(yè)務(wù)指導(dǎo)和統(tǒng)計(jì)人員的業(yè)務(wù)培訓(xùn),促使統(tǒng)計(jì)人員業(yè)務(wù)素質(zhì)不斷提高。
3、完善各級(jí)統(tǒng)計(jì)部門(mén)相關(guān)管理制度。用制度管人管事,獎(jiǎng)優(yōu)罰劣,精神和物質(zhì)鼓勵(lì)相結(jié)合。嚴(yán)把統(tǒng)計(jì)報(bào)表質(zhì)量審核關(guān),切實(shí)提高數(shù)據(jù)報(bào)送質(zhì)量
基層基礎(chǔ)工作是統(tǒng)計(jì)調(diào)查立足之本,是統(tǒng)計(jì)系統(tǒng)根基所在,統(tǒng)計(jì)基礎(chǔ)工作的扎實(shí)程度決定著統(tǒng)計(jì)數(shù)據(jù)質(zhì)量,統(tǒng)計(jì)數(shù)據(jù)質(zhì)量的真實(shí)程度直接關(guān)系著社會(huì)經(jīng)濟(jì)發(fā)展和人民群眾的切身利益。
一、 當(dāng)前統(tǒng)計(jì)基層基礎(chǔ)工作面臨的問(wèn)題。
1、統(tǒng)計(jì)力量配備與統(tǒng)計(jì)工作任務(wù)不適應(yīng)。
統(tǒng)計(jì)工作任務(wù)與統(tǒng)計(jì)工作力量配備自上而下呈現(xiàn)倒三角形,越到基層,統(tǒng)計(jì)任務(wù)越重,但統(tǒng)計(jì)力量配備越弱。
人員配備和力量與統(tǒng)計(jì)工作量之間矛盾日益突出。
2、統(tǒng)計(jì)指標(biāo)體系滯后,缺少應(yīng)變對(duì)策,難以適應(yīng)當(dāng)?shù)卣块T(mén)的需要由于統(tǒng)計(jì)方法制度改革滯后于經(jīng)濟(jì)體制改革,目前,統(tǒng)計(jì)數(shù)據(jù)無(wú)法全面、準(zhǔn)確、方便地反映社會(huì)主義市場(chǎng)經(jīng)濟(jì)發(fā)展的實(shí)際狀況,很多地方政府需要的數(shù)據(jù)我們無(wú)法提供。
忽視了基層黨委政府部門(mén)的需要,使得基層地方政府對(duì)部分統(tǒng)計(jì)數(shù)據(jù)難以進(jìn)行開(kāi)發(fā)利用,而地方政府需要掌握的指標(biāo),基礎(chǔ)統(tǒng)計(jì)部門(mén)又難以準(zhǔn)確去統(tǒng)計(jì)和反映。
3、基層統(tǒng)計(jì)人員素質(zhì)不能完全滿(mǎn)足統(tǒng)計(jì)形勢(shì)和工作任務(wù)的需要,一定程度上使基層的統(tǒng)計(jì)數(shù)據(jù)的質(zhì)量受影響。
按照統(tǒng)計(jì)工作對(duì)統(tǒng)計(jì)人員要求,真正達(dá)到會(huì)統(tǒng)計(jì)、會(huì)調(diào)研、會(huì)分析、會(huì)微機(jī)的“四會(huì)”標(biāo)準(zhǔn)的人員為數(shù)不樂(lè)觀(guān),而懂政策經(jīng)濟(jì)、知法規(guī)、能統(tǒng)計(jì)、會(huì)預(yù)測(cè)的復(fù)合型人才更是缺乏。
4、統(tǒng)計(jì)信息化建設(shè)還不完善。
統(tǒng)計(jì)信息自動(dòng)化網(wǎng)絡(luò)不完整,綜合統(tǒng)計(jì)數(shù)據(jù)庫(kù)利用率還不高,統(tǒng)計(jì)信息共享水平較低,不能有效地利用統(tǒng)計(jì)網(wǎng)絡(luò)開(kāi)展統(tǒng)計(jì)分析研究,為決策、為公眾的優(yōu)質(zhì)、高效的服務(wù)。
二、加強(qiáng)統(tǒng)計(jì)基層基礎(chǔ)工作的幾點(diǎn)建議 1、加強(qiáng)基層基礎(chǔ)統(tǒng)計(jì)隊(duì)伍建設(shè)。
加強(qiáng)基層基礎(chǔ)工作是政府統(tǒng)計(jì)部門(mén)的一項(xiàng)重要職責(zé)。
切實(shí)解決基層統(tǒng)計(jì)工作中存在的矛盾、困難和問(wèn)題。
各級(jí)統(tǒng)計(jì)機(jī)構(gòu)特別是基層統(tǒng)計(jì)人員足額配備,結(jié)構(gòu)合理,能滿(mǎn)足統(tǒng)計(jì)工作開(kāi)展的需要。
改善基層統(tǒng)計(jì)的工作條件,提供基層統(tǒng)計(jì)人員的政治待遇和經(jīng)濟(jì)待遇,穩(wěn)定統(tǒng)計(jì)隊(duì)伍。
2、完善統(tǒng)計(jì)制度及指標(biāo)設(shè)置。
統(tǒng)計(jì)數(shù)據(jù)質(zhì)量是統(tǒng)計(jì)工作的生命。
抓統(tǒng)計(jì)數(shù)據(jù)質(zhì)量必須從基層源頭數(shù)據(jù)抓起。
提高統(tǒng)計(jì)數(shù)據(jù)質(zhì)量重點(diǎn)從完整性、準(zhǔn)確性、及時(shí)性、簡(jiǎn)便性和適用性等五個(gè)方面下功夫。
一是統(tǒng)計(jì)數(shù)據(jù)在統(tǒng)計(jì)信息的采集范圍和內(nèi)容含量上的完整性。
二是統(tǒng)計(jì)數(shù)據(jù)質(zhì)量在統(tǒng)計(jì)信息客觀(guān)真實(shí)性方面的準(zhǔn)確性。
三是統(tǒng)計(jì)數(shù)據(jù)質(zhì)量在統(tǒng)計(jì)信息時(shí)間價(jià)值上的及時(shí)性。
一方面加強(qiáng)與政府各部門(mén)的合作,充分利用部門(mén)統(tǒng)計(jì)資料,減少重復(fù)統(tǒng)計(jì),最大限度地減輕社會(huì)調(diào)查負(fù)擔(dān)。
另一方面對(duì)外公布的各種統(tǒng)計(jì)數(shù)據(jù)、統(tǒng)計(jì)圖表和統(tǒng)計(jì)分析文章,力求簡(jiǎn)潔、清晰、明了,要把枯燥的數(shù)據(jù)、專(zhuān)業(yè)的圖表和術(shù)語(yǔ)轉(zhuǎn)化為貼近現(xiàn)實(shí)、貼近大眾的表達(dá)方式,便于各級(jí)領(lǐng)導(dǎo)、政府部門(mén)和社會(huì)公眾理解。
五是統(tǒng)計(jì)數(shù)據(jù)質(zhì)量在統(tǒng)計(jì)信息價(jià)值實(shí)現(xiàn)上的適用性。
及時(shí)了解、掌握各級(jí)領(lǐng)導(dǎo)決策和社會(huì)各界對(duì)統(tǒng)計(jì)信息的需求情況,在調(diào)查之初就要考慮收集的統(tǒng)計(jì)信息是否有用,是否符合用戶(hù)的需求,從而縮小統(tǒng)計(jì)信息供應(yīng)與需求之間的矛盾。
只有這樣,才能生產(chǎn)出適銷(xiāo)對(duì)路的統(tǒng)計(jì)產(chǎn)品,才能使統(tǒng)計(jì)數(shù)據(jù)發(fā)揮最大的效益回報(bào)。
3、狠抓培訓(xùn),提高素質(zhì),提升統(tǒng)計(jì)服務(wù)水平。
加強(qiáng)統(tǒng)計(jì)隊(duì)伍建設(shè),事關(guān)統(tǒng)計(jì)事業(yè)的長(zhǎng)遠(yuǎn)發(fā)展,建設(shè)一支“思想過(guò)硬、作風(fēng)優(yōu)良、業(yè)務(wù)精湛、清正廉潔”的統(tǒng)計(jì)隊(duì)伍是做好基層統(tǒng)計(jì)工作的前提。
要從戰(zhàn)略的高度重視統(tǒng)計(jì)人才的培養(yǎng),下大力氣造就一批政治強(qiáng)、業(yè)務(wù)精、作風(fēng)硬、結(jié)構(gòu)優(yōu)的復(fù)合型統(tǒng)計(jì)人才。
作為基層統(tǒng)計(jì)工作人員,工作的職責(zé)要求應(yīng)該了解和掌握現(xiàn)行的方針、政策、經(jīng)濟(jì)發(fā)展的重心、核心和趨勢(shì);了解和掌握最基本的統(tǒng)計(jì)工作方法,知道怎樣收集數(shù)據(jù)、怎樣計(jì)算指標(biāo)、怎樣分析整理資料;了解和掌握統(tǒng)計(jì)信息網(wǎng)絡(luò)技術(shù)。
因此,全方位加大培訓(xùn)教育的資金、技術(shù)、人力投入和工作力度,造就一大批懂統(tǒng)計(jì)專(zhuān)業(yè)、會(huì)經(jīng)濟(jì)分析和計(jì)算機(jī)技術(shù)的人才隊(duì)伍顯得尤為重要和迫切。
通過(guò)采取集中培訓(xùn)與自我教育相結(jié)合、請(qǐng)進(jìn)來(lái)教與送出去學(xué)相結(jié)合等方式,使基層統(tǒng)計(jì)人員能夠接受多層面的培訓(xùn)和交流,不斷強(qiáng)化職業(yè)道德,形成依法統(tǒng)計(jì)理念,不斷更新、拓展專(zhuān)業(yè)技術(shù)水平和操作技能,能夠比較準(zhǔn)確分析和把握經(jīng)濟(jì)運(yùn)行的趨勢(shì),熟練運(yùn)用網(wǎng)絡(luò)系統(tǒng)傳遞信息,才能保證源頭數(shù)據(jù)不受干擾,做到準(zhǔn)確、及時(shí)和到位,才能為提高數(shù)據(jù)質(zhì)量提供強(qiáng)有力的人才支持。
認(rèn)真抓好培訓(xùn)工作,特別是職稱(chēng)考試工作、計(jì)算機(jī)技術(shù)和英語(yǔ)學(xué)習(xí)鼓勵(lì)統(tǒng)計(jì)人員全脫產(chǎn)和半脫產(chǎn)培訓(xùn),使統(tǒng)計(jì)人員增長(zhǎng)知識(shí)、開(kāi)闊眼界,學(xué)有所長(zhǎng),學(xué)有所用,提高隊(duì)伍素質(zhì)。
4、加快信息化提升統(tǒng)計(jì)服務(wù)手段。
信息化建設(shè)是是提高工作效率、增強(qiáng)服務(wù)功能、促進(jìn)統(tǒng)計(jì)現(xiàn)代化建設(shè)必要保障和手段。
依托現(xiàn)有的硬件和網(wǎng)絡(luò)資源,堅(jiān)持統(tǒng)一、開(kāi)放的原則,整合統(tǒng)計(jì)信息網(wǎng)絡(luò)資源,構(gòu)建統(tǒng)計(jì)信息服務(wù)網(wǎng)絡(luò)互動(dòng)平臺(tái),為領(lǐng)導(dǎo)決策、企業(yè)發(fā)展和公眾需求服務(wù)。
逐步向“統(tǒng)計(jì)信息標(biāo)準(zhǔn)化,數(shù)據(jù)傳輸網(wǎng)絡(luò)化,業(yè)務(wù)處理電子化,信息服務(wù)社會(huì)化”的目標(biāo)穩(wěn)步邁進(jìn)。
總之,基層統(tǒng)計(jì)工作必需樹(shù)立質(zhì)量第一的意識(shí),切實(shí)提高統(tǒng)計(jì)數(shù)據(jù)的準(zhǔn)確性、真實(shí)性和可靠性。
穩(wěn)定統(tǒng)計(jì)隊(duì)伍,提高人員素質(zhì),完善統(tǒng)計(jì)指標(biāo)與統(tǒng)計(jì)口徑,加快統(tǒng)計(jì)信息化建設(shè)。
當(dāng)前統(tǒng)計(jì)工作任重而道遠(yuǎn),正確地認(rèn)清形勢(shì),清醒地看到不足、堅(jiān)定信心,開(kāi)拓進(jìn)取,就一定能使統(tǒng)計(jì)為社會(huì)發(fā)揮更大的作用。
[1]劉春才,翁祥桂,王桑根.基層統(tǒng)計(jì)的特征及存在問(wèn)題[J].中國(guó)統(tǒng)計(jì),1999,(1).
縣統(tǒng)計(jì)局的所屬基層單位是各區(qū)、街道、鄉(xiāng)鎮(zhèn)的統(tǒng)計(jì)辦公室(所)和小組,歸縣統(tǒng)計(jì)局直接領(lǐng)導(dǎo)。
【參考答案】 進(jìn)入單位后我被派到偏遠(yuǎn)的基層工作,我要堅(jiān)決服從組織安排,到基層去,深入群眾,了解實(shí)際情況,克服困難,將自己鍛煉成合格的國(guó)家公務(wù)人員。 我覺(jué)得到基層工作很有必要,而且大有可為,要從思想高度和長(zhǎng)遠(yuǎn)發(fā)展角度明白單位的良苦用心。第一,深入基層一線(xiàn)工作,是實(shí)踐“為人民服務(wù)”的宗旨的需要。要真正為人民服務(wù),就需要了解群眾的需求和愿望,這就需要深入到群眾中去,通過(guò)面對(duì)面的溝通、交流,切實(shí)了解群眾所需、所想、所求,從群眾的實(shí)際需求出發(fā),為老百姓辦實(shí)事,辦好事。第二,深入基層一線(xiàn)工作,有利于激發(fā)創(chuàng)新意識(shí)。基層的工作紛繁復(fù)雜,情況千變?nèi)f化,保守的工作作風(fēng)是不能適應(yīng)基層的工作要求,這就要求我們的干部在工作中要拓寬工作思路,要有變革創(chuàng)新的意識(shí)。同時(shí)要有承擔(dān)責(zé)任的決心和勇氣。第三,深入基層一線(xiàn)鍛煉,有利于磨練意志。基層一線(xiàn)的工作條件一般都較為艱苦,年輕同志到一線(xiàn)工作有利于磨練意志,砥礪品格,養(yǎng)成吃苦難勞,勇于奉獻(xiàn)的精神。 米盧曾說(shuō)過(guò),態(tài)度決定一切。我們也經(jīng)常說(shuō):觀(guān)念一變天地寬。我對(duì)到偏遠(yuǎn)基層去工作有充分的認(rèn)識(shí)和心理準(zhǔn)備。所以,如果組織安排我到偏遠(yuǎn)的基層工作,我會(huì)盡快實(shí)現(xiàn)角色轉(zhuǎn)變,克服困難,砥礪意志,全心全意為偏遠(yuǎn)地區(qū)的人民群眾服務(wù)。
之前看了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
檢測(cè)數(shù)據(jù):
sunny,hot,high,weak
結(jié)果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代碼調(diào)用Mahout的工具類(lèi)實(shí)現(xiàn)分類(lèi)。
基本思想:
1. 構(gòu)造分類(lèi)數(shù)據(jù)。
2. 使用Mahout工具類(lèi)進(jìn)行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測(cè)數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類(lèi)器對(duì)vector數(shù)據(jù)進(jìn)行分類(lèi)。
接下來(lái)貼下我的代碼實(shí)現(xiàn)=》
1. 構(gòu)造分類(lèi)數(shù)據(jù):
在hdfs主要?jiǎng)?chuàng)建一個(gè)文件夾路徑 /zhoujainfeng/playtennis/input 并將分類(lèi)文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。
數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak
2. 使用Mahout工具類(lèi)進(jìn)行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測(cè)數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類(lèi)器對(duì)vector數(shù)據(jù)進(jìn)行分類(lèi)。
這三步,代碼我就一次全貼出來(lái);主要是兩個(gè)類(lèi) 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";
/*
* 測(cè)試代碼
*/
public static void main(String[] args) {
//將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換成 vector數(shù)據(jù)
makeTrainVector();
//產(chǎn)生訓(xùn)練模型
makeModel(false);
//測(cè)試檢測(cè)數(shù)據(jù)
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//將測(cè)試數(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(){
//將測(cè)試數(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("檢測(cè)數(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);
}
// 利用貝葉斯算法開(kāi)始分類(lèi),并提取得分最好的分類(lèi)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("檢測(cè)所屬類(lèi)別是:"+getCheckResult());
}
}
1. 請(qǐng)介紹一下WebGIS的概念和作用,以及在實(shí)際應(yīng)用中的優(yōu)勢(shì)和挑戰(zhàn)。
WebGIS是一種基于Web技術(shù)的地理信息系統(tǒng),通過(guò)將地理數(shù)據(jù)和功能以可視化的方式呈現(xiàn)在Web瀏覽器中,實(shí)現(xiàn)地理空間數(shù)據(jù)的共享和分析。它可以用于地圖瀏覽、空間查詢(xún)、地理分析等多種應(yīng)用場(chǎng)景。WebGIS的優(yōu)勢(shì)包括易于訪(fǎng)問(wèn)、跨平臺(tái)、實(shí)時(shí)更新、可定制性強(qiáng)等,但也面臨著數(shù)據(jù)安全性、性能優(yōu)化、用戶(hù)體驗(yàn)等挑戰(zhàn)。
2. 請(qǐng)談?wù)勀赪ebGIS開(kāi)發(fā)方面的經(jīng)驗(yàn)和技能。
我在WebGIS開(kāi)發(fā)方面有豐富的經(jīng)驗(yàn)和技能。我熟悉常用的WebGIS開(kāi)發(fā)框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能夠使用HTML、CSS和JavaScript等前端技術(shù)進(jìn)行地圖展示和交互設(shè)計(jì),并能夠使用后端技術(shù)如Python、Java等進(jìn)行地理數(shù)據(jù)處理和分析。我還具備數(shù)據(jù)庫(kù)管理和地理空間數(shù)據(jù)建模的能力,能夠設(shè)計(jì)和優(yōu)化WebGIS系統(tǒng)的架構(gòu)。
3. 請(qǐng)描述一下您在以往項(xiàng)目中使用WebGIS解決的具體問(wèn)題和取得的成果。
在以往的項(xiàng)目中,我使用WebGIS解決了許多具體問(wèn)題并取得了顯著的成果。例如,在一次城市規(guī)劃項(xiàng)目中,我開(kāi)發(fā)了一個(gè)基于WebGIS的交通流量分析系統(tǒng),幫助規(guī)劃師們?cè)u(píng)估不同交通方案的效果。另外,在一次環(huán)境監(jiān)測(cè)項(xiàng)目中,我使用WebGIS技術(shù)實(shí)現(xiàn)了實(shí)時(shí)的空氣質(zhì)量監(jiān)測(cè)和預(yù)警系統(tǒng),提供了準(zhǔn)確的空氣質(zhì)量數(shù)據(jù)和可視化的分析結(jié)果,幫助政府和公眾做出相應(yīng)的決策。
4. 請(qǐng)談?wù)勀鷮?duì)WebGIS未來(lái)發(fā)展的看法和期望。
我認(rèn)為WebGIS在未來(lái)會(huì)繼續(xù)發(fā)展壯大。隨著云計(jì)算、大數(shù)據(jù)和人工智能等技術(shù)的不斷進(jìn)步,WebGIS將能夠處理更大規(guī)模的地理數(shù)據(jù)、提供更豐富的地理分析功能,并與其他領(lǐng)域的技術(shù)進(jìn)行深度融合。我期望未來(lái)的WebGIS能夠更加智能化、個(gè)性化,為用戶(hù)提供更好的地理信息服務(wù),助力各行各業(yè)的決策和發(fā)展。
這塊您需要了解下stm32等單片機(jī)的基本編程和簡(jiǎn)單的硬件設(shè)計(jì),最好能夠了解模電和數(shù)電相關(guān)的知識(shí)更好,還有能夠會(huì)做操作系統(tǒng),簡(jiǎn)單的有ucos,freeRTOS等等。最好能夠使用PCB畫(huà)圖軟件以及keil4等軟件。希望對(duì)您能夠有用。
石灰土基層就是公路路面基層施工中的最基礎(chǔ)的墊層,也就是基層. 在石灰土基層施工前,應(yīng)取所定土場(chǎng)中有代表性的土樣進(jìn)行以下試驗(yàn):顆粒分析(在施工中,土粒應(yīng)盡可能粉碎,越細(xì)越好,土塊最大尺寸不應(yīng)大于15mm.灰土強(qiáng)度與土顆。