行政執(zhí)法監(jiān)察內(nèi)涵
行政執(zhí)法監(jiān)察
,又稱執(zhí)法監(jiān)察
,是關(guān)于監(jiān)察的一個特定概念,屬于行政執(zhí)法
的范疇,是指行政執(zhí)法主管部門依法對法律關(guān)系主體執(zhí)行和遵守法律、法規(guī)的情況進(jìn)行監(jiān)督檢查,并對違法者實(shí)施行政處罰的行政執(zhí)法活動。執(zhí)法是指行政執(zhí)法,主要強(qiáng)調(diào)行政處罰;監(jiān)察是監(jiān)督檢查,也是廣義執(zhí)法的一部分,強(qiáng)調(diào)督促相關(guān)各方履責(zé)。此即通常所說的“執(zhí)法監(jiān)察二重性
”。行政執(zhí)法監(jiān)察的內(nèi)容包括兩個方面:①對法律法規(guī)的實(shí)施情況進(jìn)行監(jiān)督監(jiān)察;②對違反法律法規(guī)的行為實(shí)施法律制裁。行政執(zhí)法監(jiān)察
主要分為兩大類:政府系統(tǒng)行政管理部門一般行政執(zhí)法領(lǐng)域
的部門執(zhí)法監(jiān)察
(也稱行業(yè)執(zhí)法監(jiān)察)和監(jiān)察委系統(tǒng)行政監(jiān)察領(lǐng)域
的專門執(zhí)法監(jiān)察
(也稱紀(jì)檢執(zhí)法監(jiān)察)。執(zhí)法監(jiān)察發(fā)展簡史:溯源與發(fā)展
執(zhí)法監(jiān)察
是中國特色社會主義法治的重要組成部分,是中國特色社會主義法治發(fā)展歷史的一個縮影。從詞源上講,“
監(jiān)察
”一詞源于封建社會的“監(jiān)察御史”,指代表皇帝監(jiān)督皇權(quán)體制內(nèi)百官群吏
的一個官職。新中國成立后,人民當(dāng)家作主,進(jìn)行社會主義改造,實(shí)行計(jì)劃經(jīng)濟(jì),
所有人均被納入國家體制內(nèi)
管理,管理手段主要依靠行政手段,“監(jiān)察”作為對一切體制內(nèi)單位和個人監(jiān)督檢查及處罰懲戒的方式
在內(nèi)涵和外延上有了重大變化
。勞動監(jiān)察、安全生產(chǎn)監(jiān)察等以監(jiān)督檢查為手段,督促體制內(nèi)各方落實(shí)政府相關(guān)法規(guī)。這時候,“監(jiān)察”分為部門監(jiān)察
和專門監(jiān)察
。這個時期,各個政府行業(yè)管理部門
的部門監(jiān)察
主要依靠執(zhí)行法律及部門規(guī)章、行政命令監(jiān)督各單位和個人
履責(zé),如勞動執(zhí)法監(jiān)察、安全生產(chǎn)執(zhí)法監(jiān)察、國土執(zhí)法監(jiān)察等部門監(jiān)察
。而專門針對政府官員的專門監(jiān)察
,即政府行政監(jiān)察部門
的行政監(jiān)察,則主要依靠行政手段對政府部門及公務(wù)人員
實(shí)行監(jiān)督問責(zé),即通常所說的狹義的“監(jiān)察”
。改革開放后,隨著經(jīng)濟(jì)社會的發(fā)展,各種社會管理問題也越來越突出,法制意識逐步增強(qiáng),政府各個行業(yè)管理部門的執(zhí)法監(jiān)察隊(duì)伍進(jìn)入快速成長期。這個時期,
隨著計(jì)劃經(jīng)濟(jì)向市場經(jīng)濟(jì)的轉(zhuǎn)型,許多體制內(nèi)的單位人變成體制外的社會人,“監(jiān)察”在這個階段的內(nèi)涵、外延也有了相應(yīng)拓展,并逐步演變?yōu)橐婪ūO(jiān)督社會各方履責(zé)的一個重要方式
,部門監(jiān)察越來越多的被叫做部門執(zhí)法監(jiān)察
并逐漸被作為行政執(zhí)法的重要組成部分,環(huán)保執(zhí)法監(jiān)察、城管綜合執(zhí)法監(jiān)察等部門行業(yè)執(zhí)法監(jiān)察進(jìn)行了許多鮮活的社會主義法治探索,特別是以相對集中行政處罰權(quán)為牽引的綜合執(zhí)法改革
,通過將管理決策、行政審批等職能
與監(jiān)督監(jiān)察、行政處罰等職能
分開,為進(jìn)一步健全和完善中國特色的行政執(zhí)法制度奠定了基礎(chǔ)。也是在這一時期,作為專門執(zhí)法監(jiān)察
的行政監(jiān)察領(lǐng)域執(zhí)法監(jiān)察也被正式提出,成為與效能監(jiān)察、廉政監(jiān)察并列的行政監(jiān)察的三種方式之一。十八以來,中央將依法治國作為重要國策,政府行政管理的
部門執(zhí)法監(jiān)察
得到高度重視和進(jìn)一步規(guī)范發(fā)展,成為依法治國的重要組成部分,綜合執(zhí)法
被確定為發(fā)展方向,行政執(zhí)法體制改革穩(wěn)步推進(jìn)。與此同時,國家監(jiān)察體制改革全面鋪開,行政監(jiān)察領(lǐng)域的專門執(zhí)法監(jiān)察從政府體系脫離出來
成為新構(gòu)建的監(jiān)察委體系的重要組成部分
,實(shí)踐與研究領(lǐng)域取得迅猛發(fā)展。《城市管理三維結(jié)構(gòu)視野下的城管綜合執(zhí)法與監(jiān)察》一文以
城管綜合執(zhí)法及監(jiān)察
為例,梳理了從城建監(jiān)察、城管監(jiān)察、城管執(zhí)法到城管執(zhí)法監(jiān)察的執(zhí)法監(jiān)察制度
發(fā)展歷程,指出了執(zhí)法監(jiān)察二重性
。城管執(zhí)法監(jiān)察制度從市容、城建監(jiān)察演變而來,最早脫胎于計(jì)劃經(jīng)濟(jì)向市場經(jīng)濟(jì)的轉(zhuǎn)型之中,注重發(fā)揮監(jiān)督各方依法履行城市管理方面責(zé)任的作用叫“城管監(jiān)察
”,后來由于推進(jìn)相對集中處罰權(quán)推進(jìn)綜合執(zhí)法而更多叫城管綜合執(zhí)法
,再后來發(fā)覺僅僅注重事后處罰懲戒而忽視事前通過監(jiān)督檢查督促社會各方依法履責(zé)不利于形成城市法治共治格局,更多的機(jī)構(gòu)如北京各區(qū)的城管執(zhí)法局又加上了監(jiān)察,叫“執(zhí)法監(jiān)察
”(2013年,北京市各區(qū)城市管理監(jiān)察大隊(duì)
改名時經(jīng)充分研究未改成城市管理綜合行政執(zhí)法局
,而是改名為城市管理綜合行政執(zhí)法監(jiān)察局
)。城管執(zhí)法監(jiān)察制度的發(fā)展,也是執(zhí)法監(jiān)察制度發(fā)展的一個縮影。部門執(zhí)法監(jiān)察與專門執(zhí)法監(jiān)察
部門執(zhí)法監(jiān)察
,也稱行業(yè)執(zhí)法監(jiān)察
,常被簡稱為行政執(zhí)法,包括各個政府行業(yè)管理部門的行政執(zhí)法監(jiān)察:勞動保障執(zhí)法監(jiān)察、安全生產(chǎn)執(zhí)法監(jiān)察、環(huán)境保護(hù)執(zhí)法監(jiān)察、城市管理執(zhí)法監(jiān)察、市場監(jiān)管執(zhí)法監(jiān)察、文化市場執(zhí)法監(jiān)察、農(nóng)業(yè)執(zhí)法監(jiān)察等。主要是對法律相關(guān)各方,包括各類市場、社會主體、個人遵守相關(guān)法律法規(guī)的情況進(jìn)行監(jiān)督監(jiān)察,并對違法行為進(jìn)行處罰。專門執(zhí)法監(jiān)察
,也常被稱為紀(jì)檢執(zhí)法監(jiān)察
,主要是指行政監(jiān)察部門的執(zhí)法監(jiān)察。主要是對政府機(jī)關(guān)及公務(wù)人員遵守法律法規(guī)依法執(zhí)法的情況進(jìn)行監(jiān)督監(jiān)察,并對違法違規(guī)行為進(jìn)行懲處,概括來說,就是對政府機(jī)構(gòu)及公務(wù)人員執(zhí)行法律情況的執(zhí)法監(jiān)察。特別是國家監(jiān)察體制改革之后,行政監(jiān)察從傳統(tǒng)政府管理領(lǐng)域進(jìn)一步獨(dú)立出來,組建了監(jiān)察委,構(gòu)建出“一府一委兩院”的格局,監(jiān)察委系統(tǒng)的執(zhí)法監(jiān)察越來越得到各方重視,許多學(xué)者就行政監(jiān)察領(lǐng)域的專門執(zhí)法監(jiān)察開展了大量研究,而對于政府各管理部門的行業(yè)執(zhí)法監(jiān)察研究還比較薄弱,出現(xiàn)了認(rèn)識的混亂。執(zhí)法監(jiān)察制度建設(shè)中關(guān)于
執(zhí)法監(jiān)察二重性
的辨析,不僅僅體現(xiàn)在前文案例中的城管綜合執(zhí)法
等行政執(zhí)法
領(lǐng)域的部門執(zhí)法監(jiān)察
,更體現(xiàn)在行政監(jiān)察
領(lǐng)域的專門執(zhí)法監(jiān)察
。行政監(jiān)察領(lǐng)域的執(zhí)法監(jiān)察也不僅僅是注重事后的懲戒,更注重通過監(jiān)督監(jiān)察、制度完善等方式做到在事前防范,保證公共機(jī)構(gòu)和公務(wù)人員(即行政監(jiān)察領(lǐng)域執(zhí)法監(jiān)察的對象)能夠依法履責(zé)。行政
執(zhí)法監(jiān)察與行政執(zhí)法、行政監(jiān)察、執(zhí)法監(jiān)督概念辨析
長期以來,由于對行政執(zhí)法監(jiān)察制度的“
執(zhí)法監(jiān)察二重性
”缺乏研究,以罰代管、執(zhí)法矛盾問題突出,也出現(xiàn)將執(zhí)法監(jiān)察與行政執(zhí)法、行政監(jiān)察、執(zhí)法監(jiān)督等概念混淆。行政執(zhí)法監(jiān)察
又稱執(zhí)法監(jiān)察,是行政執(zhí)法
的重要組成部分,既包括政府管理系統(tǒng)行政執(zhí)法
領(lǐng)域的部門執(zhí)法監(jiān)察,也包括監(jiān)察委系統(tǒng)行政監(jiān)察
領(lǐng)域的專門執(zhí)法監(jiān)察。行政執(zhí)法
包括行政許可、行政征收、行政裁決、行政監(jiān)督檢查、行政處罰、行政強(qiáng)制等,但執(zhí)法監(jiān)察
僅指行政監(jiān)督檢查、行政處罰及與之關(guān)聯(lián)的行政強(qiáng)制。按照中央綜合執(zhí)法改革要求的“決策監(jiān)管、行政許可等職能
與監(jiān)督檢查、行政處罰等職能
適度分離
”的要求,執(zhí)法監(jiān)察
即是指分離的后面的那一部分職能。而
執(zhí)法監(jiān)督
,則是對包括行政執(zhí)法監(jiān)察
在內(nèi)的行政執(zhí)法
主體和行為的監(jiān)督。參考文獻(xiàn):
宋剛,王毅,王旭. 城市管理三維結(jié)構(gòu)視野下的城管綜合執(zhí)法與監(jiān)察[J]. 城市發(fā)展研究, 2018, 25(12):113-121.監(jiān)察對象是指《行政監(jiān)察法》規(guī)定的接受監(jiān)察機(jī)關(guān)監(jiān)察的組織和個人。
根據(jù)《行政監(jiān)察法》第二條的規(guī)定,監(jiān)察對象包括國家行政機(jī)關(guān)、國家公務(wù)員和國家行政機(jī)關(guān)任命的其他人員。國家行政機(jī)關(guān)即國家管理機(jī)關(guān),是國家機(jī)關(guān)的一種,它是由國家依法設(shè)立并代表國家依法行使國家行政權(quán),掌管行政事務(wù)的機(jī)關(guān)。一般來說,構(gòu)成各行政機(jī)關(guān)內(nèi)部的各單位,稱為行政機(jī)構(gòu),綜合各行政機(jī)構(gòu)的整體,則為行政機(jī)關(guān)。國務(wù)院和地方各級人民政府及其所屬機(jī)構(gòu)是我國國家行政機(jī)關(guān)。他們由本級人民代表大會產(chǎn)生,對其負(fù)責(zé)并報(bào)告工作,受其監(jiān)督。國家公務(wù)員是指各級國家行政機(jī)關(guān)中除工勤人員以外的工作人員。國家行政機(jī)關(guān)任命的其他人員,是指企業(yè)、事業(yè)單位中由國家行政機(jī)關(guān)任命的人員及其他經(jīng)國家行政機(jī)關(guān)以委任、派遣、聘任等形式批準(zhǔn)從事公務(wù)的人員等。
行政機(jī)關(guān)和監(jiān)察機(jī)關(guān)有國務(wù)院、地方行政機(jī)關(guān)、街道辦事處、民族自治地方行政機(jī)關(guān)、派出所等,而監(jiān)察機(jī)關(guān)有國家監(jiān)察委員會、地區(qū)各個監(jiān)察委員會、監(jiān)察專員、國家機(jī)關(guān)等。
一、行政機(jī)關(guān)和監(jiān)察機(jī)關(guān)有哪些
行政機(jī)關(guān)有中央行政機(jī)關(guān):國務(wù)院及其組成部門 ;地方行政機(jī)關(guān):地方各級人民政府及其所屬的各工作部門,民族自治地方行政機(jī)關(guān),特別行政區(qū)行政機(jī)關(guān)、街道辦事處;關(guān)于公安機(jī)關(guān),其內(nèi)設(shè)機(jī)構(gòu)有公安消防大隊(duì)和公安交警大隊(duì)、派出所,都是行政機(jī)構(gòu),只有經(jīng)法律法規(guī)和規(guī)章的特別授權(quán),才有行政主體資格。
監(jiān)察機(jī)關(guān)主要包含:國家監(jiān)察委員會、地區(qū)各個監(jiān)察委員會,各級監(jiān)察委員會可以向區(qū)級共產(chǎn)黨機(jī)關(guān)單位、國家機(jī)關(guān)、相關(guān)法律法規(guī)受權(quán)或是授權(quán)委托管理方法公共行政的結(jié)構(gòu)和企業(yè)和所管理的行政區(qū)劃、國企等駐派或是派遣監(jiān)督組織、監(jiān)察專員。
二、監(jiān)察機(jī)關(guān)有批捕的權(quán)力嗎
監(jiān)察機(jī)關(guān)并沒有批捕的權(quán)力,監(jiān)察機(jī)關(guān)不能直接逮捕,但對涉嫌職務(wù)犯罪的,可以將調(diào)查結(jié)果移送人民檢察院依法審查、提起公訴。我國的司法體系中,批捕的程序是由兩個司法機(jī)關(guān)完成的,一般情況下由檢察機(jī)關(guān)批準(zhǔn),由公安機(jī)關(guān)執(zhí)行,而監(jiān)察機(jī)關(guān)則沒有這項(xiàng)行政權(quán)力。
三、監(jiān)察機(jī)關(guān)留置期限一般是多久
監(jiān)察機(jī)關(guān)留置期限一般是三個月。法律快車提醒您,在特殊情況下,可以延長一次,延長時間不得超過三個月。監(jiān)察機(jī)關(guān)對被調(diào)查人采取留置措施后,應(yīng)當(dāng)在二十四小時以內(nèi),通知被留置人員所在單位和家屬,但有可能毀滅、偽造證據(jù),干擾證人作證或者串供等有礙調(diào)查情形的除外。
監(jiān)察工作方針主要包括三個方面內(nèi)容:
一是堅(jiān)持標(biāo)本兼治、綜合治理,強(qiáng)化監(jiān)督問責(zé),嚴(yán)厲懲治腐敗。這主要講的是“不敢腐”的問題。人民群眾最痛恨腐敗現(xiàn)象,腐敗是我們黨面臨的最大威脅。只有以反腐敗永遠(yuǎn)在路上的堅(jiān)韌和執(zhí)著,深化標(biāo)本兼治,保證干部清正、政府清廉、政治清明,才能確保黨和國家長治久安。當(dāng)前,反腐敗斗爭形勢依然嚴(yán)峻復(fù)雜,鞏固壓倒性態(tài)勢、奪取壓倒性勝利的決心必須堅(jiān)如磐石。監(jiān)察法的規(guī)定體現(xiàn)了黨的十九大報(bào)告“堅(jiān)持無禁區(qū)、全覆蓋、零容忍,堅(jiān)持重遏制、強(qiáng)高壓、長震懾”的要求。
二是深化改革、健全法治,有效制約和監(jiān)督權(quán)力。這主要講的是“不能腐”的問題。監(jiān)察法的規(guī)定體現(xiàn)了黨的十九大報(bào)告提出的“要加強(qiáng)對權(quán)力運(yùn)行的制約和監(jiān)督,讓人民監(jiān)督權(quán)力,讓權(quán)力在陽光下運(yùn)行,把權(quán)力關(guān)進(jìn)制度的籠子”。解決不能腐的問題,不僅僅是國家監(jiān)察體制改革和監(jiān)察法的任務(wù),其他各項(xiàng)深化改革任務(wù)和法律制定、修訂工作都或多或少與此相關(guān)。反腐敗不是靠某一個機(jī)關(guān)就能完成的事,必須動員各方面廣泛參與,群策群力,建立起規(guī)范權(quán)力運(yùn)行的制度機(jī)制。我們要按照黨中央決策部署,全面深化各項(xiàng)改革舉措,真正構(gòu)筑起不能腐的堤壩,讓權(quán)力得到約束。及時通過立法把行之有效的改革舉措以法律的形式固化下來,形成監(jiān)督合力、增強(qiáng)監(jiān)督實(shí)效,確保黨和人民賦予的權(quán)力真正用來為人民謀利益。
三是加強(qiáng)法治教育和道德教育,弘揚(yáng)中華優(yōu)秀傳統(tǒng)文化。這主要講的是“不想腐”的問題。法律是準(zhǔn)繩,任何時候都必須遵循;道德是基石,任何時候都不可忽視。習(xí)近平總書記強(qiáng)調(diào),把法治中國建設(shè)好,必須堅(jiān)持依法治國和以德治國相結(jié)合,使法治和德治在國家治理中相互補(bǔ)充、相互促進(jìn)、相得益彰,推進(jìn)國家治理體系和治理能力現(xiàn)代化。法律是成文的道德,道德是內(nèi)心的法律。法律和道德都有規(guī)范社會行為、調(diào)節(jié)社會關(guān)系、維護(hù)社會秩序的作用,在國家治理中都有其地位和功能。習(xí)近平總書記強(qiáng)調(diào),領(lǐng)導(dǎo)干部要講政德。政德是整個社會道德建設(shè)的風(fēng)向標(biāo)。立政德就是要明大德、守公德、嚴(yán)私德。明大德,就是要鑄牢理想信念、錘煉堅(jiān)強(qiáng)黨性,在大是大非面前旗幟鮮明,在風(fēng)浪考驗(yàn)面前無所畏懼,在各種誘惑面前立場堅(jiān)定。守公德,就是要強(qiáng)化宗旨意識,全心全意為人民服務(wù),恪守立黨為公、執(zhí)政為民理念,自覺踐行人民對美好生活的向往就是我們的奮斗目標(biāo)的承諾,做到心底無私天地寬。嚴(yán)私德,就是要嚴(yán)格約束自己的操守和行為。(摘自中央紀(jì)委國家監(jiān)委法規(guī)室編寫、中國方正出版社出版的《〈中華人民共和國監(jiān)察法〉釋義》)
行政監(jiān)察的對象為:
(1)行政系統(tǒng)中以行政隸屬關(guān)系為基礎(chǔ),代表國家行使行政權(quán)力、執(zhí)行行政公務(wù)的行政機(jī)關(guān)。
(2)行政機(jī)關(guān)中執(zhí)行公務(wù)的工作人員。在行政機(jī)關(guān)工作,但非執(zhí)行公務(wù)的人員不是行政監(jiān)察的對象。
(3)國家機(jī)關(guān)任命的其他人員。如一些由行政機(jī)關(guān)直接管理的企業(yè)事業(yè)單位的領(lǐng)導(dǎo)人是由行政機(jī)關(guān)任命的,他們實(shí)際上是接受行政機(jī)關(guān)的委托,從事一定的行政事務(wù),或者對一部分國家資產(chǎn)進(jìn)行經(jīng)營管理,他們既要對所在的單位負(fù)責(zé),也要對國家、對任命他的行政機(jī)關(guān)負(fù)責(zé),所以他們也屬于行政監(jiān)察的對象。
公司行政監(jiān)察員崗位職責(zé)是確保公司內(nèi)部運(yùn)營符合法律法規(guī)和公司政策標(biāo)準(zhǔn)的重要工作。作為公司行政監(jiān)察員,職責(zé)范圍涵蓋了許多關(guān)鍵方面,需要具備專業(yè)知識和嚴(yán)謹(jǐn)?shù)膽B(tài)度來有效履行工作職責(zé)。
在公司行政監(jiān)察員的崗位上,要求具備扎實(shí)的法律法規(guī)知識和出色的分析能力。對于公司內(nèi)部的運(yùn)營和政策實(shí)施,行政監(jiān)察員需要嚴(yán)格審核和監(jiān)督,確保一切符合標(biāo)準(zhǔn)與規(guī)范。
公司行政監(jiān)察員的工作職責(zé)可以總結(jié)為:負(fù)責(zé)監(jiān)督、審查、調(diào)查和預(yù)防,旨在維護(hù)公司內(nèi)部的合法合規(guī)運(yùn)作,確保公司各項(xiàng)工作按照規(guī)定進(jìn)行,并且實(shí)現(xiàn)高效且道德的目標(biāo)。
公司行政監(jiān)察員在工作中必須具備的能力:第一,熟悉公司制度和法規(guī),具備較強(qiáng)的法律法規(guī)意識;第二,具備優(yōu)秀的溝通協(xié)調(diào)能力和團(tuán)隊(duì)合作精神;第三,具有分析問題和解決問題的能力;第四,勇于擔(dān)當(dāng),能夠獨(dú)立處理復(fù)雜情況。
總的來說,作為公司行政監(jiān)察員,要根據(jù)公司的具體情況和要求,細(xì)化工作職責(zé),做到深入了解公司的運(yùn)作模式和政策執(zhí)行情況,全面提高公司內(nèi)部管理效率和合規(guī)水平,為公司的長期發(fā)展保駕護(hù)航。
市中區(qū)天星路36號。樂山市監(jiān)察局屬市政府序列,在市政府和省監(jiān)察廳領(lǐng)導(dǎo)下,按照《中華人民共和國行政監(jiān)察法》的規(guī)定開展工作。市紀(jì)委機(jī)關(guān)和市監(jiān)察局合署辦公,實(shí)行一套工作機(jī)構(gòu),兩個機(jī)關(guān)名稱的體制,履行黨的紀(jì)律檢查和政府行政監(jiān)察兩種職能,對市委、市政府和省紀(jì)委、省監(jiān)察廳全面負(fù)責(zé)。
(一)國務(wù)院各部門及其公務(wù)員;(二)國務(wù)院及國務(wù)院各部門任命的其他人員;(三)省、自治區(qū)、直轄市人民政府及其領(lǐng)導(dǎo)人員。第十六條縣級以上地方各級人民政府監(jiān)察機(jī)關(guān)對下列機(jī)關(guān)和人員實(shí)施監(jiān)察:(一)本級人民政府各部門及其公務(wù)員;(二)本級人民政府及本級人民政府各部門任命的其他人員;(三)下一級人民政府及其領(lǐng)導(dǎo)人員。縣、自治縣、不設(shè)區(qū)的市、市轄區(qū)人民政府監(jiān)察機(jī)關(guān)還對本轄區(qū)所屬的鄉(xiāng)、民族鄉(xiāng)、鎮(zhèn)人民政府的公務(wù)員以及鄉(xiāng)、民族鄉(xiāng)、鎮(zhèn)人民政府任命的其他人員實(shí)施監(jiān)察。第十七條上級監(jiān)察機(jī)關(guān)可以辦理下一級監(jiān)察機(jī)關(guān)管轄范圍內(nèi)的監(jiān)察事項(xiàng);必要時也可以辦理所轄各級監(jiān)察機(jī)關(guān)管轄范圍內(nèi)的監(jiān)察事項(xiàng)。
之前看了Mahout官方示例 20news 的調(diào)用實(shí)現(xiàn);于是想根據(jù)示例的流程實(shí)現(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的工具類實(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. 分類器對vector數(shù)據(jù)進(jìn)行分類。
接下來貼下我的代碼實(shí)現(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工具類進(jìn)行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。
4. 分類器對vector數(shù)據(jù)進(jìn)行分類。
這三步,代碼我就一次全貼出來;主要是兩個類 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)換成向量失?。?#34;);
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初始化時報(bào)錯。。。。");
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的概念和作用,以及在實(shí)際應(yīng)用中的優(yōu)勢和挑戰(zhàn)。
WebGIS是一種基于Web技術(shù)的地理信息系統(tǒng),通過將地理數(shù)據(jù)和功能以可視化的方式呈現(xiàn)在Web瀏覽器中,實(shí)現(xiàn)地理空間數(shù)據(jù)的共享和分析。它可以用于地圖瀏覽、空間查詢、地理分析等多種應(yīng)用場景。WebGIS的優(yōu)勢包括易于訪問、跨平臺、實(shí)時更新、可定制性強(qiáng)等,但也面臨著數(shù)據(jù)安全性、性能優(yōu)化、用戶體驗(yàn)等挑戰(zhàn)。
2. 請談?wù)勀赪ebGIS開發(fā)方面的經(jīng)驗(yàn)和技能。
我在WebGIS開發(fā)方面有豐富的經(jīng)驗(yàn)和技能。我熟悉常用的WebGIS開發(fā)框架和工具,如ArcGIS API for JavaScript、Leaflet、OpenLayers等。我能夠使用HTML、CSS和JavaScript等前端技術(shù)進(jìn)行地圖展示和交互設(shè)計(jì),并能夠使用后端技術(shù)如Python、Java等進(jìn)行地理數(shù)據(jù)處理和分析。我還具備數(shù)據(jù)庫管理和地理空間數(shù)據(jù)建模的能力,能夠設(shè)計(jì)和優(yōu)化WebGIS系統(tǒng)的架構(gòu)。
3. 請描述一下您在以往項(xiàng)目中使用WebGIS解決的具體問題和取得的成果。
在以往的項(xiàng)目中,我使用WebGIS解決了許多具體問題并取得了顯著的成果。例如,在一次城市規(guī)劃項(xiàng)目中,我開發(fā)了一個基于WebGIS的交通流量分析系統(tǒng),幫助規(guī)劃師們評估不同交通方案的效果。另外,在一次環(huán)境監(jiān)測項(xiàng)目中,我使用WebGIS技術(shù)實(shí)現(xiàn)了實(shí)時的空氣質(zhì)量監(jiān)測和預(yù)警系統(tǒng),提供了準(zhǔn)確的空氣質(zhì)量數(shù)據(jù)和可視化的分析結(jié)果,幫助政府和公眾做出相應(yīng)的決策。
4. 請談?wù)勀鷮ebGIS未來發(fā)展的看法和期望。
我認(rèn)為WebGIS在未來會繼續(xù)發(fā)展壯大。隨著云計(jì)算、大數(shù)據(jù)和人工智能等技術(shù)的不斷進(jìn)步,WebGIS將能夠處理更大規(guī)模的地理數(shù)據(jù)、提供更豐富的地理分析功能,并與其他領(lǐng)域的技術(shù)進(jìn)行深度融合。我期望未來的WebGIS能夠更加智能化、個性化,為用戶提供更好的地理信息服務(wù),助力各行各業(yè)的決策和發(fā)展。