在新疆地區(qū),政法干警職位表涵蓋了各種職位,需要不同背景和專業(yè)技能的人才來填補(bǔ)。政法干警負(fù)責(zé)維護(hù)社會(huì)穩(wěn)定、打擊犯罪、維護(hù)社會(huì)法律秩序,是維護(hù)國(guó)家安全和社會(huì)穩(wěn)定的中堅(jiān)力量。下面是一份關(guān)于新疆政法干警職位表的詳細(xì)介紹。
警察是政法干警中最基礎(chǔ)的職位之一,他們負(fù)責(zé)維護(hù)社會(huì)治安、打擊犯罪活動(dòng)。在新疆地區(qū),警察需要具備較強(qiáng)的執(zhí)行力、溝通能力和心理素質(zhì)。他們經(jīng)常需要處理各類案件,包括刑事案件、民事案件等。
檢察官是司法機(jī)關(guān)中的重要一員,負(fù)責(zé)對(duì)涉嫌犯罪的案件進(jìn)行審查、起訴等工作。新疆地區(qū)的檢察官需要具備法律專業(yè)背景、較強(qiáng)的辨別能力和公正性。他們的工作需要嚴(yán)謹(jǐn)認(rèn)真,對(duì)法律法規(guī)要了如指掌。
法官是司法機(jī)關(guān)中的重要職位,負(fù)責(zé)審理各類案件,依法做出公正判決。在新疆地區(qū),法官需要具備扎實(shí)的法律知識(shí)、較強(qiáng)的邏輯思維能力和公正性。他們的判決關(guān)乎司法公正和社會(huì)穩(wěn)定,責(zé)任重大。
律師是為當(dāng)事人提供法律咨詢、代理訴訟等服務(wù)的專業(yè)人士。在新疆地區(qū),律師需要具備較強(qiáng)的法律知識(shí)、溝通能力和辯護(hù)技巧。他們代表當(dāng)事人參與法律程序,維護(hù)當(dāng)事人的合法權(quán)益。
法律顧問主要在各類機(jī)構(gòu)、企業(yè)等單位擔(dān)任法律事務(wù)顧問工作,負(fù)責(zé)解決單位在經(jīng)營(yíng)活動(dòng)中遇到的法律問題。在新疆地區(qū),法律顧問需要具備豐富的法律知識(shí)、靈活的思維能力和解決問題的能力。他們?yōu)閱挝惶峁┓梢庖姡瑓f(xié)助單位規(guī)避風(fēng)險(xiǎn)。
司法輔助人員包括法院助理、書記員等職位,負(fù)責(zé)法院審判活動(dòng)中的輔助工作。在新疆地區(qū),司法輔助人員需要具備熟練的文字處理能力、案件歸檔管理能力等。他們協(xié)助法官完成審判工作,保障審判效率。
綜合執(zhí)法人員是政府機(jī)關(guān)中負(fù)責(zé)執(zhí)法監(jiān)管工作的人員,如城管執(zhí)法人員、環(huán)保執(zhí)法人員等。在新疆地區(qū),綜合執(zhí)法人員需要具備執(zhí)法能力、溝通協(xié)調(diào)能力和責(zé)任心。他們執(zhí)法監(jiān)管,維護(hù)社會(huì)秩序。
新疆政法干警職位表涵蓋了多個(gè)職位,需要不同專業(yè)背景和技能的人才來填補(bǔ)。無論是從事警務(wù)工作、檢察工作還是律師事業(yè),都需要具備扎實(shí)的法律知識(shí)、較強(qiáng)的執(zhí)行力和責(zé)任心。希望有更多有志于從事政法干警工作的人士能夠?yàn)榫S護(hù)社會(huì)治安和法律秩序貢獻(xiàn)自己的力量。
2016年,新疆政法系統(tǒng)的干警職位表如下:
新疆政法系統(tǒng)的干警職位具有以下特點(diǎn):
根據(jù)2016年新疆政法系統(tǒng)的干警職位表,可以看出各個(gè)職位的工作內(nèi)容和要求有所不同:
公安干警主要從事社會(huì)治安工作,需要經(jīng)常應(yīng)對(duì)各種突發(fā)情況,具有較強(qiáng)的應(yīng)變能力和執(zhí)行力。同時(shí),對(duì)于公安干警來說,身體素質(zhì)也是必不可少的條件。
檢察干警負(fù)責(zé)偵辦和審理案件,需要具有嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和扎實(shí)的法律知識(shí)。對(duì)于檢察干警來說,公正、嚴(yán)謹(jǐn)是最基本的職業(yè)素養(yǎng)。
法院干警主要負(fù)責(zé)審理案件,需要具備較強(qiáng)的法律專業(yè)知識(shí)和判斷能力。法院干警需要保持公正、客觀的態(tài)度,判案要嚴(yán)謹(jǐn)、公正。
司法所干警是基層法律服務(wù)的重要力量,需要具備較強(qiáng)的溝通能力和群眾服務(wù)意識(shí)。同時(shí),對(duì)于司法所干警來說,需要具備比較全面的法律知識(shí)和實(shí)踐經(jīng)驗(yàn)。
2016年新疆政法系統(tǒng)的干警職位表體現(xiàn)了各個(gè)職位的特點(diǎn)和要求,希望對(duì)于有意投身政法系統(tǒng)的人員有所幫助。每個(gè)職位都有其獨(dú)特之處,具體選擇應(yīng)根據(jù)個(gè)人興趣和專業(yè)特長(zhǎng)做出合適的決策。
現(xiàn)任新疆生產(chǎn)建設(shè)兵團(tuán)黨委常委、副政委、政法委書記: 張文全
新疆政法學(xué)院還是不錯(cuò)的
新疆政法學(xué)院(Xinjiang Institute Of Political Science And Law),由新疆生產(chǎn)建設(shè)兵團(tuán)舉辦并管理的公辦普通本科高等學(xué)校。于2021年1月,經(jīng)教育部批準(zhǔn),石河子大學(xué)科技學(xué)院和兵團(tuán)警官高等專科學(xué)校合并轉(zhuǎn)設(shè)而來。學(xué)校辦學(xué)地點(diǎn)為新疆圖木舒克市前海東街52號(hào)[1][2]。
學(xué)校規(guī)劃建設(shè)用地2600畝,總建筑面積約39.69萬平方米。學(xué)校以本科教育為主,專本結(jié)合。學(xué)院設(shè)有本科專業(yè)17個(gè),以經(jīng)濟(jì)學(xué)、管理學(xué)、工學(xué)為主,專科專業(yè)13個(gè),以法學(xué)、公安學(xué)、文學(xué)為主。[2]
輔警面試是招聘輔警人員的一個(gè)重要環(huán)節(jié),通過面試可以評(píng)估申請(qǐng)人的綜合素質(zhì)和應(yīng)對(duì)能力。以下是一些常見的新疆輔警面試題:
以上題目只是一部分,實(shí)際面試中還會(huì)有其他一些與輔警工作相關(guān)的問題。考生需要準(zhǔn)備充分,對(duì)輔警這個(gè)職位有一定的了解和認(rèn)識(shí),同時(shí)也要能夠靈活應(yīng)對(duì)各種情況。
面試是一個(gè)展示自己的機(jī)會(huì),無論是在回答問題還是在表達(dá)觀點(diǎn)上都需要展現(xiàn)自己的能力和素養(yǎng)。以下是一些新疆輔警面試的攻略:
以上是一些建議,希望能幫助考生更好地準(zhǔn)備新疆輔警面試。通過充分的準(zhǔn)備和自信心的展示,相信每位申請(qǐng)人都有機(jī)會(huì)成為新疆地區(qū)的一名優(yōu)秀輔警。
最后,感謝您閱讀完這篇文章,希望對(duì)您準(zhǔn)備新疆輔警面試有所幫助!
新疆政法學(xué)院是本科。新疆政法學(xué)院,簡(jiǎn)稱“新政”,是由新疆生產(chǎn)建設(shè)兵團(tuán)舉辦并管理的公辦普通本科高等學(xué)校,新疆生產(chǎn)建設(shè)兵團(tuán)按正廳級(jí)管理的公益二類事業(yè)單位,辦學(xué)地址為新疆維吾爾自治區(qū)圖木舒克市。
新疆政法學(xué)院介紹
新疆政法學(xué)院坐落于絲路重鎮(zhèn)、屯墾新城圖木舒克市,地處喀什、阿克蘇、克州、和田四地州中心地帶,是維護(hù)新疆社會(huì)穩(wěn)定和長(zhǎng)治久安的一支重要力量,承擔(dān)著為兵團(tuán)、新疆乃至國(guó)家培養(yǎng)優(yōu)秀的法治人才、民族團(tuán)結(jié)人才和經(jīng)濟(jì)社會(huì)發(fā)展人才的國(guó)家職責(zé)使命。
2021年1月,教育部批準(zhǔn)設(shè)立新疆政法學(xué)院,是一所由新疆生產(chǎn)建設(shè)兵團(tuán)舉辦并管理的公辦普通本科高等學(xué)校。2021年10月1日,新疆政法學(xué)院舉行揭牌儀式,宣布正式成立。
新疆政法學(xué)院在黨中央的重視關(guān)懷下,在教育部、兵團(tuán)黨委的堅(jiān)強(qiáng)領(lǐng)導(dǎo)下,堅(jiān)持以習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想為指導(dǎo),全面貫徹黨的教育方針,落實(shí)立德樹人的根本任務(wù),聚焦新時(shí)代黨的治疆方略和新疆工作總目標(biāo),聚焦兵團(tuán)職責(zé)使命,以胡楊精神育人、為興疆固邊服務(wù),以新時(shí)代拓荒牛的精神創(chuàng)建“高起點(diǎn)、高水平、有特色”一流政法院校。
校園環(huán)境
學(xué)校擁有大型標(biāo)準(zhǔn)化餐廳,餐廳設(shè)施一流,伙食質(zhì)優(yōu)價(jià)廉,可滿足師生日常需求。具有高標(biāo)準(zhǔn)化學(xué)生宿舍,實(shí)行公寓化管理,分四人間和六人間,每個(gè)房間都有獨(dú)立衛(wèi)浴,24小時(shí)提供熱水,每層樓還設(shè)置了開水間、洗衣間、公共衛(wèi)生間,為學(xué)生日常生活提供便捷服務(wù)。籃排球場(chǎng)、田徑場(chǎng)、足球場(chǎng)等綜合性戶外教學(xué)場(chǎng)地一應(yīng)俱全。校園無線網(wǎng)免費(fèi)全覆蓋。
院系專業(yè)
截止2022年11月,新疆政法學(xué)院下設(shè)15個(gè)黨政管理機(jī)構(gòu)、7個(gè)二級(jí)學(xué)院、3個(gè)教輔機(jī)構(gòu)和2個(gè)群團(tuán)組織。已設(shè)立法學(xué)院、司法警官學(xué)院、信息網(wǎng)絡(luò)安全學(xué)院、經(jīng)濟(jì)管理學(xué)院、人文藝術(shù)學(xué)院、基礎(chǔ)教學(xué)部6個(gè)教學(xué)單位、開設(shè)有法學(xué)、監(jiān)獄學(xué)、刑事偵查技術(shù)、計(jì)算機(jī)科學(xué)與技術(shù)、工商管理、國(guó)際經(jīng)濟(jì)與貿(mào)易、漢語言文學(xué)、英語、美術(shù)學(xué)等25個(gè)專業(yè)。
本科專業(yè)
法學(xué)、計(jì)算機(jī)科學(xué)與技術(shù)、國(guó)際經(jīng)濟(jì)與貿(mào)易、工商管理、公共事業(yè)管理、漢語言文學(xué)、英語等、學(xué)前教育、財(cái)務(wù)管理、美術(shù)學(xué)、監(jiān)獄學(xué)、社區(qū)矯正。
專科專業(yè)
治安管理、政治安全保衛(wèi)、刑事執(zhí)行、刑事偵查技術(shù)、社區(qū)矯正、法律事務(wù)、司法警務(wù)、罪犯心理測(cè)量與矯正技術(shù)、行政執(zhí)行、法律文秘民事執(zhí)行。
新疆大學(xué)的好考,因?yàn)榈靥幮陆。芏嗳瞬辉敢饪寄牵?jìng)爭(zhēng)相對(duì)小些,西北政法大學(xué)在西安,西北的人都想考那,而且內(nèi)地的家在西安的都會(huì)往回考,競(jìng)爭(zhēng)大而且西北政法大的某些專業(yè)確實(shí)比新大的好,總體上也是
新疆政法學(xué)院是由新疆生產(chǎn)建設(shè)兵團(tuán)舉辦并管理的公辦普通本科高等學(xué)校。2021年1月,經(jīng)教育部批準(zhǔn),石河子大學(xué)科技學(xué)院和兵團(tuán)警官高等專科學(xué)校合并轉(zhuǎn)設(shè)為新疆政法學(xué)院,學(xué)校辦學(xué)地點(diǎn)為圖木舒克市前海東街52號(hào)。
提這個(gè)問題的人應(yīng)該不太了解政法類院校,上政可以單列了,其他幾個(gè)相差太大了
之前看了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的工具類實(shí)現(xiàn)分類。
基本思想:
1. 構(gòu)造分類數(shù)據(jù)。
2. 使用Mahout工具類進(jìn)行訓(xùn)練,得到訓(xùn)練模型。
3。將要檢測(cè)數(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。將要檢測(cè)數(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";
/*
* 測(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);
}
// 利用貝葉斯算法開始分類,并提取得分最好的分類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è)所屬類別是:"+getCheckResult());
}
}