機器學習算法基礎(使用Python代碼)

2020-11-30 CDA數據分析師

介紹

谷歌的自動駕駛汽車和機器人受到了很多媒體的關注,但該公司真正的未來是在機器學習領域,這種技術能使計算機變得更聰明,更個性化。-Eric Schmidt(Google董事長)

我們可能生活在人類歷史上最具決定性的時期。從大型的電腦主機到個人電腦再到雲計算的時代。但是,它的定義並不是發生了什麼,而是未來幾年我們將面臨什麼。

對於我這樣的人來說,這段時期真的是讓人興奮和著迷的,因為隨著技術的發展,各種工具和技術都實現了飛躍化,現在歡迎人類來到數據科學的世界!

今天,作為一名數據科學家,我可以用每小時幾美元的成本,用複雜算法構建數據處理機器。但是實現這並不容易!因為我需要面臨度過無數個黑暗的日日夜夜。

機器學習算法類型

從廣義上講,有3種類型的機器學習算法。

1.監督學習

工作原理:該算法由一個目標/結果變量(或因變量)組成,該變量將從給定的一組預測變量(自變量)中預測。使用這些變量集,我們生成一個將輸入映射到所需輸出的函數。訓練過程繼續進行,直到模型在訓練數據上達到所需的準確度。監督學習的例子:回歸,決策樹,隨機森林,KNN,邏輯回歸等。

2.無監督學習

工作原理:在此算法中,我們沒有任何目標或結果變量來進行預測/估計。它用於將人群進行聚類到不同群體中,廣泛用於將客戶劃分到不同的群體中去並進行具體的幹預。無監督學習的例子:Apriori算法,K-means。

3.強化學習:

工作原理:使用這種算法,機器經過培訓,可以做出具體決策。它的工作原理是這樣的:機器暴露在一個環境中,在這個環境中,它通過反覆試驗不斷地訓練自己。機器從過去的經驗中學習,並嘗試獲取儘可能好的知識,以做出準確的業務決策。強化學習的例子:馬爾可夫決策過程

常用機器學習算法列表

以下是常用機器學習算法的列表。這些算法幾乎可以應用於任何數據問題:

線性回歸邏輯回歸決策樹SVM樸素貝葉斯k近鄰K均值隨機森林降維算法梯度增強算法GBMXGBoostLightGBMCatBoost

1.線性回歸

線性回歸用於根據連續變量估算實際值(房屋成本,通話成本,總銷售額等)。在這裡,我們通過擬合一條直線來建立自變量和因變量之間的關係。該最佳擬合線稱為回歸線,並由線性方程Y = a * X + b表示。

理解線性回歸的最佳方法是重溫這種童年經歷。讓我們假設,你讓一個五年級的孩子,通過體重增加的順序來安排他們班級中的人,而不是通過問他們的體重!你覺得孩子會怎麼做?他/她可能會在人的身高和體型上進行(視覺分析)安排,並使用這些可見參數的組合進行排列。這就是現實生活中的線性回歸!這個孩子實際上已經發現高度和體格將通過一個關係與體重聯繫起來,就像上面的方程一樣。

在這個等式中:

Y - 因變量a - 坡度X - 自變量b - 攔截這些係數a和b是基於最小化數據點和回歸線之間的距離的平方差的總和而算出的。

請看下面的例子。在這裡,我們確定了線性方程y = 0.2811x + 13.9的最佳擬合線。現在使用這個方程,我們可以求出重量,而知道一個人的身高。

創建本指南背後的想法是簡化世界各地有抱負的數據科學家和機器學習愛好者的旅程。通過本指南,我將幫助您解決機器學習問題並從經驗中獲益。我提供了對各種機器學習算法的高級理解以及運行它們的R&Python代碼。這些應該足以弄髒你的手。

線性回歸主要有兩種類型:簡單線性回歸和多元線性回歸。簡單線性回歸的特徵在於一個自變量。而多元線性回歸(顧名思義)的特徵是多個(超過1個)的自變量。在找到最佳擬合線時,可以擬合多項式或曲線回歸。這些被稱為多項式或曲線回歸。

