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

發(fā)散思維條理性差

時間:2025-02-06 22:29 人氣:0 編輯:招聘街

一、發(fā)散思維條理性差

發(fā)散思維是指一種非線性的思考方式,能夠幫助個人或團(tuán)隊從不同的角度出發(fā),拓展思路,尋找創(chuàng)新點。在現(xiàn)代社會中,發(fā)散思維被認(rèn)為是培養(yǎng)創(chuàng)新能力的重要手段之一,因為它可以打破傳統(tǒng)的思維定式,帶來新的視角和解決問題的方法。

然而,要發(fā)揮發(fā)散思維的作用,一定程度上需要一定的條理性。所謂條理性,是指思維過程具有邏輯性、連貫性和系統(tǒng)性,確保想法不是孤立存在的,而是有機(jī)地連接在一起,構(gòu)成完整的思維框架。

發(fā)散思維與條理性的關(guān)系

發(fā)散思維和條理性并不矛盾,相反,二者可以相互促進(jìn)、相互補(bǔ)充。在創(chuàng)造性思維過程中,發(fā)散思維可以幫助人們跳出固有的思維模式,從不同的角度探索問題,產(chǎn)生新的觀點和想法。

而條理性則可以幫助人們將這些新的想法有機(jī)地連接在一起,形成一個完整的邏輯鏈條,使得創(chuàng)新不再停留在零散的點子,而是能夠轉(zhuǎn)化為可行的解決方案。

如何提高發(fā)散思維的條理性

要提高發(fā)散思維的條理性,首先需要培養(yǎng)系統(tǒng)思維能力。系統(tǒng)思維能夠幫助人們將看似雜亂無章的信息有條理地整合和梳理,找出彼此之間的內(nèi)在聯(lián)系,形成更為全面和深入的理解。

  • 通過學(xué)習(xí)系統(tǒng)思維的工具和方法,比如因果圖、系統(tǒng)動力學(xué)等,可以幫助個人在處理復(fù)雜問題時更加清晰地思考和分析。
  • 建立邏輯思維的基礎(chǔ)。邏輯思維是保障思維過程合乎條理的基礎(chǔ),它可以幫助人們建立嚴(yán)密的思維鏈條,確保各個環(huán)節(jié)之間的銜接和協(xié)調(diào)。

其次,需要培養(yǎng)歸納與演繹能力。歸納是從個別到普遍的思維過程,能夠幫助人們從具體的實例中總結(jié)出普遍的規(guī)律和原則;而演繹則是從普遍到個別的思維過程,可以幫助人們根據(jù)已有規(guī)律推斷出未知情況的結(jié)論。

結(jié)語

在當(dāng)今競爭激烈的社會中,發(fā)散思維和條理性都是非常重要的思維方式和素質(zhì)。只有將二者有機(jī)結(jié)合,才能更好地應(yīng)對各種復(fù)雜問題和挑戰(zhàn),提高自身的創(chuàng)新能力和解決問題的能力。

二、條理性什么意思?

條理性是有規(guī)矩、有邏輯、不混亂的性質(zhì)。

條理泛指:事物的規(guī)矩性,條條是理(講究章法,法則。),條條是道(講道理)。

工作、做事要有條理性,這是我們經(jīng)常聽到的話語,它是工作、做事的一種狀態(tài),有條理性會讓我們更好地進(jìn)行工作,更好地完成工作,會讓事情變得清晰明了、不混亂。

條理性是種思維方式,利于更好工作、更好學(xué)習(xí)。

三、條理性強(qiáng)的特點?

條理性強(qiáng)是做事有邏輯思維,有步驟,有規(guī)矩、不混亂的性質(zhì)。條理泛指:事物的規(guī)矩性,條條是理(講究章法法則)、條條是道(講道理)。

工作、做事要有條理性,這是我們經(jīng)常聽到的話語,它是工作、做事的一種狀態(tài),有條理性會讓我們更好地進(jìn)行工作,更好地完成工作,會讓事情變得清晰明了、不混亂。條理性是種思維方式,利于更好工作、更好學(xué)習(xí)。

四、做事缺乏條理性的句子?

1.我將現(xiàn)有的一切做好,若還是被人誤解,我只能說不好意思,我盡力了。以后做事絕不拖拉了!

2.我做事真是挺沒有效率的,沒什么時間概念,沒什么條理性,總是拖拖拉拉,不能合理安排時間,分不清主次。

3.心情不好就想做事拖拖拉拉,也沒人理我。

五、加強(qiáng)條理性提高寫作水平?

語言表達(dá)能力是現(xiàn)代人才必備的基本素質(zhì)之一。在現(xiàn)代社會,由于經(jīng)濟(jì)的迅猛發(fā)展,人們之間的交往日益頻繁,語言表達(dá)能力的重要性也日益增強(qiáng),好口才越來越被認(rèn)為是現(xiàn)代人所應(yīng)具有的必備能力。

