發表文章

目前顯示的是有「R」標籤的文章

只會用Java寫出"Hello World"嗎?今天讓你學更多

圖片
原來除了 Java ,還有那麼多種其他程式語言可以寫出"Hello World"! 「Hello World」幾乎是每一個剛接觸 程式設計課程 的人,第一個碰到的語句。不管你學的是台灣「市佔率」稱霸的 Java 、還是未來炙手可熱的人工智慧首選 Python ,只要是 程式設計課程 ,幾乎都是從「Hello World」學起。 推薦閱讀: Python 不是蟒蛇、Java 就是咖啡?看看程式語言命名起源多奇葩 以下整理出「Hello World」使用不同程式的語言的寫法: Java Java 的特殊之處在於它經過專門設計,因此您可以編寫一次代碼,然後可在任何操作系統上運行,為各大科技公司所愛用。所有 Android 的 App 都是用 Java 編寫的。 class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Prints the string to the console. } } C 世界上最重要的程式語言。它是編寫 Windows,MacOS,iOS 和 Android 等操作系統以及瀏覽器和 Unity3D 遊戲開發的工具。它的語法影響了無數其他程式語言。 #include <stdio.h> int main(void) { printf("hello, world\n"); } C++ 性能接近 C,並在許多重要專案(如 Chrome 瀏覽器)中使用。C++ 旨在使一種語言,更易於構建大型項目,同時仍保持快速高效。 #include int main() ...

十種你不能錯過的的機器學習演算法圖解-監督與非監督式學習(下)