Python代碼

#Import Library#Import其他必要的庫,如pandas,numpy ......from sklearn import linear_model#讀取訓練集和測試集#識別特徵和響應變量以及值必須是數字和numpy數組x_train=input_variables_values_training_datasetsy_train=target_variables_values_training_datasetsx_test=input_variables_values_test_datasets#創建線性回歸對象 linear = linear_model.LinearRegression()#使用訓練集訓練模型並檢查分數linear.fit(x_train, y_train)linear.score(x_train, y_train)#方程係數和截距print('Coefficient: \n', linear.coef_)print('Intercept: \n', linear.intercept_)#預測輸出predicted = linear.predict(x_test)

2.邏輯回歸

不要被它的名字搞混了!邏輯回歸是一種分類而非回歸算法。它用於根據給定的自變量集估計離散值(二進位值,如0/1,是/否,真/假)。簡單來說,它通過將數據擬合到logit函數來預測事件發生的概率。因此,它也被稱為logit回歸。由於它預測概率,因此其輸出值介於0和1之間(如預期的那樣)。

讓我們再一次通過一個簡單的例子來嘗試理解這一點。

假設你的朋友給你出了一個難題讓你來解決。那只有2個結果場景 - 要麼你成功的解決了它,要麼你沒能解決它。現在想像一下,你正在進行各種各樣的解謎/測驗,試圖了解你擅長哪些科目。這項研究的結果應該是這樣的 - 如果給你一個基於三角測量的十年級問題,你有70%的可能解決它。另一方面,如果是五年級的歷史問題,獲得答案的概率僅為30%。這就是邏輯回歸為您提供的。

在數學中,結果的對數概率被建模為預測變量的線性組合。

odds = p /(1-p)=事件發生概率/非事件發生概率ln(賠率)= ln(p /(1-p))logit(p)= ln(p /(1-p))= b0 + b1X1 + b2X2 + b3X3 .... + bkXk

上面,p是存在感興趣特徵的概率。它選擇的參數最大化的觀察了樣本值的可能性,而不是使誤差平方和最小化(如普通回歸)。

現在,你可能會問,為什麼要記錄對數?為簡單起見,我們只是說這是複製躍階函數的最佳數學方法之一。我可以介紹的更加仔細,但是這就會超出這篇文章所要描述的。

Python代碼

#Import Libraryfrom sklearn.linear_model import LogisticRegression#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的x(預測期)# Create logistic regression objectmodel = LogisticRegression()#使用訓練集訓練模型,並檢查成績model.fit(X, y)model.score(X, y)#查看方程係數和截距print('Coefficient: \n', model.coef_)print('Intercept: \n', model.intercept_)#預測輸出predicted= model.predict(x_test)

此外..

為了改進模型,可以嘗試許多不同的步驟:

包括互動條款刪除功能正則化技術使用非線性模型3.決策樹

這是我最喜歡的算法之一,我經常使用它。決策樹是一種監督學習算法,主要用於分類問題。讓人驚喜的是,它適用於分類因變量和連續因變量。在該算法中,我們將總體分成兩個或更多個同類集。這是基於最重要的屬性/獨立變量來完成的,以儘可能地形成不同的群體。

在上圖中,您可以看到人群根據多個屬性分為四個不同的群體,以識別「他們是否會出去玩」。為了將人口分成不同的異構群體,決策樹使用了各種技術,如基尼係數,信息增益,卡方,熵。

理解決策樹如何工作的最好方法是玩Jezzball--一款來自微軟的經典遊戲(如下圖所示)。基本上,你有一個移動牆壁的房間,你需要創建牆壁,以便最大限度的區域被球清除。

所以,每次你用牆隔開房間時,你都是試圖在同一個房間裡創造2個不同的群體。決策樹以非常類似的方式工作,通過將一個群體分成儘可能多的不同群體。

Python代碼