在人們的日常交往中,具有口才天賦的人能把平淡的話題講得非常吸引人,而口笨嘴拙的人就算他講的話題內(nèi)容很好,人們聽起來也是索然無味。有些建議,口才好的人一說就通過了,而口才不好的人即使說很多次還是無法獲得通過。

六、條理性的培養(yǎng)方法和技巧?

1.堅持物歸原處

“物歸原處”看似簡單,但是能夠做到,也不是一件簡單的事情,將這個動作作為一種習(xí)慣堅持下來就更不簡單了。養(yǎng)成物品用后放回原處的習(xí)慣,不僅可以讓身邊的環(huán)境整潔有序,還能方便自己和家人對物品的使用。

2.多動手鍛煉

有些事情其實很簡單,并不是自己不會做、做不來,而是因為懶惰或依賴思想讓我們失去了鍛煉的機(jī)會。不要事事依靠父母,自己的事情最好自己做,像整理自己的書包、床鋪等,慢慢來,從不會到會、從亂無頭緒到井然有序,這是個動手鍛煉的過程。

3.制訂主次有序的計劃

按照急切、重要、次要這三個層次,對要做的事情進(jìn)行有效分類,再按照主次有序的原則將事情記到本子上,以達(dá)到對自己最好的提醒效果。

4.合理安排時間

把每天起床、睡覺、做游戲、看動畫片、學(xué)習(xí)及家務(wù)勞動的時間都固定下來。什么時候該做什么、花多長時間去做、剩余的時間做什么、未能完成的工作什么時候做,都要有合理的安排。只有合理安排好時間,才能使學(xué)習(xí)和生活更有條理、更加順利。

5.事后檢查

如果養(yǎng)成良好的事后檢查習(xí)慣,那么就可以彌補(bǔ)因為粗心造成的錯誤和疏漏,然后進(jìn)行修改。這也是培養(yǎng)自己負(fù)責(zé)、獨立自主精神的方式之

6.向長輩學(xué)習(xí)

平時多觀察長輩是如何安排生活的,比如看媽媽洗衣服,都是先洗淺色的,再洗深色的,并且還會把容易掉色的衣服挑揀出來單洗等,這就是條理性。

七、思維很發(fā)散沒有條理性

如何培養(yǎng)思維的條理性

如何培養(yǎng)思維的條理性

在當(dāng)今信息爆炸的時代,我們經(jīng)常感到思維很發(fā)散沒有條理性。這種情況不僅在日常生活中存在,更在工作中帶來了一定困擾。如何培養(yǎng)思維的條理性成為了值得探討的話題。本文將為您分享一些有效的方法和技巧,幫助您提高思維的條理性。

1. 制定計劃和目標(biāo)

制定計劃和目標(biāo)是培養(yǎng)思維條理性的第一步。缺乏思維條理性往往源于沒有清晰的目標(biāo)和計劃。通過設(shè)定明確的目標(biāo),您可以更有條理地思考和行動??梢允褂?strong>筆記本或手機(jī)應(yīng)用記錄下自己的計劃和目標(biāo),并定期回顧和更新。

2. 將思維整理成框架

將思維整理成框架有助于提高思維的條理性??梢允褂?strong>思維導(dǎo)圖工具,將復(fù)雜的思維內(nèi)容組織成層次清晰的結(jié)構(gòu)。思維導(dǎo)圖可以幫助您將各個思維點連接起來,并更清楚地展示思維的邏輯關(guān)系。

3. 培養(yǎng)邏輯思維

缺乏邏輯思維是導(dǎo)致思維發(fā)散沒有條理性的一個主要原因。邏輯思維是指根據(jù)理性推理和相關(guān)證據(jù)對事物進(jìn)行分析和判斷的能力??梢酝ㄟ^閱讀哲學(xué)、邏輯學(xué)相關(guān)書籍,參加邏輯思維培訓(xùn)班等方式來培養(yǎng)自己的邏輯思維能力。

4. 學(xué)會分類和歸納

分類和歸納是思維條理性的關(guān)鍵。當(dāng)我們面對大量的信息和想法時,學(xué)會分類和歸納可以幫助我們更好地理清思維的脈絡(luò)。可以嘗試使用總結(jié)思維的方式,將相似的思維點進(jìn)行分類,并找出彼此之間的共性和區(qū)別。

5. 練習(xí)集中注意力