圖片
機器學習的五種監督式學習你都了解了嗎?這篇就要帶你來看看非監督式學習演算法~ 二、非監督式學習 1. 隨機森林(Random Forest) 隨機森林可以視為決策樹的延伸,可以把隨機森林當作是多個決策樹組合而成,並加入隨機分配的訓練資料,以大幅增進最終的運算結果。其想法就是結合多個「弱學習器」(即決策樹)來建構一個「強學習器」模型。這種方法被稱為「集成」(Ensemble Method)。同時也能降低單個決策樹出錯的風險。 ▲ 決策樹演算法示意圖 例如若創建一個隨機森林模型預測數值,只有第三個決策樹預測為 0,但是如果整合所有決策樹的結果,將會判斷出預測值是為 1。 隨機森林的優點,就是可以處理大量的輸入變數,同時計算各例中的親近度,這點對於資料探勘、偵測離群點和將資料視覺化非常有用。 2. 聚類分析(Cluster analysis) 聚類分析是統計資料分析的技術,後來在如 機器學習 等領域受到廣泛應用。「聚類」是把相似的物件通過靜態分類,分成不同的組別或子集(subset)。聚類有很多種方法,常見的如 K-means、層次聚類(Hierarchical clustering)、譜聚類(Spectral Clustering)等等。 ▲ 「聚類」是把相似的物件通過靜態分類,分成不同的組別或子集 (圖片來源: geeksforgeeks.org) 聚類時,需要實現的目標只是要把相似的東西聚到一起,一個聚類算法只需要知道如何計算相似度就可以開始分類,因此聚類算法並不需要使用訓練資料進行學習。 3. 主成分分析(Principal Component Analysis,PCA) 主成分分析 PCA 是一個在 機器學習 與統計學領域中被廣泛用來分析資料、降低數據維度以及去關聯的線性降維方法。降維(Dimension reduction)是當資料維度數(變數)很多的時候,嘗試讓維度數(變數)少一點,但資料特性不會差太多的方法。 機器學習 使用 PCA 達到降維的目的,主要是為了避免「維數災難」,或稱「維度詛咒」,指當維度增加時,分析和組織高維空間因體積指數增加而遇到各種問題:在 機器學習 問題中,模型預測能力會隨著維度的增加而減小。 4. 奇異值分解(Singular...

到底是Python適合AI/機器學習,還是R語言?(下)

圖片
了解Python的的優缺點,這篇文章將要介紹R語言,讓你直接比較兩者~ R語言 R 語言是由統計學家所開發的。任何開發人員只要看一下語法,就能分析、預測。由於該語言包含了機器學習中涉及的數學計算,而機器學習是從統計學中衍生出來的,因此對於希望能深入理解底層細節、構建創新的正確選擇。 如果你的工作需要深入觀察,像是檢驗數據集之類,R可以替你縮小工作範圍,是最佳選擇。   R 的優勢 適用於分析:如果你的工作需要大量的檢驗數據,R 就是你的最佳選擇,因為它可以快速建模,並與數據集一起搭建 AI /機器學習模型。 大量實用的函式庫和工具:與 Python  類似,R 也有不同的封包,可以提升機器學習模型的結果。例如 Caret 包就支援 AI 人工智慧 應用,助於有效地建立預測模型。R 開發人員可受惠於這些數據分析包:因為這些封包中包含了針對建模前後階段的特定任務,如模型驗證或數據可視化等。 適用於探索性工作:如果你需要在項目開始的階段,在測量模型中進行探索性研究時,若使用 R 語言,僅僅只需添加幾行代碼即可完成。   R 的缺點 較難學,且不容易寫好。身為弱型別(Weak typing)的程式語言,函數經常會回傳預料之外的物件種類。 與其它的語言不同,R 是從 1 開始,不是 0 開始。     結論: R 和 Python 在機器學習上,都有各自的優勢。最好的辦法便是將兩者運用在各自擅長的項目中,互相搭配使用。 建議:一開始我們可以使用 Python 進行資料彙整的階段,再將資料丟到 R 做數據檢驗。 按照這些思路,之後可以將 R 用作 Python 的庫或將 Python 用作 R 的預處理庫。 本篇為下篇,上篇請點此 連結 延伸閱讀文章: 到底是Python適合AI/機器學習,還是R語言?(上) 靠人工智慧做出你自己的番茄鐘?Python是關鍵角色!(上) Python有什麼魔力讓大家都對它著迷? 人工智慧、機器人、Python、大數據⋯⋯到底有什麼關係? AI 人工智慧、ML 機器學習、深度學習、Python 是什麼? 捷克新創Resistant.AI 開發2產品 揪出欺騙人工智...

到底是Python適合AI/機器學習,還是R語言?(上)

圖片
Python和R語言,面對人工智慧和機器學習,在這兩個程式語言之間選擇,絕對是最困難的事! 要是你想要建構一個機器學習的專案,但是又卡在不知道該使用 Python 還是 R 語言,恭喜你,你現在看到對的文章了! 這篇文章不只是讓你了解到 Python 與 R 語言的不同,同時也會知道哪個程式語言在多方面都比較佔優勢。現在就讓我們一起深入研究吧! Python 與 R 語言都具有相同的功能,且是數據科學家間非常熱門的工具。約有 69% 的開發者在 人工智慧 上使用 Python 語言,R 語言則只佔了 24%。兩者都是免費開源的程式語言,不過 Python 被建構成一種可廣泛使用的程式語言,而 R 語言則是為了統計分析而造。 推薦閱讀: Python 與 R 語言之戰鹿死誰手?盤點 5 個即將消失的程式語言! 人工智慧 ( AI )與數據分析,是真正可以開源創新的兩個領域。 Python 與 R 語言都創造了強大的開源設備與函式庫的環境,可以幫助不同能力水平的數據科學家更有效率的執行工作。 機器學習與數據分析之間的區別,相對來說比較模糊。但是一般認為,機器學習在模型可解釋性上著重在預知的準確程度;而數據分析則著重在事實的推測。 在預知的準確度上, Python 可是有口皆碑的;R 語言則擅長於事實推論與靜態推論。 推薦閱讀: AI 人工智慧、ML 機器學習、深度學習、Python 是什麼? 這並不代表我們要將這兩個語言歸為一類 —— Python 完全可被應用為數據分析工具;而 R 語言則可以完成機器學習中的一些大工程。 其實兩種語言都有許多能使其達成對方優點的函式庫與封包:像是 Python 有能進行測量後歸納的函式庫;R語言則有增強預測準確度的封包。 接著,我們將會分成上下兩篇,深入說明兩種語言,可以大大地幫助你針對自己的專案,使用合適的語言! Python 程式語言誕生於 80 年代末期,承擔了推動 Google 內部框架的重責大任。 Python 被一群熱情的程式設計師所擁護著,也被廣泛應用在 YouTube、Instagram、Quora 和 Dropbox。 Python 也全面被應用在 IT 產業以及開發團隊中的基礎建構。因此若你需要的是一個多工的程式語言以及大量可...