#導入 Library庫#導入其他必要的庫,如pandas, numpy...from sklearn import tree#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)#創建樹對象model = tree.DecisionTreeClassifier(criterion='gini') #對於分類,這裡可以將算法更改為基尼係數或信息增益,默認為基尼係數 # model = tree.DecisionTreeRegressor() for regression#使用訓練集訓練模型,並檢查成績model.fit(X, y)model.score(X, y)#預測輸出predicted= model.predict(x_test)

4. SVM(支持向量機)

這是一種分類方法。在此算法中,我們將每個數據項繪製為n維空間中的點(其中n是你擁有特徵的數量),每個特性的值是特定坐標的值。

例如,如果我們只有兩個特徵,分別是一個人的身高和頭髮長度,我們首先在二維空間中繪製這兩個變量,其中每個點有兩個坐標(這些坐標稱為支持向量)

現在,找到一條線,這條線在兩個不同分類的數據組之間進行分隔。這樣的話這條直線最近的點的距離都是最遠的。

在上面的例子中,將數據分成兩個不同分類組的線是黑色的,因為兩個最接近的點距離線最遠。這條線是我們的分類器。然後,根據測試數據落在線路兩側的位置,我們可以將新數據分類為哪一類。

可以將此算法視為在n維空間中玩JezzBall。遊戲中的調整是:

您可以在任何角度繪製線條/平面(而不是像經典遊戲中那樣只能畫水平或垂直線)遊戲的目的是在不同的房間隔離不同顏色的球。並且球沒有移動。Python代碼

#Import Libraryfrom sklearn import svm#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)# 創建SVM分類對象model = svm.svc() # 有各種各樣的選型相關,這對於分類來說很簡單,可以參考函數的詳細信息# 使用訓練集訓練模型,並檢查成績model.fit(X, y)model.score(X, y)#輸出預測predicted= model.predict(x_test)

5.樸素貝葉斯

它是一種基於貝葉斯定理的分類技術 ,假設在預測變量之間具有獨立性。簡單來說,樸素貝葉斯分類器假設類中某個特定特徵的存在與任何其他特徵的存在無關。例如,如果水果是紅色的,圓形的,直徑約3英寸,則可以認為它是蘋果。即使這些特徵相互依賴或依賴於其他特徵的存在,一個樸素的貝葉斯分類器會認為所有這些特性都獨立地促成了這種水果是蘋果的概率。

樸素貝葉斯模型易於構建,特別適用於非常大的數據集。除簡單之外,樸素貝葉斯的性能甚至超過了非常複雜的分類方法。

貝葉斯定理提供了一種從P(c),P(x)和P(x | c)計算後驗概率P(c | x)的方法。請看下面的方程:

方程中,

Pc | x)是給定預測器(屬性)的類(目標)的後驗概率。PC ^)是類的先驗概率。Px | c)為似然值,即給定類別的預測器概率。Px)是預測器的先驗概率。示例: 讓我們用一個例子來理解它。下面我有一個天氣訓練數據集和相應的目標變量'Play'。現在,我們需要根據天氣情況對玩家是否出去玩進行分類。讓我們按照以下步驟執行它。

第1步:將數據集轉換為頻率表

步驟2:通過找到陰天概率為0.29和出去玩的概率為0.64的概率來創建似然表。

步驟3:現在,使用樸素貝葉斯方程計算每個類的後驗概率。具有最高后驗概率的一類就是預測的結果。

問題:如果天氣晴朗,玩家會出去玩,這個說法是否正確?

我們可以使用上面討論的方法解決它,所以P(出去| 陽光充足)= P(陽光充足 | 出去)* P(出去)/ P(陽光充足)

這裡有P(陽光充足 |出去)= 3/9 = 0.33,P(陽光充足)= 5/14 = 0.36,P(出去)= 9/14 = 0.64

現在,P(出去| 陽光充足)= 0.33 * 0.64 / 0.36 = 0.60,概率更高。

樸素貝葉斯使用類似的方法根據各種屬性預測不同類別的概率。該算法主要用於文本分類,並且具有多個類的問題。

Python代碼

