一个色的导航资源精品在线观看|手机看片在线精品视频|伊人亚洲成人电影|亚洲欧美在线男女|无码无码在线观看五月精品视频在线|超碰日韩欧美在线|午夜精品蜜桃一区二区久久久|91欧美动态国产精品女主播|色欲色香天天天综合网在线观看免费|伊人春色在线伊人

新疆公安app為什么打不開?

時間:2024-08-08 15:40 人氣:0 編輯:admin

一、新疆公安app為什么打不開?

您好,可以打開。若打不開可能系統(tǒng)正在升級,你卸載后再重新下載看看。

新疆公安app最新版本是一款由新疆公安廳官方打造的便民辦事app,居民可在線辦理治安、出入境、邊防、法制等多項業(yè)務。

二、輔警考試為什么要做公安輔警面試題?

輔警(輔助警察)是指由政府出資,公安機關統(tǒng)一通過筆試、面試、政審、體檢招錄并與其建立勞動關系,在公安機關及其人民警察的指揮和監(jiān)督下從事警務輔助工作的人員。

所以輔警考試當然要做公安輔警面試題了。

公安機關招聘輔警面試會考到以下這些要點:

一、服從命令、聽從指揮、文明巡邏、依法執(zhí)勤,認真做好小區(qū)的晝夜路面巡邏、守候工作,對發(fā)現(xiàn)的違法犯罪分子應監(jiān)視、控制、盤查的扭送公安機關審查處理;

二、協(xié)助公安機關、社區(qū)居委會維護公共秩序,保衛(wèi)重點地區(qū)、公共場所和要害部位的安全;

三、發(fā)動、組織群眾,做好防盜、防破壞、防火、防治安災害事故等“四防”工作,落實各項安全防范措施;

四、發(fā)生案件后及時報案,協(xié)助公安機關保護好現(xiàn)場,為偵察案件提供線索,協(xié)助公安機關查破案件;

五、協(xié)助社區(qū)居委會干部對違反居民共同制訂的“居民公約”等規(guī)范的行為,依照公約規(guī)定糾正各種違章行為;

六、對犯有違反治安管理行為的人,巡邏隊員有權勸阻、制止和批評教育,對需要行使罰款、沒收財物等處罰的,必須報告并移交公安機關處理,巡邏隊員不得行使上述權力。

1.執(zhí)行巡邏任務時,白天要挺胸闊步,自然大方;夜間要保持肅靜,做到眼明、耳靈、腳輕,仔細判明各種聲響、氣味、光亮和可疑癥狀。

2.二人以上同時實施巡邏勤務,遇有情況時,要互相支援,發(fā)揮集體力量的優(yōu)勢。

3.巡邏必須采取走停結(jié)合,耳、目、鼻并用,時快、時慢和突然改變行進方向的辦法。

4.在巡邏中,保安人員必須著裝整齊,儀表端正,精神飽滿。

5.巡邏要注意效果,防止走過場。

三、公安警務技術崗位的公務員面試題庫?

不論考什么類型的公務員,都沒有面試題庫。面試考察的是考生的應變能力和答題思路等。

四、2016年新疆公安考試成績查詢

2016年新疆公安考試成績查詢

尊敬的考生:

您好!感謝您參加2016年新疆公安考試?,F(xiàn)在,您可以通過以下步驟查詢您的考試成績。

步驟一:訪問官方網(wǎng)站

首先,您需要在瀏覽器中打開您的互聯(lián)網(wǎng)連接,并訪問新疆公安考試官方網(wǎng)站。

官方網(wǎng)站地址:www.xjgonganexam.com

步驟二:登錄賬戶

在官方網(wǎng)站的首頁,您需要點擊“登錄”按鈕,并輸入您的賬戶信息。

如果您尚未注冊賬戶,您可以點擊“注冊”按鈕創(chuàng)建一個新賬戶。

請確保您的賬戶信息準確無誤,以免造成查詢錯誤。

步驟三:查詢成績

一旦您成功登錄您的賬戶,您將進入用戶中心。在用戶中心頁面上,您可以找到一個標有“成績查詢”的鏈接。

點擊該鏈接,系統(tǒng)將跳轉(zhuǎn)到一個新頁面,顯示您的個人考試成績。您也可以下載成績單以備存檔。

請注意,為了保護您的個人隱私,網(wǎng)站將會要求您驗證一些安全信息,例如您的身份證號碼和姓名。