集中注意力是思維條理性的基礎(chǔ)。如果我們無法集中注意力,思維就會容易偏離主題,導(dǎo)致思維發(fā)散??梢酝ㄟ^冥想、專注訓(xùn)練等練習(xí),提高自己的注意力水平。同時,也要注意減少干擾因素,創(chuàng)造良好的學(xué)習(xí)和工作環(huán)境。

6. 培養(yǎng)問題解決能力

缺乏問題解決能力是思維發(fā)散沒有條理性的另一個原因。當(dāng)我們遇到問題時,往往沒有條理地進(jìn)行思考和分析。培養(yǎng)問題解決能力可以幫助我們更好地展開思維和找到解決問題的路徑。可以參加問題解決訓(xùn)練營、閱讀相關(guān)書籍等方式來提高自己的問題解決能力。

7. 規(guī)劃時間和任務(wù)

規(guī)劃時間和任務(wù)是提高思維條理性的有效方法之一。缺乏時間規(guī)劃和任務(wù)安排往往導(dǎo)致我們思維的無序和混亂??梢允褂?strong>時間管理工具,自己的任務(wù)進(jìn)行分類和優(yōu)先級排序,并合理安排時間。

8. 反思和調(diào)整

反思和調(diào)整是不斷提高思維條理性的關(guān)鍵。在日常生活中,我們需要不斷地反思自己的思維方式和行為,發(fā)現(xiàn)問題并加以調(diào)整??梢远ㄆ?strong>回顧和總結(jié)自己的思維,并及時做出改變。

9. 尋求他人幫助

有時候,我們對自己的思維問題可能無法做出客觀的評判。這時,可以尋求他人的幫助和意見。他人可能幫助我們發(fā)現(xiàn)自己的盲點和不足,給出有價值的建議。

通過以上這些方法和技巧,相信您可以逐漸培養(yǎng)自己思維的條理性。請記住,培養(yǎng)思維的條理性需要持之以恒的努力和實踐。希望您在不斷提高思維條理性的過程中取得好的效果。

八、缺乏條理性思維是什么原因?

如果思維條理性,迷糊狀態(tài)不好的話,無非就是意識薄弱環(huán)節(jié)好多,知識內(nèi)容不夠靈活豐富?。?/p>

意識無非就是意思識得,假如好多事物的東西意思不懂,即是知道識得的內(nèi)容淡薄單一不夠靈活全面,自然而然就思維邏輯推理能力弱點多多吧?

好多的事物關(guān)聯(lián)性需要一個個聯(lián)系點,假如不能夠打通這些關(guān)鍵的聯(lián)系點,那么思維邏輯推理能力受阻則弄不明白??!

當(dāng)然這里面是有先決條件:經(jīng)常性往某個『意識/知識』去思考問題?。∥ㄓ腥绱撕唵蔚膯栴}思維邏輯推理能力慢慢變得強(qiáng)大起來了。

至于文化思維范疇不講了,大同小異一樣存在普遍性的道理。

九、孩子?xùn)|西亂放沒條理性怎么解決?

1、這些亂放東西的孩子在生活中沒有自己的良好習(xí)慣,就導(dǎo)致做事非常的雜亂無章,這時候作為父母一定要對孩子的這些行為進(jìn)行約束,并且通過自身的一些行為來做出良好的榜樣,家長要做好榜樣作用,注意言傳身教。孩子的很多行為都是模仿我們大人的,如果大人在孩子面前沒有整理東西的習(xí)慣,自己都是糊里糊涂的亂放,卻要求孩子一定要做到整齊,那孩子會因為覺得不公平而生起逆反心理。所以我們自己也要養(yǎng)成把用過的東西及時歸位的習(xí)慣。

  2、在這個時候也不要對孩子的一些行為進(jìn)行大聲的斥責(zé),而是要適當(dāng)?shù)慕o予鼓勵,可以在做不好的時候非常耐心的給予指導(dǎo),讓孩子自己對學(xué)習(xí)用具和一些玩具進(jìn)行整理,尤其是一些生活中的玩具,可以教給孩子按照各種類型加以區(qū)分,這樣可以更加有規(guī)律。

  3、可以按照一些食物零食和玩具等進(jìn)行不同的化分,裝到箱子里面或者一些包裝袋里。教給孩子這些玩具是色彩繽紛的毛絨玩具,那么就可以放倒一個區(qū)域里面,而另一些小零食要單獨的放到另一個地方,多帶孩子去一些超市,對里面的物品擺放進(jìn)行學(xué)習(xí),這樣孩子就會認(rèn)為整理東西,是一件非常有趣的事情。

十、mahout面試題?

之前看了Mahout官方示例 20news 的調(diào)用實現(xiàn);于是想根據(jù)示例的流程實現(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的工具類實現(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)行分類。

接下來貼下我的代碼實現(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)換成向量失??!");

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初始化時報錯。。。。");

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());

}

}

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

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