#Import Libraryfrom sklearn.naive_bayes import GaussianNB#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)# Create SVM classification object model = GaussianNB() # 對於多項式類,還有其他的分布,如伯努利樸素貝葉斯,可以查看函數的詳細內容# 使用訓練集訓練模型,並檢查成績model.fit(X, y)#輸出預測predicted= model.predict(x_test)

6. KNN(k-近鄰)

KNN可以用於分類和回歸問題。然而,它更廣泛地用於行業中的分類問題。K近鄰是一種簡單的算法,它存儲所有可用的案例,並通過其k個近鄰的點進行多數投票對新案例進行分類。分配給該類的情況在由距離函數測量的其K個最近鄰中決定。

這些距離函數可以是歐幾裡得距離,曼哈頓距離,閔可夫斯基和漢明距離。前三個函數用於連續函數,第四個函數(漢明)用於分類變量。如果K = 1,則將該案例簡單地分配給其最近鄰的類別。有時候,選擇K的值在執行KNN建模時是一個挑戰。

KNN很容易映射到我們的現實生活中。如果你想了解一個你不了解的人,你可以通過他/她的朋友和他/她所處在的圈子,輕鬆的了解到他/她是什麼樣的人!

選擇KNN之前需要考慮的事項:

KNN在計算上很昂貴變量應該歸一化,否則較大範圍的變量會產生偏差在使用KNN之前需要進行一些預處理工作比如:異常值、噪聲的去除Python代碼

#Import Libraryfrom sklearn.neighbors import KNeighborsClassifier#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)# 創建KNN分類器對象模型 KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5# 使用訓練集訓練模型,並檢查成績model.fit(X, y)#輸出預測predicted= model.predict(x_test)

7. K-Means

K-Means是一種無監督算法,可以解決聚類問題。其過程遵循一種簡單易行的方法,通過一定數量的簇(假設有k個簇)對給定數據集進行分類。集群內的數據點對於同一個組來說是同構和異構的。

還記得從墨跡中找出形狀嗎?k-Means的意思就有點類似於從墨跡中找形狀。你看這個形狀然後把它分散開來,然後解釋這裡有多少不同的簇!

K-means如何形成簇:

K-means為稱為中心的每個簇選擇k個點。每個數據點形成一個離中心最近的簇,即K簇。根據現有集群成員查找每個集群的質心。然後,生成新的質心。當我們有新的質心時,重複第二步和第三步.找到每個數據點與新質心的最近距離,並與新的k-簇相關聯。重複此過程直到收斂發生,即質心不會改變。如何確定K的值:

在K-means中,我們有簇,每個簇都有自己的質心。質心和簇內數據點之間的差的平方和構成該簇的平方值的總和。此外,當添加所有簇的平方和時,它在聚類解的平方值之和內變為總和。

我們知道隨著聚類數量的增加,這個值會繼不斷減小,但是如果你繪製出結果,你可能會看到平方和會急劇下降到某個k值,然後會慢得多。在這裡,我們可以找到最佳的簇數。

Python代碼

#Import Libraryfrom sklearn.cluster import KMeans#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)# 創建K-means分類器對象模型k_means = KMeans(n_clusters=3, random_state=0)# 使用訓練集訓練模型,並檢查成績model.fit(X)#輸出預測predicted= model.predict(x_test)

8.隨機森林

隨機森林是決策樹集合的專業術語。在隨機森林中,我們收集了決策樹(俗稱「森林」)。為了根據屬性對新對象進行分類,每個樹都給出一個分類,然後通過每個數進行投票。新的對象選擇那個投票最多的分類(在森林中的所有樹中)。

每棵樹的種植和生長方式如下:

如果訓練集中的案例數是N,那麼N個案例的樣本是隨機抽取,並進行替換。這個樣本將是用於作為樹的訓練集。如果存在M個輸入變量,則指定數字m << M,使得在每個節點處,從M中隨機選擇m個變量,並且使用這些m上的最佳分割來分割節點。在森林生長期間,m的值保持不變。每棵樹都儘可能地生長。不需要剪枝。Pyhon代碼#Import Libraryfrom sklearn.ensemble import RandomForestClassifier#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)#創建隨機森林對象model= RandomForestClassifier()# 使用訓練集訓練模型,並檢查成績model.fit(X, y)#輸出預測predicted= model.predict(x_test)