步驟四:相關通知

一旦您查看您的考試成績,您還可以在用戶中心頁面上找到其他相關通知。這些通知可能包括錄取通知、面試通知以及后續(xù)步驟。

請務必仔細閱讀這些通知,并按照要求做出相應的準備和行動。

步驟五:聯(lián)系方式

如果您在查詢考試成績的過程中遇到任何問題,您可以通過以下方式聯(lián)系新疆公安考試部門:

  • 電話:400-123-4567
  • 電子郵件:contact@xjgonganexam.com
  • 微信公眾號:新疆公安考試

請?zhí)峁┠男彰?、注冊賬號以及具體問題的描述,以便工作人員能夠更好地幫助您。

總結(jié)

通過以上步驟,您應該能夠成功查詢您在2016年新疆公安考試中的成績。如果您取得了優(yōu)異的成績,恭喜您!這將是您在公安事業(yè)中邁出的重要一步。

如果您未能達到您預期的結(jié)果,不要灰心??荚囍皇且淮卧u估,您仍然有機會通過其他途徑實現(xiàn)您的職業(yè)目標。

祝愿您取得您期望的成績!感謝您對公安事業(yè)的貢獻與支持!

五、2016年新疆喀什公安招警考試報名

2016年新疆喀什公安招警考試報名

追求公安夢想的小伙伴們注意了!2016年新疆喀什公安招警考試即將開始報名啦!作為國家安全與社會穩(wěn)定的守護者,公安警察是社會中不可或缺的力量。如果您對執(zhí)法工作充滿熱情,且有志于為社會貢獻力量,那么參加新疆喀什公安招警考試將是您實現(xiàn)夢想的第一步!

報名時間:

根據(jù)最新消息,2016年新疆喀什公安招警考試的報名時間為6月1日至6月30日。有意參加考試的考生需要在這個時間段內(nèi)完成報名手續(xù),逾期將不予受理。因此,希望考生們務必密切關注考試通知,并提前做好準備。

報名條件:

參加新疆喀什公安招警考試需要滿足以下基本條件:

  • 中國公民,擁有合法身份證明
  • 年滿18周歲至30周歲(特定條件下年齡可放寬),身體健康,符合公安部門規(guī)定的身體條件
  • 具備大專及以上學歷,或符合新疆自治區(qū)招警條件的其他學歷背景
  • 具備良好的品行和職業(yè)道德
  • 參加報考的考生需繳納一定的報名費用,報名費用及繳費方式詳見招警通知

對于年齡和學歷條件的放寬,通常是針對退役士兵、優(yōu)秀體育選手、未婚的獨生子女等特殊情況,具體情況可根據(jù)考試通知中的規(guī)定進行申請。希望有意參加考試的考生們在報名前務必詳細閱讀招警通知,并根據(jù)自身情況確認是否符合報名條件。

報名步驟:

參加新疆喀什公安招警考試的報名步驟如下:

  1. 前往指定網(wǎng)站下載并打印招警報名表格
  2. 填寫報名表格,并粘貼照片
  3. 準備好身份證明、學歷證明、健康證明等相關材料
  4. 將填寫完整的報名表格和材料一起提交到指定的報名地點
  5. 繳納報名費用,并領取報名號碼

備考指南:

考試前的備考工作非常重要,它決定了您在考試中的發(fā)揮。為了幫助考生們順利通過考試,以下是一些備考指南供參考:

1. 制定合理的學習計劃:

根據(jù)考試大綱和考試內(nèi)容,制定一個合理的學習計劃是備考的首要任務。合理的學習計劃可以幫助你合理分配學習時間,有針對性地進行備考。

2. 針對性復習:

根據(jù)自己的薄弱科目,加大對這些科目的復習力度??梢酝ㄟ^參加培訓班、購買相關考試資料、參加模擬考試等方式進行有針對性的復習。

3. 注意模擬考試:

模擬考試是檢驗自己備考效果的重要手段。參加模擬考試可以讓你熟悉考試的流程、提高答題速度和抓住時間節(jié)點。

4. 關注招警考試動態(tài):

隨時關注招警考試的最新動態(tài)和注意事項,根據(jù)考試通知進行準備。掌握最新的考試大綱和考試要點,確保備考方向正確。

5. 保持良好的心態(tài):

