數據挖掘-WAKA 實驗 報告
一、A WEKA 軟件 簡介
在我所從事的證券行業中,存在著海量的信息和數據,但是這些數據日常知識發揮了一小部分的作用,其包含了大量的隱性的信息并不為所用,但是卻可以為一些公司的決策和對客戶的服務提供不小的價值。因此,我們可以通過一些數據采集、數據挖掘來獲得潛在的有價值的信息。
數據挖掘就是通過分析存在于數據庫里的數據來解決問題。在數據挖掘中計算機以電子化的形式存儲數據,并且能自動的查詢數據,通過關聯規則、分類于回歸、聚類分析等算法對數據進行一系列的處理,尋找和描述數據里的結構模式,進而挖掘出潛在的有用的信息。數據挖掘就是通過分析存在于數據庫里的數據來解決問題。WEKA的出現讓我們把數據挖掘無需編程即可輕松搞定。
WEKA 是由新西蘭懷卡托大學開發的開源項目,全名是懷卡托智能分析環境(Waikato Environment for Knowledge Analysis)。WEKA 是由 JAVA編寫的,它的源代碼可通過 http://www.cs.waikato.ac.nz/ml/WEKA 得到,并且限制在 GBU 通用公眾證書的條件下發布,可以運行在所有的操作系統中。是一款免費的,非商業化的機器學習以及數據挖掘軟件 WEKA 作為一個公開的數據挖掘工作平臺,集合了大量能承擔數據挖掘任務的機器學習算法,包括對數據進行預處理,分類,回歸、聚類、關聯規則以及在新的交互式界面上的可視化。如果想自己實現數據挖掘算法的話,可以看一看 WEKA 的接口文檔。在 WEKA 中集成自己的算法甚至借鑒它的方法自己實現可視化工具并不是件很困難的事情。
安裝 WEKA 也十分簡單,首相要下載安裝 JDK 環境 ,JDK 在這個頁面可以找到它的下載 http://java.sun.com/javase/downloads/index.jsp。點擊JDK 6 之后的 Download 按鈕,轉到下載頁面。選擇 Accepct,過一會兒頁面會刷新。我們需要的是這個 Windows Offline Installation, Multi-language jdk-6-windows-i586.exe 53.16 MB ,點擊它下載。也可以右鍵點擊它上面的鏈接,在 Flashget 等工具中下載。安裝它和一般軟件沒什么區別。不過中間會中斷一下提示你安裝 JRE,一并裝上即可。之后就是安裝 WEKA 軟件,這個在網上很多地方都有。同樣簡單地按默認方法安裝后即可使用。
點擊啟動運行 WEKA 軟件后,我門發現 WEKA 存儲數據的格式是 ARFF(Attribute-Relation File Format)文件,這是一種 ASCII 文本文件。我們如圖 1 通過軟件的 Tools 菜單進入 ArffViewer 可以在安裝目錄下查看軟件自帶的幾個 ARFF 文件。
圖 1
圖 2
如圖 2,打開文件后選擇 data 自目錄下的任意一張表,我們都可以看到如圖 3所示的二維表格存儲在如下的 ARFF 文件中。這也就是 WEKA 自帶的“contact-lenses.arff”文件。這里我們要介紹一下 WEKA 中的術語。表格里的一個橫行稱作一個實例(Instance),相當于統計學中的一個樣本,或者數據庫中的一條記錄。豎行稱作一個屬性(Attrbute),相當于統計學中的一個變量,或者數據庫中的一個字段。這樣一個表格,或者叫數據集,在 WEKA 看來,呈現了屬性之間的一種關系(Relation)。圖 1 中一共有 22 個實例,5 個屬性,關系名稱為“contact-lenses”。
除了 ARFF 格式,WEKA 還支持另外一種常見格式,CSV 格式。CSV 同樣是一種二進制保存的文本格式,我們可以在 WEKA 中直接打開 CSV 格式的文件,并保存為 ARFF 格式。這樣就給我提供了把常見的數據格式轉換為 ARFF 格式的方法,如對于 Excel 文件,我們 可以通過把每張表保存為 CSV 格式,進而保存為 ARFF 格式,與此同時,我們可以利用 filter 對數據進行相應的預處理。而對于 Matlab 格式的數據,我們可以通過命令 csvwrite 把數據轉化成 CSV 格式的文件,進而轉化為 ARFF 格式文件。對于海量數據,一般保存在數據庫中,WEKA同時支持 JDBC 訪問數據庫。
圖 3
打開WEKA,首先出現一個命令行窗口。原以為要在這個命令行下寫java語句呢,不過稍等一秒,WEKA GUI Chooser的出現了。這是一個很簡單的窗體,提供四個按鈕:Simple CLI、Explorer、Experimenter、KnowledgeFlow。Simple CLI應該是一個使用命令行的界面,有點像SAS的編輯器;Explorer是則是視窗模式下的數據挖掘工具;Experimenter和 KnowledgeFlow的使用有待進一步摸索....
圖4 (1 )
Explorer
使用 WEKA 探索數據的環境。在這個環境中,WEKA提供了數據的預處理,數據格式的轉化(從CSV格式到ARFF格式的轉化),各種數據挖掘算法(包括分類與回歸算法,聚類算法,關聯規則等),并提供了結果的可視化工具。對于一個數據集,通過簡單的數據的預處理,并對數據挖掘算法進行選擇(在WEKA3.5版本之后,加入了算法的過濾功能,可以過濾掉那些不適合當前數據集類型的算法),接著通過窗口界面對算法的參數進行配置。可視化工具分為對數據集的可視化和對部分結果的可視化,并且我們可以通過屬性選擇工具(Select Attribute),通過搜索數據集中所有屬性的可能組合,找出預測效果最好的那一組屬性。
Explorer是普通用戶最常用的一個界面。用戶可以從ARFF文件(Weka使用的一種文本文件格式)、網頁或數據庫中讀取數據集。打開數據文件后,可以選擇算法對數據進行預處理。這時窗體上給出了這個數據集的一些基本特征,如含有多少屬性,各屬性的一些簡單統計量,右下方還給出一些可視化效果圖。這些都是比較直觀的分析,如果想發現隱藏在數據集背后的關系,還需要選擇Weka
提供的各種分類、聚類或關聯規則的算法。所有設置完成后,點擊Start按鈕,就可以安心地等待weka帶來最終的結果。哪些結果是真正有用的還要靠經驗來判斷。
(2 )Experimenter
運行算法試驗、管理算法方案之間的統計檢驗的環境。Experiment環境可以讓用戶創建,運行,修改和分析算法試驗,這也許比單獨的分析各個算法更加方便。例如,用戶可創建一次試驗,在一系列數據集上運行多個算法(schemes),然后分析結果以判斷是否某個算法比其他算法(在統計意義下)更好。
Explorermenter主要包括簡單模式,復雜模式和遠程模式。復雜模式是對簡單模式的基本功能的擴充,而遠程模式允許我們通過分布式的方法進行實驗。
就功能模塊而言,分為設置模塊,運行模塊和分析模塊。在設置模塊中我們可以自定義實驗,加入多個算法和多方的源數據(支持ARFF文件,CSV文件和數據庫),在運行模塊中我們可以運行我們的實驗,而在分析模塊中,我們可以分析各種算法的的準確性,并提供了各種統計方法對結果進行檢驗比較。
值得一提的是,我們可以把實驗的各種參數,包括算法,數據集等,保存以方便下一次相同實驗的進行;也可以把各種算法保存,方便應用在不同的數據集上;如果數據集來源于數據庫的話,實驗在過程中可以中止并繼續(原因可以是被中止或者是擴展了實驗),這樣就不用重新運行那些已實驗過的算法/數據集祝賀,而僅計算還沒有被實驗的那些。
(2 )KnowledgeFlow
Explorer的一個不足在于,當用戶打開一個數據集時,所有數據將全部被讀入到主存當中,隨著任務規模的增大,普通配置的計算機很難滿足要求。Knowledge Flow提供了一個用于處理大型數據集的遞增算法,專門處理這一問題。這個環境本質上和 Explorer所支持的功能是一樣的,但是它有一個可以拖放的界面。它有一個優勢,就是支持增量學習(incremental learning)。
KnowledgeFlow 為WEKA 提供了一個"數據流"形式的界面。用戶可以從一個工具欄中選擇組件,把它們放置在面板上并按一定的順序連接起來,這樣組成一個"知識流"(knowledge flow)來處理和分析數據。目前,所有的WEKA 分類器(classifier)、篩選器(filter)、聚類器(clusterer)、載入器(loader)、保
存器(saver),以及一些其他的功能可以在KnowledgeFlow 中使用。
KnowledgeFlow 可以使用增量模式(incrementally)或者批量模式(inbatches)來處理數據(Explorer 只能使用批量模式)。當然對數據進行增量學習要求分類器能夠根據各實例逐個逐個的更新.現在WEKA 中有五個分類器能夠增量地處理數據:NaiveBayesUpdateable,IB1,IBk,LWR(局部加權回歸)。還有一個meta 分類器RacedIncrementalLogitBoost 可以使用任意基于回歸的學習器來增量地學習離散的分類任務。
(4 )SimpleCLI 提供了一個簡單的命令行界面,能通過鍵入文本命令的方式來實現其他三個用戶界面所提供的所有功能,從而可以在沒有自帶命令行的操作系統中直接執行 WEKA 命令。
使用命令行有兩個好處:一個是可以把模型保存下來,這樣有新的待預測數據出現時,不用每次重新建模,直接應用保存好的模型即可。另一個是對預測結果給出了置信度,我們可以有選擇的采納預測結果,例如,只考慮那些置信度在85%以上的結果。
二、實驗案例介紹
本文用WEKA 軟件作為工具,結合券商的基金某一個時段交易業務數據進行分析。實驗的數據是一個交易周的基金交易業務數據。該表含有date(日期)、fund_code(基金代碼)、fund_name(基金名稱)、company_code(基金公司代碼)、company(基金公司名稱)、business_code(業務代碼)、business_name(業務名稱)、shares(基金份額)、balance(資金金額)、fares(手續費)、fares_type(手續費類型)、internet_shares(網上交易基金份額)、internet_balance(網上交易資金金額)、remark(備注)等字段,通過實驗,希望能找出客戶的基金交易分布情況。
該數據的數據屬性如下:
? date (numeric),交易發生日期; ? fund_code (numeric),基金代碼; ? fund_name (character),基金名稱; ? company_code (numeric),用于報送的基金公司代碼;
? company (character),所屬的基金公司; ? business_code (numeric) ,交易業務代碼;
? business_name (character),交易業務名稱; ? shares (numeric),基金交易份額; ? balance (numeric),資金交易金額; ? fares (numeric),交易手續費; ? fares_type(enum),手續費類型,取值范圍“全額結算”/“凈額結算”; ? internet_shares (numeric),網上交易基金份額; ? internet_balance (numeric) ,網上交易資金金額; ? remark(character),備注; 三、數據分析
我們給出一個 CSV 文件的例子(Fund-data.csv)。用 UltraEdit 打開它可以看到,這種格式也是一種逗號分割數據的文本文件,儲存了一個二維表格。
Excel 的 XLS 文件可以讓多個二維表格放到不同的工作表(Sheet)中,我們只能把每個工作表存成不同的 CSV 文件。打開一個 XLS 文件并切換到需要轉換的工作表,另存為 CSV 類型,點“確定”、“是”忽略提示即可完成操作。
需要注意的是,Matllab 給出的 CSV 文件往往沒有屬性名(Excel 給出的也有可能沒有)。而 WEKA 必須從 CSV 文件的第一行讀取屬性名,否則就會把第一行的各屬性值讀成變量名。因此我們對于 Matllab 給出的 CSV 文件需要用 UltraEdit 打開,手工添加一行屬性名。注意屬性名的個數要跟數據屬性的個數一致,仍用逗號隔開。
1 1 、 .csv - - > .arff
將 CSV 轉換為 ARFF 最迅捷的辦法是使用 WEKA 所帶的命令行工具。
運行 WEKA 的主程序,出現 GUI 后可以點擊下方按鈕進入相應的模塊。我們點擊進入“Simple CLI”模塊提供的命令行功能。由于 weka 暫不支持中文輸入,所以挑選了在 D 盤下進行轉換,在新窗口的最下方(上方是不能寫字的)輸入框寫上
java weka.core.converters.CSVLoader D:/Fund-data.csv > D:/Fund-data.csv.arff
即可完成轉換,生成文件“D:/Fund-data.csv.arff”。見下圖 5:
圖 5
進入“Exploer”模塊,從上方的按鈕中打開 CSV 文件然后另存為 ARFF文件亦可。我們應該注意到,“Exploer”還提供了很多功能,實際上可以說這是 WEKA 使用最多的模塊。現在我們先來熟悉它的界面,然后利用它對數據進行預處理。界面展現見下圖 6:
圖中顯示的是使用“Exploer”打開“Fund-data.csv.csv”的情況。
圖 6
2 2 、預處理
通常對于 WEKA 來說并不支持中文,所以我們將一些涉及中文的字段刪除。勾選屬性“fund_name”、“company”、“business_name”、“remark”,并點擊“Remove”。將新的數據集保存一次。其中“fares_type”只有 2個取值:全額結算和凈額結算。這時我們在 UltraEdit 中直接修改 ARFF 文件,把 @attribute fares_type {全額結算,凈額結算} 改為 @attribute fares_type {Full,Net} @attribute date {numeric} 改為 @attribut
date {2009/8/24,2009/8/25,2009/8/26,2009/8/27,2009/8/28 } 就可以了。
在“Explorer”中重新打開“fund-data.arff”,選中“date”和“fund_type”,看到屬性已經變成“Nominal”了。
WEKA 支 持 的 <datatype> 有 四 種 , 分 別 是 :
numeric-- 數 值 型 ,<nominal-specification>--分類(nominal)型,string--字符串型,date [<date-format>]--日期和時間型
而本表只有 nemeric 和 nominal 兩種類型,數值屬性(nemeric)
數值型屬性可以是整數或者實數,但 WEKA 把它們都當作實數看待。分類屬性(nominal)
分類屬性由<nominal-specification>列出一系列可能的類別名稱并放在花括號中:{<nominal- name1>, <nominal-name2>,
...} 。數據集中該屬性的值只能是其中一種類別。如果類別名稱帶有空格,仍需要將之放入引號中。
“shares”,“banlance”,“fares”,“internet_shares”和“internet_banlance”的離散化我們需要借助 WEKA 中名為“Discretize”的 Filter 來完成。在區域 2 中點 “ Choose ” , 出 現 一 棵 “ Filter 樹 ” , 逐 級 找 到“weka.filters.unsupervised.attribute.Discretize”,點擊。若無法關閉這個樹,在樹之外的地方點擊“Explorer”面板即可。
現在“Choose”旁邊的文本框應該顯示“Discretize -B 10 -M -0.1 -R first-last”。
點擊這個文本框會彈出新窗口以修改離散化的參數。
我們不打算對所有的屬性離散化,只是針對對第 4,5,6,8,9 個,故把attributeIndices 右邊改成“4,5,6,8,9”。我們把這兩個屬性都分成 10 段,于是把“bins”改成“10”。其它不變。點“OK”回到“Explorer”,可以看到“shares”,“banlance”,“fares”,“internet_shares”和“internet_banlance”已經被離散化成分類型的屬性。同時我們可以用 UltraEdit 打開保存后的 ARFF 文件,把所有的類似“"\"(-inf-1464805.884]\""”替換成“0_1464805.884”。其它標識做類似地手動替換。
經刪減后,保留 date、shares、balance、fares、fares_type、internet_shares、internet_balance7 個屬性,如圖 7
圖 7 在進行數據搜集和整理的過程中,我們發現如果屬性的類型為數值型的話,在做關聯分析時將不能得到結果,因為關聯分析無法處理數值型數據。因此,我們進行了數據離散處理后使得需要分析的數據變為分類型,這樣就可以關聯分析得以順利進行。因此通過預處理數據可以提高原數據的質量,清除數據噪聲和與挖掘目標無關的數據,為進一步的挖掘工作莫定可靠的基礎。
3 3 、分類與回歸
WEKA 中的“Classify”選項卡中包含了分類(Classification)和回歸(Regression),在這兩個任務中,都有一個共同的目標屬性(輸出變量)。可以根據一個樣本(WEKA 中稱作實例)的一組特征(輸入變量),對目標進行預測。為了實現這一目的,我們需要有一個訓練數據集,這個數據集中每個實例的輸入和輸出都是已知的。觀察訓練集中的實例,可以建立起預測的模型。有了這個模型,我們就可以新的輸出未知的實例進行預測了。衡量模型的好壞就在于預測的準確程度。在 WEKA 中,待預測的目標(輸出)被稱作 Class 屬性,這應該是來自分類任務的“類”。一般的,若 Class屬性是分類型時我們的任務才叫分類,Class 屬性是數值型時我們的任務叫
回歸。而我們使用決策樹算法 C4.5 對 Fund-data-normal 建立起分類模型。因此我們制作分類不做回歸。
我們用“Explorer”打開訓練集“Fund-data-normal.arff”,。切換到“Classify”選項卡,點擊“Choose”按鈕后可以看到很多分類或者回歸的算法分門別類的列在一個樹型框里。樹型框下方有一個“Filter...”按鈕,點擊后勾選“Binary attributes”“Numeric attributes”和“Binary class”。點“OK”后回到樹形圖,可以發現一些算法名稱變灰了,說明它們不能用。選擇“trees”下的“J48”,這就是我們需要的 C4.5 算法。
點擊“Choose”右邊的文本框,彈出新窗口為該算法設置各種參數。我們把參數保持默認。
選上“Cross-validation”并在“Folds”框填上“10”。點“Start”按鈕開始讓算法生成決策樹模型。很快,用文本表示的一棵決策樹以及對這個決策樹的誤差分析結果出現在右邊“Classifier output”中。見圖 8。
圖 8 4 、聚類分析 聚類的任務是把所有的實例分配到若干的簇,使得同一個簇的實例聚
集在一個簇中心的周圍,它們之間距離的比較近;而不同簇實例之間的距離比較遠。現在我們對前面的“Fund-data-normal”作聚類分析,使用最常見的 K 均值(K-means)算法。
用“Explorer”打開剛才得到的“Fund-data-normal.arff”,并切換到“Cluster”。點“Choose”按鈕選擇“SimpleKMeans”,這是 WEKA 中實現 K 均值的算法。點擊旁邊的文本框,修改“numClusters”為 6,說明我們希望把這 734 條實例聚成 6 類,即 K=5。下面的“seed”參數是要設置一個隨機種子,依此產生一個隨機數,用來得到 K 均值算法中第一次給出的 K 個簇中心的位置。我們不妨暫時讓它就為 10。
選中“Cluster Mode”的“Use training set”,點擊“Start”按鈕,觀察右邊“Clusterer output”給出的聚類結果。見下圖 9:
圖 9
5 5 、關聯規則
我們打算對前面的“Fund-data-normal”數據作關聯規則的分析。用“Explorer”打開“Fund-data-normal.arff”后,切換到“Associate”
選項卡。默認關聯規則分析是用 Apriori 算法,我們就用這個算法,但是點“Choose”右邊的文本框修改默認的參數。
從網上獲得的 Apriori 有關知識:對于一條關聯規則 L->R,我們常用支持度(Support)和置信度(Confidence)來衡量它的重要性。規則的支持度是用來估計在一個購物籃中同時觀察到 L 和 R 的概率 P(L,R),而規則的置信度是估計購物欄中出現了 L 時也出會現 R 的條件概率 P(R|L)。關聯規則的目標一般是產生支持度和置信度都較高的規則。
有幾個類似的度量代替置信度來衡量規則的關聯程度,它們分別是 Lift(提升度?):
P(L,R)/(P(L)P(R))
Lift=1 時表示 L 和 R 獨立。這個數越大,越表明 L 和 R 存在在一個購物籃中不是偶然現象。
Leverage(不知道怎么翻譯):P(L,R)-P(L)P(R)
它和 Lift 的含義差不多。Leverage=0 時 L 和 R 獨立,Leverage 越大 L和 R 的關系越密切。
Conviction(更不知道譯了):P(L)P(!R)/P(L,!R) (!R 表示 R 沒有發生)
Conviction 也是用來衡量 L 和 R 的獨立性。從它和 lift 的關系(對 R取反,代入 Lift 公式后求倒數)可以看出,我們也希望這個值越大越好。
值得注意的是,用 Lift 和 Leverage 作標準時,L 和 R 是對稱的,Confidence 和 Conviction 則不然。
現在我們計劃挖掘出支持度在 10%到 100%之間,并且 lift 值超過 1.5且 lift 值排在前 100 位的那些關聯規則。我們把“lowerBoundMinSupport”和“upperBoundMinSupport”分別設為 0.1 和 1,“metricType”設為 lift,“minMetric”設為 1.5,“numRules”設為 10,其他參數不變。點擊“start”見圖 10
圖 10 我們也可以利用命令行來完成挖掘任務,在“Simlpe CLI”模塊中輸入如下格式的命令:java weka.associations.Apriori -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -I -t d:\ fund-data-normal.arff 即可得到如圖 11 的結果。
圖 11 6 、屬性分析 用“Explorer”打開剛才得到的“Fund-data-normal.arff”,并切換到“Selectattributes”。點“Attribute Evaluator”中的“Choose”按鈕選擇“ClassifierSubsetEval”,點“Search Method”中的“Choose”按 鈕 選 擇 “ RaceSearch ” 。
在 “ Attribute Selection ” 中 選 中“Cross-validation”項,參數默認 Folds=10 和 Seed=1。點擊“start”見圖 12
圖 12 7 、可視化分析 用“Explorer”打開剛才得到的“Fund-data-normal.arff”,并切換到“Visualize”。見圖 13
圖 13
四、分析結果 1 1 、分類與回歸
我們看到“J48”算法交叉驗證的結果之一為 Correctly Classified Instances
730
99.455
% Incorrectly Classified Instances
4
0.545
% === Confusion Matrix ===
a
b
c
d
e
f
g
h
i
j
<-- classified as
730
0
0
0
0
0
0
0
0
0 |
a = "(0_1430078.883]"
1
0
0
0
0
0
0
0
0
0 |
b = "(1430078.883-2860157.766]"
1
0
0
0
0
0
0
0
0
0 |
c = "(2860157.766-4290236.649]"
0
0
0
0
0
0
0
0
0
0 |
d =
"(4290236.649-5720315.532]"
0
0
0
0
0
0
0
0
0
0 |
e = "(5720315.532-7150394.415]"
0
0
0
0
0
0
0
0
0
0 |
f = "(7150394.415-8580473.298]"
0
0
0
0
0
0
0
0
0
0 |
g = "(8580473.298-10010552.181]"
0
0
0
0
0
0
0
0
0
0 |
h = "(10010552.181-11440631.064]"
1
0
0
0
0
0
0
0
0
0 |
i = "(11440631.064-12870709.947]"
1
0
0
0
0
0
0
0
0
0 |
j = "(12870709.947-inf)" 通過矩陣分析,看到正確的分類實例達到了 99.445% 2 、聚類分析 在“Cluster centroids:”之后列出了各個簇中心的位置。而“Clustered Instances”是各個簇中實例的數目及百分比。為了觀察可視化的聚類結果,我們在左下方“Result list”列出的結果上右擊,點“Visualize cluster assignments”。彈出的窗口給出了各實例的散點圖,見圖 14。最上方的兩個框是選擇橫坐標和縱坐標,第二行的“color”是散點圖著色的依據,默認是根據不同的簇“Cluster”給實例標上不同的顏色。可以在這里點“Save”把聚類結果保存成 ARFF 文件。在這個新的 ARFF 文件中, “instance_number”屬性表示某實例的編號,“Cluster”屬性表示聚類算法給出的該實例所在的簇。
圖 14 3 3 、關聯規則
由于本文所用的樣本關系,實力中的數據不能通過關聯規則分析出結果。
4 、屬性分析 這種分析主要是通過選擇各種方法對單個屬性進行分析。
5 、可視化分析 從可視化圖中基本可以直觀判斷各類數據的關系。
五. . 總結
以上實驗只是對券商的基金某一個時段交易業務數據做了一些分析,通過本次數據挖掘實驗,重新學習了一下數據挖掘的相關概念和知識,理解了數據挖掘的用途和使用步驟;進一步學習了 WEKA 開源數據挖掘工具在數據挖掘學習中的使用方法。并且對 WEKA 的分類與回歸、聚類分析、關聯規則、屬性分析和可視化分析幾個模塊化的基本分析方式進行了操作實驗。在此過程中學會了運用各個模塊的分析方法。由于是初次實驗 WEKA 分析軟件,對 WEKA 的運用和最終的數據結果運用還不熟悉,需要在以后的工作實驗中加以著重研究。通過本次實驗,也認識到了數據挖掘對大量的數據進行探索后,能揭示出其中隱藏著的規律性內
容,并且由此進一步形成模型化的分析方法。可以建立整體或某個業務過程局部的不同類型的模型,可以描述發展的現狀和規律性,而且可以用來預測當條件變化后可能發生的狀況。這可以為公司開發新的產品和服務提供決策支持依據。
推薦訪問: 數據挖掘 實驗 報告上一篇:C語言猜數游戲實驗報告
下一篇:現役軍人述職報告
同志們:今天這個大會,是市委全面落實黨要管黨、從嚴治黨要求的一項重大舉措,也是對縣市區委書記履行基層黨建工作第一責任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認真履行領班子、帶隊伍、抓黨員、保穩定的基層黨建工作思路,以學習貫徹習近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細則為落腳點,落實全面從嚴治黨主體
根據會議安排,現將2022年履行抓基層黨建工作職責情況報告如下:一、履職工作特色和亮點1 突出政治建設,著力在思想認識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領、社區治理求突破,為民服
2022年以來,在**黨委的正確領導下,堅持以習近平新時代中國特色社會主義思想為指導,深入學習宣傳貫徹黨的二十大精神,以黨建工作為統領,扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創建
各位領導,同志們:根據會議安排,現就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強化政治引領。一是不斷強化理論武裝。堅持通過黨組會、中心組學習會和“三會一課”,第一時間、第一議題學
2022年度抓基層黨建工作述職報告按照黨委工作部署,現將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發展首要位置,積極開展
2022年,是我在數計系黨總支書記這個新崗位上度過的第一個完整的工作年度。回首一年來在校黨委的正確領導下,與數計系領導班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現將本人一年來,作為統戰部長履行職責、廉潔自律等方面情況報告如下:一、著眼增強政治素質,不斷深化理論學習堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領統戰系統干部堅決擁護“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團結協作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進取,認真履職盡責,圓滿完成各項工作任務。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關于開展抓基層黨建述職評議會議的有關要求,經請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究