9.維度降低算法

在過去的4到5年中,每個可能階段的數據捕獲都呈指數級增長。企業/政府機構/研究機構不僅提供新的資源,而且還非常詳細地捕獲數據。

例如:電子商務公司正在捕捉有關客戶的更多詳細信息,例如他們的人口統計數據,網絡抓取歷史記錄,他們喜歡或不喜歡的內容,購買歷史記錄,反饋以及許多其他人,比最近的雜貨店主更多地給予他們個性化的關注。

作為一名數據科學家,我們提供的數據也包含許多功能,這對於構建良好的穩健模型非常有用,但是存在挑戰。你如何確定1000或2000以外的重要變量?在這種情況下,降維算法可以幫助我們與各種其他算法一起使用,例如決策樹,隨機森林,PCA,因子分析,基於相關矩陣的識別,缺失值比率等。

Python代碼

#Import Libraryfrom sklearn import decomposition#假設你擁有訓練和測試數據集作為訓練和測試# Create PCA obeject pca= decomposition.PCA(n_components=k) #k=min的默認值(n個樣本,n個特徵)# 進行因子分析#fa= decomposition.FactorAnalysis()#使用PCA降低訓練數據集的維數train_reduced = pca.fit_transform(train)#減少測試數據集的維數test_reduced = pca.transform(test)#更多細節請查看幫助文檔

10.梯度增強算法

10.1 GBM

GBM是一種用於處理大量數據進行預測的增強算法,具有較高的預測能力。Boosting實際上是一種學習算法集合,它結合了多個基本預測器的預測能力,以提高單個預測器的穩健性。它將多個弱預測器或平均預測器組合成一個強大的預測器。這些增強算法在Kaggle,AV Hackathon,CrowdAnalytix等數據科學競賽中始終運行良好。

Python代碼

#Import Libraryfrom sklearn.ensemble import GradientBoostingClassifier#假設你有用於訓練數據集的X(預測器)和Y(目標),以及測試集的X(預測器)#創建梯度增強分類器對象model= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)#使用訓練集訓練模型,並檢查成績model.fit(X, y)#輸出預測predicted= model.predict(x_test)

10.2 XGBoost

另一種經典的梯度增強算法,在一些Kaggle比賽中被認為是決定輸贏的選擇。

XGBoost具有極高的預測能力,它同時具有線性模型和樹模型的學習算法,使得該算法的速度幾乎是現有的梯度增強技術的10倍,是確保事件精度的最佳選擇。

支持包括各種目標函數,包括回歸,分類和排序。

關於XGBoost最有趣的事情之一是,它也被稱為正則化增強技術。這有助於減少過度擬合建模,並對Scala,Java,R,Python,Julia和C ++等一系列語言提供強大的支持。

支持在包含GCE,AWS,Azure和Yarn集群的許多機器上進行分布式和廣泛的訓練。XGBoost還可以與Spark,Flink和其他雲數據流系統集成,並在每次升級過程中進行內置交叉驗證。

Python代碼:

from xgboost import XGBClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scoreX = dataset[:,0:10]Y = dataset[:,10:]seed = 1X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.33, random_state=seed)model = XGBClassifier()model.fit(X_train, y_train)#對測試數據進行預測y_pred = model.predict(X_test)

10.3 LightGBM

LightGBM是一種使用基於樹的學習算法的梯度增強框架。它被設計成為分布式和具有高效性,有以下優點,:

更快的培訓速度和更高的效率降低內存使用更準確的精度支持並行和GPU學習能夠處理大規模數據該框架是一種基於決策樹算法,快速高性能的梯度增強框架,,用於排序,分類和許多其他機器學習任務。它是在Microsoft的分布式機器學習工具包項目下開發的。