備考過程中,保持一顆積極向上的心態(tài)非常重要。相信自己的實力,不斷備考提升自己的能力,相信自己一定可以在考試中取得好成績!

新疆喀什公安招警考試對于參加考試的人員來說是一個重要的機會,通過考試可以進入公安系統(tǒng),從事為社會提供安全保障的工作。希望每一位有志于從事警察工作的考生們都能夠認真?zhèn)淇迹〉脙?yōu)異的成績。祝愿大家能夠順利通過考試,開啟屬于自己的公安之路!

六、2020年公安輔警考試面試題庫全解析

作為公安系統(tǒng)的重要組成部分,公安輔警在維護社會穩(wěn)定、保護人民群眾生命財產(chǎn)安全等方面發(fā)揮著不可或缺的作用。近年來,公安輔警的招錄工作備受關注,尤其是面試環(huán)節(jié)更是考生們關注的重點。為幫助廣大考生順利通過公安輔警面試,我們特別整理了2020年公安輔警考試面試題庫,并對其中的重點問題進行了詳細解析。

公安輔警面試常見問題解析

1. 為什么選擇成為公安輔警?

這是面試中最常見的一個問題??忌梢詮囊韵聨讉€方面進行回答:

  • 對維護社會穩(wěn)定、保護人民群眾生命財產(chǎn)安全的工作充滿熱情和責任心;
  • 希望通過自己的努力為社會做出應有貢獻,實現(xiàn)自我價值;
  • 公安輔警工作穩(wěn)定,有良好的職業(yè)發(fā)展前景。

2. 你認為公安輔警應該具備哪些素質(zhì)?

公安輔警作為執(zhí)法人員,應具備以下素質(zhì):

  • 良好的身體素質(zhì):能夠勝任日常巡邏、處置突發(fā)事件等工作;
  • 敬業(yè)精神:對工作充滿熱忱,能夠全身心投入;
  • 嚴謹作風:遵紀守法,執(zhí)法公正,不徇私情;
  • 溝通能力:善于與群眾交流,耐心解決問題。

3. 如何看待公安輔警的工作性質(zhì)?

公安輔警的工作性質(zhì)主要體現(xiàn)在以下幾個方面:

  • 執(zhí)法性:作為執(zhí)法人員,必須嚴格遵守法律法規(guī),依法執(zhí)法;
  • 服務性:為人民群眾提供安全保障,維護社會穩(wěn)定;
  • 風險性:在執(zhí)法過程中可能面臨各種危險,需要勇敢應對;
  • 責任性:肩負著維護社會秩序的重大責任,必須盡職盡責。

公安輔警面試技巧分享

除了對常見問題的回答,在公安輔警面試中還需要注意以下幾點:

  • 儀表整潔大方:穿著得體,舉止大方,給人以專業(yè)、可靠的印象;
  • 語言表達流暢:回答問題時條理清晰,語言簡練有力;
  • 態(tài)度積極主動:主動與面試官互動交流,展現(xiàn)出對工作的熱忱;
  • 舉例說明觀點:在回答問題時適當舉例說明,增

七、2023年公安輔警考試面試題目及答題技巧

作為公安輔警,承擔著維護社會治安秩序、保護人民群眾生命財產(chǎn)安全的重要職責。為了幫助廣大考生順利通過公安輔警考試,我們特別整理了2023年公安輔警考試面試題目及答題技巧,希望能為您的應試之路提供有價值的參考。

一、公安輔警考試面試題目解析

1. 為什么選擇成為公安輔警?

這是一個常見的面試問題,考官通過這個問題了解應聘者的動機和對這份工作的認知。在回答時,可以從以下幾個方面入手:

  • 對公安事業(yè)的熱愛和責任心,希望為維護社會穩(wěn)定做出自己的貢獻。
  • 看重公安輔警工作的專業(yè)性和挑戰(zhàn)性,希望通過這份工作提升自己的專業(yè)技能。
  • 認同公安輔警工作的社會價值,希望能夠為人民群眾提供更好的服務。

2. 如何看待公安輔警工作的艱辛與風險?

公安輔警工作雖然具有一定的風險,但也是一份光榮而有意義的工作。在回答這個問題時,可以從以下幾個方面進行闡述:

  • 公安輔警工作需要面對各種復雜的治安問題,需要具備較強的應變能力和危機處理能力。
  • 公安輔警工作需要長時間的值班和巡邏,工作強度較大,但這也是維護社會穩(wěn)定的必要付出。
  • 公安輔警工作存在一定的安全隱患,但只要嚴格遵守安全操作規(guī)程,做好自我保護,就能最大程度地降低風險。
  • 公安輔警工作雖然艱辛,但能為人民群眾提供優(yōu)質(zhì)的服務,這是一份值得自豪的工作。

