k means演算法資料需標準化嗎

時間 2022-10-29 14:10:18

1樓:來自大竹海大方的孫權

理論上是不需要的,因為標準化的線性變換不會影響距離的相對大小,但是實踐時,資料標準化與否結果是不同的,可能與演算法具體實現有關。

2樓:匿名使用者

一,k-means聚類演算法原理

k-means 演算法接受引數 k

;然後將事先輸入的n個資料物件劃分為

k個聚類以便使得所獲得的聚類滿足:同一聚類中的物件相似度較高;而不同聚類中的物件相似度較小.聚類相似度是利用各聚類中物件的均值所獲得一個「中心對

象」(引力中心)來進行計算的.

k-means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演算法之一.k-means演算法的基本思想是:以空間中k個點為中心進行聚類,對最靠近他們的物件歸類.

通過迭代的方法,逐次更新各聚類中心的值,直至得到最好的聚類結果.

假設要把樣本集分為c個類別,演算法描述如下:

(1)適當選擇c個類的初始中心;

(2)在第k次迭代中,對任意一個樣本,求其到c箇中心的距離,將該樣本歸到距離最短的中心所在的類;

(3)利用均值等方法更新該類的中心值;

(4)對於所有的c個聚類中心,如果利用(2)(3)的迭代法更新後,值保持不變,則迭代結束,否則繼續迭代.

該演算法的最大優勢在於簡潔和快速.演算法的關鍵在於初始中心的選擇和距離公式.

請問這個演算法是用什麼程式語言編的?

3樓:匿名使用者

這是用類c語言方式描述演算法,是研究資料結構和演算法時常用的做法。

這樣既能將計算過程描述清晰,又不會被各種計算機語言格式限制死。

4樓:乘風上九天攬月

這只是偽**吧,判斷是否為葉節點

5樓:晶魚小公舉

這是偽碼的表示,不是某種程式語言。

要想學好程式設計,是演算法重要還是程式語言重要

6樓:匿名使用者

呵呵,這個問題啊,你想想,如果你要開車去一個地方,是認識路重要,還是會開車重要呢?

都重要是不是。

演算法就是解決問題的思想,而程式語言是實現這個思想的工具。

只能說語言是需要熟練的,演算法是需要鑽研的。

7樓:

先至少學一門使用廣的程式語言,瞭解下程式設計時怎麼回事,然後最重要的當然是演算法——如果你不想做「碼農」的話。。

8樓:株洲別墅網

這個啊,演算法和程式設計思想都重要,沒有程式設計思想,脫離了書本就編寫不出**,沒有演算法,就等於沒有邏輯,也編寫不出好**

9樓:長沙新華電腦學院

程式語言有幾百種,選擇一門合適的入門語言就比較重要。在選擇的時候一方面要看這門語言的難易程度,另一方面還要看看所學的這門語言是否有前景。

可以看看這邊,畢竟網際網路it學校

學習演算法用什麼軟體,用什麼程式語言

10樓:小菜呀小菜

演算法不分語言。通俗的講演算法是解決問題的方法,它可以用任何語言實現(就是核心思想是一樣的,但用不同語言實現步驟有差別).

所以學演算法不需要軟體不特定什麼語言(當然對應語言的編譯器你得有的)參考資料

這個是知乎上一個關於學習演算法的問題,你看看吧。

程式語言都有哪些演算法

11樓:小柒

(一)基本演算法 : 1.列舉 2.

搜尋: 深度優先搜尋 廣度優先搜尋 啟發式搜尋 遺傳演算法 (二)資料結構的演算法 (三)數論與代數演算法 (四)計算幾何的演算法:求凸包 (五)圖論 演算法:

1.哈夫曼編碼 2.樹的遍歷 3.

最短路徑 演算法 4.最小生成樹 演算法 5.最小樹形圖 6.

網路流 演算法 7.匹配演算法 (六)動態規劃 (七)其他: 1.

數值分析 2.加密演算法 3.排序 演算法 4.

檢索演算法 5.隨機化演算法

希望採納

演算法和程式語言有何區別?

12樓:匿名使用者

演算法是處理解決問題的思路及辦法,程式語言是按照一定語法把演算法表達來。

演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。演算法常常含有重複的步驟和一些比較或邏輯判斷。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。

不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

程式語言(programming language),是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。

13樓:匿名使用者

演算法是你說話的內容,程式語言是你說話的語種,程式設計是說話這個動作

14樓:匿名使用者

演算法等於程式減去程式結構呀

計算機程式設計的演算法是什麼意思

15樓:匿名使用者

平時說的演算法就是數學上的計算方法,計算機中的演算法是:解決問題的方法,不一定用數學方法(但大多都是數學方法),只要能通過計算機語言表達出來,達到最終目的的步驟都叫演算法

16樓:安徽新華電腦專修學院

演算法就是解決問題的方法,就是達成目的一系列步驟。

17樓:匿名使用者

演算法簡單的說就是解決一個問題的具體方法比如我在家要去外面買一瓶飲料那麼演算法是(看具體情況而定)如果是我 步驟: 1.穿鞋子 2.

拿錢 3,走到商店 4.買一瓶飲料(更具體可分為拿飲料,付錢) 5,回到家 6.脫鞋這就是個演算法 這個演算法包含了6個步驟 類似的 當這些運用程式設計來解決的時候 就稱之為演算法 然後再用程式語言把 演算法表示成 計算機能執行的語言 就變成了一個解決問題的 程式 程式若大則可稱之為軟體了

18樓:匿名使用者

呵呵, 掃雷遊戲用的是遞迴演算法, 以下是兩個介紹。計算機演算法遞迴演算法:

演算法工程師有哪些方向?用哪些程式語言比較多

19樓:匿名使用者

而演算法最主要的就是邏輯清晰合理:英語要求是熟練,並且簡單易懂易處理:計算機版,最主要的權是邏輯思維要好、電子、數學等相關專業;

語言要求,你學數學專業邏輯肯定不差。

其實聽你的介紹你離演算法工程師已經很近了,缺少的就是訓練了,基本上能閱讀國外專業書刊;

必須掌握計算機相關知識,必須會一門程式語言。

如此看來數學乃為邏輯。

一個程式要求的不就是簡潔,快速處理嗎。

所以個人認為要成為演算法工程師首先至少是本科及其以上的學歷,大多數是碩士學歷及其以上;

專業要求

20樓:雙黎律淑穆

matlab。有的時候配合python

因為比較方便

但實際上所有語言都可以應用機器學習演算法。。。

急求 k Means聚類演算法實現

k means演算法 k means 演算法接受輸入量 k 然後將n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得一個 中心物件 引力中心 來進行計算的。k means 演算法的工作過程說明如下 ...

如何改進kmeans演算法中的k的選取問題

k means聚類演算法原理 k means 演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較校聚類相似度是利用各聚類中物件的均值所獲得一個 中心對 象 肖大俠 k means演算法是輸入聚類個數k,以及...

數學建模演算法,數學建模和演算法是一個概念嗎 他們之間究竟是什麼關係?

設a點上班,b點下班 樓主說的有道理,考慮到a和b都在上午或下午的情況,需要修改一下公式 總上班時間為 max 0,min b,12 max a,9 max 0,min b,18 max a,13 其中 min max 函式表示兩變數之間取較小 大值你可以代入公式驗算一下。基本思路是分別計算上午和下...