由於LightGBM基於決策樹算法,因此它以最佳擬合分割樹葉,而其他提升算法則以深度或水平方向分割而不是樹葉方向分割。因此,當在Light GBM中生長在相同的葉子上時,葉子算法可以比水平算法減少更多的損失,因此導致更好的精度,這是任何現有的增強算法都很難實現的。

而且,它非常的快,因此才有了「Light」這個詞。

Python代碼:

data = np.random.rand(500, 10) # 500個實體,每個包含10個特性label = np.random.randint(2, size=500) #二進位目標train_data = lgb.Dataset(data, label=label)test_data = train_data.create_valid('test.svm')param = {'num_leaves':31, 'num_trees':100, 'objective':'binary'}param['metric'] = 'auc'num_round = 10bst = lgb.train(param, train_data, num_round, valid_sets=[test_data])bst.save_model('model.txt')#7個實體,每個包含10個特性data = np.random.rand(7, 10)ypred = bst.predict(data)

10.4 Catboost

CatBoost是Yandex最近開發的一種開源的機器學習算法。它可以輕鬆地與Google的TensorFlow和Apple的Core ML等深度學習框架進行集成。

關於CatBoost最好的優點是它不像其他ML模型那樣需要大量的數據訓練,並且可以處理各種數據格式; 並不會削弱它的強大能力。

但是在Catboost之前,請確保已妥善處理好缺失的數據了。

Catboost可以在不顯示類型轉換錯誤的情況下自動處理分類變量,這有助於您專注於更好地優化模型,而不是整理出瑣碎的錯誤。

Python代碼:

import pandas as pdimport numpy as npfrom catboost import CatBoostRegressor#讀取訓練集和測試集的文件train = pd.read_csv("train.csv")test = pd.read_csv("test.csv")#為訓練集和測試集計算缺失值train.fillna(-999, inplace=True)test.fillna(-999,inplace=True)#為建模和驗證集創建訓練集,以檢查模型性能X = train.drop(['Item_Outlet_Sales'], axis=1)y = train.Item_Outlet_Salesfrom sklearn.model_selection import train_test_splitX_train, X_validation, y_train, y_validation = train_test_split(X, y, train_size=0.7, random_state=1234)categorical_features_indices = np.where(X.dtypes != np.float)[0]#導入庫並構建模型from catboost import CatBoostRegressormodel=CatBoostRegressor(iterations=50, depth=3, learning_rate=0.1, loss_function='RMSE')model.fit(X_train, y_train,cat_features=categorical_features_indices,eval_set=(X_validation, y_validation),plot=True)submission = pd.DataFrame()submission['Item_Identifier'] = test['Item_Identifier']submission['Outlet_Identifier'] = test['Outlet_Identifier']submission['Item_Outlet_Sales'] = model.predict(test)

結束語

到目前為止,我相信,你已經了解這些常用的機器學習算法。如果您熱衷於掌握機器學習,請立即開始處理問題,通過對問題進行處理,並應用這些代碼,那你肯定會感到興趣,然後在機器學習這條道路上走下去!

Essentials of Machine Learning Algorithms (with Python and R Codes)