3. 如何看待公安輔警工作的職業(yè)發(fā)展前景?

公安輔警工作是一個可以長期發(fā)展的職業(yè),具有良好的職業(yè)發(fā)展前景。在回答這個問題時,可以從以下幾個方面進行闡述:

  • 公安輔警工作是一個專業(yè)性很強的工作,通過不斷學習和培訓,可以不斷提升自己的專業(yè)技能和管理能力。
  • 公安輔警工作具有良好的晉升空間,通過不斷努力,可以晉升為警務人員或者其他相關管理崗位。
  • 公安輔警工作具有較高的社會地位和認可度,是一份受人尊重的工作。
  • 公安輔警工作具有較好的薪酬待遇和福利保障,能夠為自己和家人提供良好的生活保障。

二、公安輔警考試面試答題

八、新疆公務員公安專業(yè)科目考試時間-如何備戰(zhàn)新疆公務員公安專業(yè)科目考試

了解新疆公務員公安專業(yè)科目考試時間

作為廣大公務員考生,了解考試時間是非常重要的。對于新疆公務員公安專業(yè)的考試時間,通常是在每年的{具體時間}。在備戰(zhàn)新疆公務員公安專業(yè)科目考試時,熟悉考試時間可以幫助考生做好時間規(guī)劃,有意識地安排學習和復習計劃。

備戰(zhàn)新疆公務員公安專業(yè)科目考試

備戰(zhàn)新疆公務員公安專業(yè)科目考試,首先要對考試科目有充分的了解。該專業(yè)科目一般包括{具體科目1}、{具體科目2}、{具體科目3}等內(nèi)容??忌枰钊雽W習這些科目的理論知識,掌握相關的法律法規(guī)、公安業(yè)務知識等。此外,也需要關注一些熱點問題和實際應用。

在備戰(zhàn)過程中,合理安排復習時間也是關鍵??梢愿鶕?jù)考試時間提前制定復習計劃,由深入淺出地復習各科目,并進行重點突破,做到知識點全面覆蓋,鞏固知識點。

備戰(zhàn)新疆公務員公安專業(yè)科目考試的技巧

在備戰(zhàn)新疆公務員公安專業(yè)科目考試時,考生可以采取一些技巧提高備考效率。比如,可以多做一些模擬試題,了解考試形式和題型,找準自己的考試重點。此外,多參加一些專業(yè)培訓班或者輔導課程,向?qū)<艺埥探獯鹨苫螅部梢蕴岣邆淇夹Ч?/p>

最后,備戰(zhàn)新疆公務員公安專業(yè)科目考試,還要有一個良好的心態(tài)。要保持平常心,充分相信自己的實力,相信經(jīng)過充分準備一定能取得優(yōu)異成績。

感謝您閱讀本文,希望通過這篇文章可以助您更好地備戰(zhàn)新疆公務員公安專業(yè)科目考試。

九、在新疆考多少分可以上中國公安大學?

今年的500分?按你說的公安大學的話,全國只有一所是叫公安大學的,中國人民公安大學,其它都是xx警察學院.你的分數(shù)比較尷尬,500分,可能上不了公安大學,有點懸。去警察學院又虧了。體能測試過了么

十、mahout面試題?

之前看了Mahout官方示例 20news 的調(diào)用實現(xiàn);于是想根據(jù)示例的流程實現(xiàn)其他例子。網(wǎng)上看到了一個關于天氣適不適合打羽毛球的例子。

訓練數(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. 構造分類數(shù)據(jù)。

2. 使用Mahout工具類進行訓練,得到訓練模型。

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

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

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

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

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

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

2. 使用Mahout工具類進行訓練,得到訓練模型。

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) {

//將訓練數(shù)據(jù)轉(zhuǎn)換成 vector數(shù)據(jù)

makeTrainVector();

//產(chǎ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("文件序列化失?。?#34;);

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("生成訓練模型失??!");

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ù)構造成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());

}

}

相關資訊
熱門頻道

Copyright © 2024 招聘街 滇ICP備2024020316號-38