A. 我在做文本數據挖掘,要用到聚類分析,想請問matlab、weka這兩款軟體哪一個更加適合文本聚類分析呢,謝謝
如果單指軟體本身,顯然是weka,至少有這方面的功能模塊。matlab本身是數值計算軟體,根本沒有這類功能。
另外這兩個軟體都可以添加功能庫,相對來說weka可加的庫只能是java的,步驟也麻煩。matlab的添加工具箱之類很簡單,引用也方便,但估計做這方面研究的很少拿matlab做,應該很難找相關資源。
如果專門搞這個的,應該找找其它軟體。
當然如果是做研究的,深入到具體演算法,那還都是數學問題,可以在matlab底下處理。
B. matlab中聚類演算法
建議你直接使用命令clusterdata()
程序如下:
x=[1 2 3 34 44 78 5 6 3 0.2 34 56 67 ]';
>> T=clusterdata(x,'maxclust',2)
T =
1
1
1
2
2
2
1
1
1
1
2
2
2
結果解釋:T值為1的表示為第一類,2的表示為第二類;即1 2 3 5 6 3 0.2為第一類,其餘的為第二類。
C. 使用K-Means 演算法進行聚類分析程序
高維求距離唄。自己定義一個距離的概念,一般都用和2維一樣的2-norm.
D. 數據分析常用哪些工具
1、數據處理工具:Excel
數據分析師,在有些公司也會有數據產品經理、數據挖掘工程師等等。他們最初級最主要的工具就是Excel。有些公司也會涉及到像Visio,Xmind、PPT等設計圖標數據分析方面的高級技巧。數據分析師是一個需要擁有較強綜合能力的崗位,因此,在有些互聯網公司仍然需要數據透視表演練、Vision跨職能流程圖演練、Xmind項目計劃導圖演練、PPT高級動畫技巧等。
2、資料庫:MySQL
Excel如果能夠玩的很轉,能勝任一部分數據量不是很大的公司。但是基於Excel處理數據能力有限,如果想勝任中型的互聯網公司中數據分析崗位還是比較困難。因此需要學會資料庫技術,一般Mysql。你需要了解MySQL管理工具的使用以及資料庫的基本操作;數據表的基本操作、MySQL的數據類型和運算符、MySQL函數、查詢語句、存儲過程與函數、觸發程序以及視圖等。比較高階的需要學習MySQL的備份和恢復;熟悉完整的MySQL數據系統開發流程。
3、數據可視化:Tableau & Echarts
如果說前面2條是數據處理的技術,那麼在如今“顏值為王”的現在,如何將數據展現得更好看,讓別人更願意看,這也是一個技術活。好比公司領導讓你對某一個項目得研究成果做匯報,那麼你不可能給他看單純的數據一樣,你需要讓數據更直觀,甚至更美觀。
E. python寫演算法不好
基於以下三個原因,我們選擇Python作為實現機器學習演算法的編程語言:(1) python的語法清晰;(2) 易於操作純文本文件;(3) 使用廣泛,存在大量的開發文檔。
可執行偽代碼
Python具有清晰的語法結構,大家也把它稱作可執行偽代碼(executable pseudo-code)。默認安裝的Python開發環境已經附帶了很多高級數據類型,如列表、元組、字典、集合、隊列等,無需進一步編程就可以使用這些數據類型的操作。使用這些數據類型使得實現抽象的數學概念非常簡單。此外,讀者還可以使用自己熟悉的編程風格,如面向對象編程、面向過程編程、或者函數式編程。
Python語言處理和操作文本文件非常簡單,非常易於處理非數值型數據。Python語言提供了豐富的正則表達式函數以及很多訪問Web頁面的函數庫,使得從HTML中提取數據變得非常簡單直觀。
Python比較流行
Python語言使用廣泛,代碼範例也很多,便於讀者快速學習和掌握。此外,在開發實際應用程序時,也可以利用豐富的模塊庫縮短開發周期。
在科學和金融領域,Python語言得到了廣泛應用。SciPy和NumPy等許多科學函數庫都實現了向量和矩陣操作,這些函數庫增加了代碼的可讀性,學過線性代數的人都可以看懂代碼的實際功能。另外,科學函數庫SciPy和NumPy使用底層語言(C和Fortran)編寫,提高了相關應用程序的計算性能。本書將大量使用Python的NumPy。
Python的科學工具可以與繪圖工具Matplotlib協同工作。Matplotlib可以繪制2D、3D圖形,也可以處理科學研究中經常使用到的圖形,所以本書也將大量使用Matplotlib。
Python開發環境還提供了互動式shell環境,允許用戶開發程序時查看和檢測程序內容。
Python開發環境將來還會集成Pylab模塊,它將NumPy、SciPy和Matplotlib合並為一個開發環境。在本書寫作時,Pylab還沒有並入Python環境,但是不遠的將來我們肯定可以在Python開發環境找到它。
Python語言的特色
諸如MATLAB和Mathematica等高級程序語言也允許用戶執行矩陣操作,MATLAB甚至還有許多內嵌的特徵可以輕松地構造機器學習應用,而且MATLAB的運算速度也很快。然而MATLAB的不足之處是軟體費用太高,單個軟體授權就要花費數千美元。雖然也有適合MATLAB的第三方插件,但是沒有一個有影響力的大型開源項目。
Java和C等強類型程序設計語言也有矩陣數學庫,然而對於這些程序設計語言來說,最大的問題是即使完成簡單的操作也要編寫大量的代碼。程序員首先需要定義變數的類型,對於Java來說,每次封裝屬性時還需要實現getter和setter方法。另外還要記著實現子類,即使並不想使用子類,也必須實現子類方法。為了完成一個簡單的工作,我們必須花費大量時間編寫了很多無用冗長的代碼。Python語言則與Java和C完全不同,它清晰簡練,而且易於理解,即使不是編程人員也能夠理解程序的含義,而Java和C對於非編程人員則像天書一樣難於理解。
所有人在小學二年級已經學會了寫作,然而大多數人必須從事其他更重要的工作。
——鮑比·奈特
也許某一天,我們可以在這句話中將「寫作」替代為「編寫代碼」,雖然有些人對於編寫代碼很感興趣,但是對於大多數人來說,編程僅是完成其他任務的工具而已。Python語言是高級編程語言,我們可以花費更多的時間處理數據的內在含義,而無須花費太多精力解決計算機如何得到數據結果。Python語言使得我們很容易表達自己的目的。
Python語言的缺點
Python語言唯一的不足是性能問題。Python程序運行的效率不如Java或者C代碼高,但是我們可以使用Python調用C編譯的代碼。這樣,我們就可以同時利用C和Python的優點,逐步地開發機器學習應用程序。我們可以首先使用Python編寫實驗程序,如果進一步想要在產品中實現機器學習,轉換成C代碼也不困難。如果程序是按照模塊化原則組織的,我們可以先構造可運行的Python程序,然後再逐步使用C代碼替換核心代碼以改進程序的性能。C++ Boost庫就適合完成這個任務,其他類似於Cython和PyPy的工具也可以編寫強類型的Python代碼,改進一般Python程序的性能。
如果程序的演算法或者思想有缺陷,則無論程序的性能如何,都無法得到正確的結果。如果解決問題的思想存在問題,那麼單純通過提高程序的運行效率,擴展用戶規模都無法解決這個核心問題。從這個角度來看,Python快速實現系統的優勢就更加明顯了,我們可以快速地檢驗演算法或者思想是否正確,如果需要,再進一步優化代碼。
F. 有誰用matlab做過聚類演算法
熱心網友
聚類分析的概念主要是來自多元統計分析,例如,考慮二維坐標繫上有散落的許多點,這時,需要對散點進行合理的分類,就需要聚類方面的知識。模糊聚類分析方法主要針對的是這樣的問題:對於樣本空間P中的元素含有多個屬性,要求對其中的元素進行合理的分類。最終可以以聚類圖的形式加以呈現,而聚類圖可以以手式和自動生成兩種方式進行,這里採用自動生成方式,亦是本文的程序實現過程中的一個關鍵環節。
這里所實現的基本的模糊聚類的主要過程是一些成文的方法,在此簡述如下:
對於待分類的一個樣本集U=,設其中的每個元素有m項指標,則可以用m維向量描述樣本,即:ui=(i=1,2,...,n)。則其相應的模糊聚類按下列步驟進行:1)
標准化處理,將數據壓縮至(0-1)區間上,這部分內容相對簡單,介紹略。(參[1])2)
建立模糊關系:這里比較重要的環節之一,首先是根據「距離」或其它進行比較的觀點及方法建立模糊相似矩陣,主要的「距離」有:Hamming
距離:
d(i,j)=sum(abs(x(i,k)-x(j,k)))
|
k
from
1
to
m
(|
k
from
1
to
m表示求和式中的系數k由1增至m,下同)Euclid
距離:
d(i,j)=sum((x(i,k)-x(j,k))^2)
|
k
from
1
to
m
非距離方法中,最經典的就是一個夾角餘弦法:
最終進
G. 常用的數據分析工具有哪些
雖然數據分析的工具千萬種,綜合起來萬變不離其宗。無非是數據獲取、數據存儲、數據管理、數據計算、數據分析、數據展示等幾個方面。而SAS、R、SPSS、python、excel是被提到頻率最高的數據分析工具。
Python
Python,是一種面向對象、解釋型計算機程序設計語言。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。
常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
R軟體
R是一套完整的數據處理、計算和制圖軟體系統。它可以提供一些集成的統計工具,但更大量的是它提供各種數學計算、統計計算的函數,從而使使用者能靈活機動的進行數據分析,甚至創造出符合需要的新的統計計算方法。
SPSS
SPSS是世界上最早的統計分析軟體,具有完整的數據輸入、編輯、統計分析、報表、圖形製作等功能,能夠讀取及輸出多種格式的文件。
Excel
可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用於管理、統計財經、金融等眾多領域。
SAS軟體
SAS把數據存取、管理、分析和展現有機地融為一體。提供了從基本統計數的計算到各種試驗設計的方差分析,相關回歸分析以及多變數分析的多種統計分析過程,幾乎囊括了所有最新分析方法,其分析技術先進,可靠。分析方法的實現通過過程調用完成。許多過程同時提供了多種演算法和選項。