相關焦點

  • 機器學習算法一覽(附python和R代碼)
    原標題:機器學習算法一覽(附python和R代碼) 寫這篇文章的目的,就是希望它可以讓有志於從事數據科學和機器學習的諸位在學習算法的路上少走些路。我會在文章中舉例一些機器學習的問題,你們也可以在思考解決這些問題的過程中得到啟發。我也會寫下對於各種機器學習算法的一些個人理解,並且提供R和Python的執行代碼。讀完這篇文章,讀者們至少可以行動起來親手試試寫一個機器學習的程序。
  • 算法應用|機器學習python應用,簡單機器學習項目實踐
    上一篇文章中介紹了機器學習的簡單知識,還有python中進行機器學習實踐需要的生態環境,接下來將會通過鳶尾花分類這個例子對機器學習做一個簡要的介紹。通過一步一步地實現這個項目來介紹以下內容。導入和使用python中機器學習的各個方面的類庫。導入數據,並通過描述性分析、可視化等對數據進行分析。創建六個模型,並從中選擇準確度最高的模型。
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    原標題:機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用高級研修班通信和信息技術創新人才培養工程項目辦公室 通人辦〔2018〕 第5號 機器學習、深度學習算法原理與案例實踐暨Python
  • 【算法系列】凸優化的應用——Python求解優化問題(附代碼)
    推薦閱讀   Sklearn包含的常用算法  隨機森林算法入門(python)  下降方法:坐標下降、梯度下降、次梯度下降>  機器學習算法Python實現--邏輯回歸  機器學習算法Python實現--線性回歸分析  【機器學習算法系列】機器學習中梯度下降法和牛頓法的比較  【機器學習算法系列】如何用Apriori尋找到繁雜數據之間的隱藏關係  後臺回復「代碼
  • 機器學習算法的基本知識(使用Python和R代碼)
    本指南能夠使你在研究機器學習問題的過程中獲取經驗。 我提供了關於各種機器學習算法以及R&Python代碼的高級理解以及運行它們,這些應該足以使你得心順手。無監督學習的例子:Apriori算法,K-means。  加強學習:  工作原理:使用這種算法,機器受到學習和訓練,作出具體決定。 它以這種方式工作:機器暴露在一個環境中,它連續不斷地使用試錯。 該機器從過去的經驗中學習,並嘗試捕獲最好的知識,以做出準確的業務決策。
  • python機器學習:常用庫的介紹及安裝
    現在,隨著人工智慧的興起,機器學習越來越被各行業看重,從而使得人工智慧的需求會越來越大。今天,我們就從零基礎開始學習人工智慧的基礎篇——機器學習。工欲善其事必先利其器,所以,我們首先來看一下,我們要學習這些東西,需要準備些什麼!首先電腦一臺,這是必備的。下面我們來看一下需要安裝些什麼軟體到電腦上!
  • Python趣味打怪:60秒學會一個例子,147段代碼助你從入門到大師
    不要害怕學習的過程枯燥無味,這裡有程式設計師jackzhenguo打造的一份中文Python「糖果包」:147個代碼小樣,60秒一口,營養又好玩,從Python基礎到機器學習盡皆囊括。>例子是有趣的例子,教程也是正經教程,學習路徑清晰、系統,先一起來看看完整目錄:學習路徑施工完成:1、Python基礎2、Python字符串和正則化3、Python文件4、Python日期5、Python利器6、Python畫圖7、Python實戰施工中:Python基礎算法
  • 使用Python中的線性回歸通過語音診斷帕金森氏病
    本文,我們將創建一個簡單的python機器學習算法,以便能夠通過聲音來診斷該人是否為患者。我們將使用一組(健康者和帕金森病患者)音頻文件庫,通過對音頻進行一些測量來構建我們的機器學習數據集。建立機器學習數據集後,我們將使用SciKit Learn庫訓練線性回歸模型。最後,我們將構建一個python庫,這個庫可以輕鬆集成到其他應用程式中。數據集首先,我們需要將音頻文件轉換成包含音頻測量值以及患者是否健康標誌的表格。
  • Python機器學習10:機器學習中的六種分類算法及實現(上)
    在機器學習中,可以使用多種算法模型解決同一個問題,那麼如何從中選擇出最佳的算法模型呢?當然,這個問題沒有一種固定的答案,需要根據不同的問題,嘗試使用多種機器學習方法,比較各種算法模型在該問題上的效果,最終才能決定究竟選擇哪一種模型。
  • Python入門5大機器學習算法(附代碼),你知道哪幾個?
    對於開發人員來說,Python在機器學習上的應用非常令人高興,因為它比C ++和Java等語言要簡單。 Python也是一種非常便攜的語言,因為它可以在Linux,Windows,Mac OS和UNIX平臺上使用。 Python也很受開發人員的歡迎,因為它允許開發人員創建交互式,可解釋式性,模塊化,動態,可移植和高級的代碼,這使得它比Java語言更獨特。
  • Python和人工智慧有什麼關係?Python 和人工智慧的區別是什麼?
    ,而這些代碼往往需要或者只支持Python進行調用。人工智慧是一個大的範疇,包括很多方面的應用,比如機器學習,在機器學習中的回歸算法,它們是通過統計分析所有數據來建立多因式,然後求解式子,而在這個過程中程式語言起到的作用是清洗數據、處理數據、建立關係求解結果的作用,python適用於數據清洗且學習成本低,所以在一定程度上,好一部分人傾向於將python應用於人工智慧應用領域。
  • 機器學習:Python中的四種機器學習技巧
    機器學習技術與算法眾所周知,機器學習是技術和算法的結合。但在開始關注技術和算法之前,讓我們看看它們是否是同一個東西。技術是解決問題的一種方法,這是一個非常通用的術語。 但是,當我們說我們有一個算法時,意思是我們有一個輸入,並希望從中得到一定的輸出,明確規定了實現目標的步驟。
  • 一個簡單的案例帶你了解支持向量機算法(Python代碼)
    介紹掌握機器學習算法並不是一個不可能完成的事情。大多數的初學者都是從學習回歸開始的。是因為回歸易於學習和使用,但這能夠解決我們全部的問題嗎?當然不行!因為,你要學習的機器學習算法不僅僅只有回歸!把機器學習算法想像成一個裝有斧頭,劍,刀,弓箭,匕首等等武器的軍械庫。你有各種各樣的工具,但你應該學會在正確的時間和場合使用它們。
  • 小白學數據小抄放送 Python,R,大數據,機器學習
    Python基礎小抄表 這張由Datacamp製作的小抄表覆蓋了所有Python數據科學需要的基礎知識。如果你剛開始用Python,可以留著這張做快速參考。背下這些小抄的代碼變量、數據類型函數、字符串操作、類型轉換、列表和常用操作。尤其是它列出了重要的Python包,給出了用於選擇並導入包的小抄代碼。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    總目錄 零基礎全能篇(4套課程) 實用編程技巧進價(1套課程) 數據分析與挖掘(8套課程) 辦公自動化(3套課程) 機器學習與人工智慧(7套課程) 開發實戰篇(4套課程) 量化投資(2套課程) 網絡爬蟲(6套課程) 資料庫操作(1套課程) python高級編程
  • 中科大統計學python_python 中科大 - CSDN
    除了直播和課程視頻之外,周博磊還會同步更新課程的代碼,使用的程式語言為 Python,深度學習框架則是 TensorFlow 和 PyTorch 皆可(PyTorch 為主)。和常規的課程一樣,《強化學習綱要》也會在每節課後留下一些作業。
  • 資源|用Python和NumPy學習《深度學習》中的線性代數基礎
    本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學算法的能力。
  • 38個常用Python庫:數值計算、可視化、機器學習等8大領域都有了
    對於研究人員者而言,使用Python編程可以快速遷移代碼並進行改動,而無須花費過多的精力在修改代碼與代碼規範上。開發者在Python中封裝了很多優秀的依賴庫,其中NumPy和SciPy庫提供了目前解決機器學習問題所需的標準配置。Python目前集成了大量的機器學習框架,其中常用機器學習庫如下所示。
  • 小白學數據28張小抄放送 Python,R,大數據,機器學習
    Python基礎小抄表 這張由Datacamp製作的小抄表覆蓋了所有Python數據科學需要的基礎知識。如果你剛開始用Python,可以留著這張做快速參考。背下這些小抄的代碼變量、數據類型函數、字符串操作、類型轉換、列表和常用操作。尤其是它列出了重要的Python包,給出了用於選擇並導入包的小抄代碼。
  • 代碼詳解:Python虛擬環境的原理及使用
    本指南先介紹虛擬環境的基礎知識以及使用方法,然後再深入介紹虛擬環境背後的工作原理。注意:本指南在macOS Mojave系統上使用最新版本的Python 3.7.x。目錄· 為什麼使用虛擬環境?· 什麼是虛擬環境?· 使用虛擬環境· 管理環境· 虛擬環境如何運行?1.