www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]本篇文章是原文的譯文,然后自己對其中做了一些修改和添加內(nèi)容(隨機(jī)森林和降維算法)。文章簡潔地介紹了機(jī)器學(xué)習(xí)的主要算法和一些偽代碼,對于初學(xué)者有很大幫助,是一篇不錯(cuò)

本篇文章是原文的譯文,然后自己對其中做了一些修改和添加內(nèi)容(隨機(jī)森林和降維算法)。文章簡潔地介紹了機(jī)器學(xué)習(xí)的主要算法和一些偽代碼,對于初學(xué)者有很大幫助,是一篇不錯(cuò)的總結(jié)文章,后期可以通過文中提到的算法展開去做一些實(shí)際問題。

引言

Google的自駕車和機(jī)器人得到了很多新聞,但公司的真正未來是機(jī)器學(xué)習(xí),這種技術(shù)使計(jì)算機(jī)變得更智能,更個(gè)性化。-Eric Schmidt (Google Chairman)

我們可能生活在人類歷史上最具影響力的時(shí)期——計(jì)算從大型主機(jī)到PC移動(dòng)到云計(jì)算的時(shí)期。 但是使這段時(shí)期有意義的不是發(fā)生了什么,而是在未來幾年里我們的方式。

這個(gè)時(shí)期令像我這樣的一個(gè)人興奮的就是,隨著計(jì)算機(jī)的推動(dòng),工具和技術(shù)的民主化。 今天,作為數(shù)據(jù)科學(xué)家,我可以每小時(shí)為幾個(gè)玩偶構(gòu)建具有復(fù)雜算法的數(shù)據(jù)處理機(jī)。 但到達(dá)這里并不容易,我已經(jīng)度過了許多黑暗的日日夜夜。

誰可以從本指南中獲益最多

我今天發(fā)布的可能是我創(chuàng)造的最有價(jià)值的指南。

創(chuàng)建本指南背后的理念是簡化全球有抱負(fù)的數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)愛好者的旅程。 本指南能夠使你在研究機(jī)器學(xué)習(xí)問題的過程中獲取經(jīng)驗(yàn)。 我提供了關(guān)于各種機(jī)器學(xué)習(xí)算法以及R&Python代碼的高級理解以及運(yùn)行它們,這些應(yīng)該足以使你得心順手。

 

 

我故意跳過了這些技術(shù)背后的統(tǒng)計(jì)數(shù)據(jù),因?yàn)槟悴恍枰陂_始時(shí)就了解它們。 所以,如果你正在尋找對這些算法的統(tǒng)計(jì)學(xué)理解,你應(yīng)該看看別的文章。 但是,如果你正在尋找并開始構(gòu)建機(jī)器學(xué)習(xí)項(xiàng)目,那么這篇文章給你帶來極大好處。

3類機(jī)器學(xué)習(xí)算法(廣義上)

監(jiān)督學(xué)習(xí)

工作原理:該算法由一組目標(biāo)/結(jié)果變量(或因變量)組成,該變量將根據(jù)給定的一組預(yù)測變量(獨(dú)立變量)進(jìn)行預(yù)測。 使用這些變量集,我們生成一個(gè)將輸入映射到所需輸出的函數(shù)。 訓(xùn)練過程繼續(xù)進(jìn)行執(zhí)行,直到模型達(dá)到培訓(xùn)數(shù)據(jù)所需的準(zhǔn)確度水平。 監(jiān)督學(xué)習(xí)的例子:回歸,決策樹,隨機(jī)森林,KNN,邏輯回歸等

無監(jiān)督學(xué)習(xí)

如何工作:在這個(gè)算法中,我們沒有任何目標(biāo)或結(jié)果變量來預(yù)測/估計(jì)。 用于不同群體的群體聚類和用于不同群體的客戶進(jìn)行特定干預(yù)。 無監(jiān)督學(xué)習(xí)的例子:Apriori算法,K-means。

加強(qiáng)學(xué)習(xí):

工作原理:使用這種算法,機(jī)器受到學(xué)習(xí)和訓(xùn)練,作出具體決定。 它以這種方式工作:機(jī)器暴露在一個(gè)環(huán)境中,它連續(xù)不斷地使用試錯(cuò)。 該機(jī)器從過去的經(jīng)驗(yàn)中學(xué)習(xí),并嘗試捕獲最好的知識,以做出準(zhǔn)確的業(yè)務(wù)決策。 加強(qiáng)學(xué)習(xí)示例:馬爾可夫決策過程

常見機(jī)器學(xué)習(xí)算法

以下是常用機(jī)器學(xué)習(xí)算法的列表。 這些算法幾乎可以應(yīng)用于任何數(shù)據(jù)問題:

線性回歸

邏輯回歸

決策樹

SVM

樸素貝葉斯

KNN

K-Means

隨機(jī)森林

降維算法

Gradient Boost&Adaboost

1.線性回歸

它用于基于連續(xù)變量來估計(jì)實(shí)際價(jià)值(房屋成本,電話數(shù)量,總銷售額等)。在這里,我們通過擬合最佳線來建立獨(dú)立變量和因變量之間的關(guān)系。這個(gè)最佳擬合線被稱為回歸線,由線性方程Y = a * X + b表示。

理解線性回歸的最好方法是回想童年的經(jīng)歷。比如,你要求五年級的孩子通過體重來從小到大排序班里的學(xué)生,而事先不告訴學(xué)生們的體重!你認(rèn)為孩子會(huì)做什么?他/她很可能在身高和體格上分析人物的體重,并使用這些可視參數(shù)的組合進(jìn)行排列。這是現(xiàn)實(shí)生活中的線性回歸!孩子實(shí)際上已經(jīng)弄清楚,身高和體格將有一個(gè)關(guān)系與體重相關(guān)聯(lián),看起來就像上面的等式。

在這個(gè)方程式中:

Y-因變量

a - 斜率

X - 自變量

b - 截距

這些系數(shù)a和b是基于最小化數(shù)據(jù)點(diǎn)和回歸線之間的距離的平方差之和導(dǎo)出的。

看下面的例子。這里我們確定了線性方程y = 0.2811x + 13.9的最佳擬合線?,F(xiàn)在使用這個(gè)方程,我們可以找到一個(gè)人(身高已知)的體重。

 

 

線性回歸主要有兩種類型:簡單線性回歸和多元線性回歸。 簡單線性回歸的特征在于一個(gè)自變量。 而且,多元線性回歸(顧名思義)的特征是多個(gè)(多于1個(gè))自變量。 在找到最佳擬合線的同時(shí),可以擬合多項(xiàng)式或曲線回歸線,這些被稱為多項(xiàng)式或曲線回歸。

Python Code

#Import Library

#Import other necessary libraries like pandas, numpy...

from sklearn import linear_model

import numpy as np

#Load Train and Test datasets

#Identify feature and response variable(s) and values must be numeric and numpy arrays

# x_train=input_variables_values_training_datasets

x_train=np.random.rand(4,4)

print(x_train)

# y_train=target_variables_values_training_datasets

y_train=np.random.rand(4,4)

print(y_train)

# x_test=input_variables_values_test_datasets

x_test=np.random.rand(4,4)

print(x_test)

# Create linear regression object

linear = linear_model.LinearRegression()

# Train the model using the training sets and check score

linear.fit(x_train, y_train)

linear.score(x_train, y_train)

#Equation coefficient and Intercept

print('Coefficient: n', linear.coef_)

print('Intercept: n', linear.intercept_)

#Predict Output

predicted= linear.predict(x_test)

print('predicted:n',predicted)

[[ 0.98267731 0.23364069 0.35133775 0.92826309]

[ 0.80538991 0.05637806 0.87662175 0.3960776 ]

[ 0.54686738 0.6816495 0.99747716 0.32531085]

[ 0.19189509 0.87105462 0.88158122 0.25056621]]

[[ 0.55541608 0.56859636 0.40616234 0.14683524]

[ 0.09937835 0.63874553 0.92062536 0.32798326]

[ 0.87174236 0.779044 0.79119392 0.06912842]

[ 0.87907434 0.53175367 0.01371655 0.11414196]]

[[ 0.37568516 0.17267374 0.51647046 0.04774661]

[ 0.38573914 0.85335136 0.11647555 0.0758696 ]

[ 0.67559384 0.57535368 0.88579261 0.26278658]

[ 0.13829782 0.28328756 0.51170484 0.04260013]]

Coefficient:

[[ 0.55158868 1.45901817 0.31224322 0.49538173]

[ 0.6995448 0.40804135 0.59938423 0.09084578]

[ 1.79010371 0.21674532 1.60972012 -0.046387 ]

[-0.31562917 -0.53767439 -0.16141312 -0.2154683 ]]

Intercept:

[-0.89705102 -0.50908061 -1.9260686 0.83934127]

predicted:

[[-0.25297601 0.13808785 -0.38696891 0.53426883]

[ 0.63472658 0.18566989 -0.86662193 0.22361739]

[ 0.72181277 0.75309881 0.82170796 0.11715048]

[-0.22656611 0.01383581 -0.79537442 0.55159912]]

R Code

#Load Train and Test datasets

#Identify feature and response variable(s) and values must be numeric and numpy arrays

x_train <- input_variables_values_training_datasets

y_train <- target_variables_values_training_datasets

x_test <- input_variables_values_test_datasets

x <- cbind(x_train,y_train)

# Train the model using the training sets and check score

linear <- lm(y_train ~ ., data = x)

summary(linear)

#Predict Output

predicted= predict(linear,x_test)

2.邏輯回歸

不要因?yàn)樗拿侄械嚼Щ?,邏輯回歸是一個(gè)分類算法而不是回歸算法。它用于基于給定的一組自變量來估計(jì)離散值(二進(jìn)制值,如0/1,是/否,真/假)。簡單來說,它通過將數(shù)據(jù)擬合到logit函數(shù)來預(yù)測事件發(fā)生的概率。因此,它也被稱為logit回歸。由于它預(yù)測概率,其輸出值在0和1之間(如預(yù)期的那樣)。

再次,讓我們通過一個(gè)簡單的例子來嘗試?yán)斫膺@一點(diǎn)。

假設(shè)你的朋友給你一個(gè)難題解決。只有2個(gè)結(jié)果場景 - 你能解決和不能解決。現(xiàn)在想象,你正在被許多猜謎或者簡單測驗(yàn),來試圖理解你擅長的科目。這項(xiàng)研究的結(jié)果將是這樣的結(jié)果 - 如果給你一個(gè)10級的三角形問題,那么你有70%可能會(huì)解決這個(gè)問題。另外一個(gè)例子,如果是五級的歷史問題,得到答案的概率只有30%。這就是邏輯回歸為你提供的結(jié)果。

對數(shù)學(xué)而言,結(jié)果的對數(shù)幾率被建模為預(yù)測變量的線性組合。

odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence ln(odds) = ln(p/(1-p)) logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk

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

現(xiàn)在,你可能會(huì)問,為什么要采用log? 為了簡單起見,讓我們來說,這是復(fù)制階梯函數(shù)的最好的數(shù)學(xué)方法之一。 我可以進(jìn)一步詳細(xì)介紹,但這將會(huì)打破這篇文章的目的。

 

 

Python Code

#Import Library

from sklearn.linear_model import LogisticRegression

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create logistic regression object

model = LogisticRegression()

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Equation coefficient and Intercept

print('Coefficient: n', model.coef_)

print('Intercept: n', model.intercept_)

#Predict Output

predicted= model.predict(x_test)

R Code

x <- cbind(x_train,y_train)

# Train the model using the training sets and check score

logistic <- glm(y_train ~ ., data = x,family='binomial')

summary(logistic)

#Predict Output

predicted= predict(logistic,x_test)

3.決策樹

這是我最喜歡的算法之一,我經(jīng)常使用它。 它是一種主要用于分類問題的監(jiān)督學(xué)習(xí)算法,令人驚訝的是,它可以適用于分類和連·續(xù)因變量。 在該算法中,我們將群體分為兩個(gè)或多個(gè)均勻集合。 這是基于最重要的屬性/自變量來做出的并將它們分為不同的組。關(guān)于決策樹的更多細(xì)節(jié),你可以閱讀決策樹簡介

 

 

在上圖中,您可以看到根據(jù)多個(gè)屬性將群體分為四個(gè)不同的群組,以確定用戶“是否可以玩”。為了 將人口分為不同的特征群體,它使用了諸如Gini,信息增益,卡方,熵等各種技術(shù)。

 

 

了解決策樹如何運(yùn)作的最佳方法是播放Jezzball - 微軟的經(jīng)典游戲(下圖)。 大體上就是,來一起在屏幕上滑動(dòng)手指,筑起墻壁,掩住移動(dòng)的球吧。

Python Code

#Import Library

#Import other necessary libraries like pandas, numpy...

from sklearn import tree

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create tree object

model = tree.DecisionTreeClassifier(criterion='gini')

# for classification, here you can change the algorithm as gini or entropy (information gain) by default it is gini

# model = tree.DecisionTreeRegressor() for regression

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Predict Output

predicted= model.predict(x_test)

R Code

library(rpart)

x <- cbind(x_train,y_train)

# grow tree

fit <- rpart(y_train ~ ., data = x,method="class")

summary(fit)

#Predict Output

predicted= predict(fit,x_test)

4.SVM(支持向量機(jī))

這是一種分類方法。 在這個(gè)算法中,我們將每個(gè)數(shù)據(jù)項(xiàng)目繪制為n維空間中的一個(gè)點(diǎn)(其中n是擁有的特征數(shù)),每個(gè)特征的值是特定坐標(biāo)的值。

例如,如果我們有一個(gè)人的“高度”和“頭發(fā)長度”這兩個(gè)特征,我們首先將這兩個(gè)變量繪制在二維空間中,其中每個(gè)點(diǎn)都有兩個(gè)坐標(biāo)(這些坐標(biāo)稱為支持向量)

 

 

現(xiàn)在,我們將找到一些可以將數(shù)據(jù)分割成兩類的線。 而我們想要的線,就是使得兩組數(shù)據(jù)中最近點(diǎn)到分割線的距離最長的線。

 

 

在上述示例中,將數(shù)據(jù)分成兩個(gè)不同分類的組的線是黑線,因?yàn)閮蓚€(gè)最接近的點(diǎn)距離線最遠(yuǎn)(紅線也可以,但不是一最遠(yuǎn))。 這條線是我們的分類器, 然后根據(jù)測試數(shù)據(jù)位于線路兩邊的位置,我們可以將新數(shù)據(jù)分類為什么類別。

Python Code

#Import Library

from sklearn import svm

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object

model = svm.svc() # there is various option associated with it, this is simple for classification. You can refer link, for mo# re detail.

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Predict Output

predicted= model.predict(x_test)

R Code

library(e1071)

x <- cbind(x_train,y_train)

# Fitting model

fit <-svm(y_train ~ ., data = x)

summary(fit)

#Predict Output

predicted= predict(fit,x_test)[!--empirenews.page--]

5. 樸素貝葉斯

它是基于貝葉斯定理的分類技術(shù),假設(shè)預(yù)測因子之間是獨(dú)立的。 簡單來說,樸素貝葉斯分類器假設(shè)類中特定特征的存在與任何其他特征的存在無關(guān)。 例如,如果果實(shí)是紅色,圓形,直徑約3英寸,則果實(shí)可能被認(rèn)為是蘋果。 即使這些特征依賴于彼此或其他特征的存在,一個(gè)樸素的貝葉斯分類器將考慮的是所有屬性來單獨(dú)地貢獻(xiàn)這個(gè)果實(shí)是蘋果的概率。

樸素貝葉斯模型易于構(gòu)建,對于非常大的數(shù)據(jù)集尤其有用。 除了簡單之外,樸素貝葉斯也被稱為超高級分類方法。

貝葉斯定理提供了一種由P(c),P(x)和P(x | c)計(jì)算概率P(c | x)的方法。 看下面的等式:

 

 

其中:

P(c | x)是在x條件下c發(fā)生的概率。

P(c)是c發(fā)生的概率。

P(x | c)在c條件下x發(fā)生的概率。

P(x)是x發(fā)生的概率。

示例:

讓我們用一個(gè)例子來理解它。 下面我有一個(gè)天氣和相應(yīng)的目標(biāo)變量“玩游戲”的訓(xùn)練數(shù)據(jù)集。 現(xiàn)在,我們需要根據(jù)天氣條件對玩家是否玩游戲進(jìn)行分類。 我們按照以下步驟執(zhí)行。

步驟1:將數(shù)據(jù)集轉(zhuǎn)換為頻率表

步驟2:通過發(fā)現(xiàn)像“Overcast”概率= 0.29和播放概率為0.64的概率來創(chuàng)建似然表。

 

 

步驟3:現(xiàn)在,使用樸素貝葉斯方程來計(jì)算每個(gè)類的概率。 其中概率最高的情況就是是預(yù)測的結(jié)果。

問題:

如果天氣晴朗,玩家會(huì)玩游戲,這個(gè)說法是正確的嗎?

我們可以使用上述方法解決,所以P(Yes | Sunny) = P( Sunny | Yes) * P(Yes) / P (Sunny)

這里,P(Sunny | Yes)= 3/9 = 0.33,P(Sunny)= 5/14 = 0.36,P(Yes)= 9/14 = 0.64

現(xiàn)在,P(Yes | Sunny)= 0.33 * 0.64 / 0.36 = 0.60,該事件發(fā)生的概率還是比較高的。

樸素貝葉斯使用類似的方法根據(jù)各種屬性預(yù)測不同分類的概率,該算法主要用于文本分類和具有多個(gè)類的問題。

Python Code

#Import Library

from sklearn.naive_bayes import GaussianNB

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object model = GaussianNB()

# there is other distribution for multinomial classes like Bernoulli Naive Bayes, Refer link

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

R Code

library(e1071)

x <- cbind(x_train,y_train)

# Fitting model

fit <-naiveBayes(y_train ~ ., data = x)

summary(fit)

#Predict Output

predicted= predict(fit,x_test)

6. KNN (K-近鄰算法)

它可以用于分類和回歸問題, 然而,它在行業(yè)中被廣泛地應(yīng)用于分類問題。 K-近鄰算法用于存儲(chǔ)所有訓(xùn)練樣本集(所有已知的案列),并通過其k個(gè)鄰近數(shù)據(jù)多數(shù)投票對新的數(shù)據(jù)(或者案列)進(jìn)行分類。通常,選擇k個(gè)最近鄰數(shù)據(jù)中出現(xiàn)次數(shù)最多的分類作為新數(shù)據(jù)的分類。

這些計(jì)算機(jī)的距離函數(shù)可以是歐幾里德,曼哈頓,閔可夫斯基和漢明距離。 前三個(gè)函數(shù)用于連續(xù)函數(shù),第四個(gè)函數(shù)用于分類變量。 如果K = 1,則簡單地將該情況分配給其最近鄰的類。 有時(shí),選擇K在執(zhí)行KNN建模時(shí)是一個(gè)難點(diǎn)。

 

 

KNN可以輕松映射到我們的現(xiàn)實(shí)生活中。 如果你想了解一個(gè)人,你沒有任何信息,你可能想知道先去了解他的親密的朋友和他活動(dòng)的圈子,從而獲得他/她的信息!

選擇KNN之前要考慮的事項(xiàng):

KNN在計(jì)算上是昂貴的

變量應(yīng)該被歸一化,否則更高的范圍變量可以偏移它

在進(jìn)行KNN之前,預(yù)處理階段的工作更像去除離群值、噪聲值

Python Code

#Import Library

from sklearn.neighbors import KNeighborsClassifier

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create KNeighbors classifier object model

KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

R Code

library(knn)

x <- cbind(x_train,y_train)

# Fitting model

fit <-knn(y_train ~ ., data = x,k=5)

summary(fit)

#Predict Output

predicted= predict(fit,x_test)

7. K-Means

它是解決聚類問題的一種無監(jiān)督算法。 其過程遵循一種簡單而簡單的方式,通過一定數(shù)量的聚類(假設(shè)k個(gè)聚類)對給定的數(shù)據(jù)集進(jìn)行分類。 集群內(nèi)的數(shù)據(jù)點(diǎn)與對等組是同構(gòu)的和異構(gòu)的。

嘗試從油墨印跡中找出形狀?(見下圖) k means 與這個(gè)活動(dòng)相似, 你通過墨水漬形狀來判斷有多少群體存在!

 

 

下面兩點(diǎn)感覺原文解釋的不是很清楚,自己然后查了下國內(nèi)的解釋方法

K-means如何形成集群

(1) 從 n個(gè)數(shù)據(jù)對象任意選擇 k 個(gè)對象作為初始聚類中心;

(2) 根據(jù)每個(gè)聚類對象的均值(中心對象),計(jì)算每個(gè)對象與這些中心對象的距離;并根據(jù)最小距離重新對相應(yīng)對象進(jìn)行劃分;

(3) 重新計(jì)算每個(gè)(有變化)聚類的均值(中心對象)

(4) 循環(huán)(2)到(3)直到每個(gè)聚類不再發(fā)生變化為止參考

例子

從上圖中,我們可以看到,A,B,C,D,E是五個(gè)在圖中點(diǎn)。而灰色的點(diǎn)是我們的種子點(diǎn),也就是我們用來找點(diǎn)群的點(diǎn)。有兩個(gè)種子點(diǎn),所以K=2。

然后,K-Means的算法如下:

隨機(jī)在圖中取K(這里K=2)個(gè)種子點(diǎn)。

然后對圖中的所有點(diǎn)求到這K個(gè)種子點(diǎn)的距離,假如點(diǎn)Pi離種子點(diǎn)Si最近,那么Pi屬于Si點(diǎn)群。(上圖中,我們可以看到A,B屬于上面的種子點(diǎn),C,D,E屬于下面中部的種子點(diǎn))

接下來,我們要移動(dòng)種子點(diǎn)到屬于他的“點(diǎn)群”的中心。(見圖上的第三步)

然后重復(fù)第2)和第3)步,直到,種子點(diǎn)沒有移動(dòng)(我們可以看到圖中的第四步上面的種子點(diǎn)聚合了A,B,C,下面的種子點(diǎn)聚合了D,E)。

K值如何確定

在實(shí)際應(yīng)用中,由于Kmean一般作為數(shù)據(jù)預(yù)處理,或者用于輔助分聚類貼標(biāo)簽。所以k一般不會(huì)設(shè)置很大。可以通過枚舉,令k從2到一個(gè)固定值如10,在每個(gè)k值上重復(fù)運(yùn)行數(shù)次kmeans(避免局部最優(yōu)解),并計(jì)算當(dāng)前k的平均輪廓系數(shù),最后選取輪廓系數(shù)最大的值對應(yīng)的k作為最終的集群數(shù)目。參考

我們知道隨著群集數(shù)量的增加,該值不斷減少,但是如果繪制結(jié)果,則可能會(huì)發(fā)現(xiàn)平方距離的總和急劇下降到k的某個(gè)值,然后再慢一些。 在這里,我們可以找到最佳聚類數(shù)。

 

 

Python Code

#Import Library

from sklearn.cluster import KMeans

#Assumed you have, X (attributes) for training data set and x_test(attributes) of test_dataset

# Create KNeighbors classifier object model

k_means = KMeans(n_clusters=3, random_state=0)

# Train the model using the training sets and check score

model.fit(X)

#Predict Output

predicted= model.predict(x_test)

R Code

library(cluster)

fit <- kmeans(X, 3) # 5 cluster solution

8. Random Forest(隨機(jī)樹林)

隨機(jī)森林(Random Forest)是一個(gè)包含多個(gè)決策樹的分類器, 其輸出的類別由個(gè)別樹輸出類別的眾數(shù)而定。(相當(dāng)于許多不同領(lǐng)域的專家對數(shù)據(jù)進(jìn)行分類判斷,然后投票)

 

 

感覺原文沒有將什么實(shí)質(zhì)內(nèi)容,給大家推進(jìn)這一篇Random Forest入門

9. 降維算法

在過去的4-5年中,數(shù)據(jù)挖掘在每個(gè)可能的階段都呈指數(shù)級增長。 公司/政府機(jī)構(gòu)/研究機(jī)構(gòu)不僅有新的來源,而且他們正在非常詳細(xì)地挖掘數(shù)據(jù)。

例如:電子商務(wù)公司正在捕獲更多關(guān)于客戶的細(xì)節(jié),例如人口統(tǒng)計(jì),網(wǎng)絡(luò)爬網(wǎng)歷史,他們喜歡或不喜歡的內(nèi)容,購買歷史記錄,反饋信息等等,給予他們個(gè)性化的關(guān)注,而不是離你最近的雜貨店主。

作為數(shù)據(jù)科學(xué)家,我們提供的數(shù)據(jù)還包括許多功能,這對建立良好的穩(wěn)健模型是非常有用的,但是有一個(gè)挑戰(zhàn)。 你如何識別出1000或2000年高度重要的變量? 在這種情況下,維數(shù)降低算法可以幫助我們與決策樹,隨機(jī)森林,PCA,因子分析,基于相關(guān)矩陣,缺失值比等的其他算法一起使用。

要了解更多有關(guān)此算法的信息,您可以閱讀 “Beginners Guide To Learn Dimension Reduction Techniques“.

Python Code

#Import Library

from sklearn import decomposition

#Assumed you have training and test data set as train and test

# Create PCA obeject pca= decomposition.PCA(n_components=k) #default value of k =min(n_sample, n_features)

# For Factor analysis

#fa= decomposition.FactorAnalysis()

# Reduced the dimension of training dataset using PCA

train_reduced = pca.fit_transform(train)

#Reduced the dimension of test dataset

test_reduced = pca.transform(test)

For more detail on this, please refer this link.

R Code

library(stats)

pca <- princomp(train, cor = TRUE)

train_reduced <- predict(pca,train)

test_reduced <- predict(pca,test)

10. Gradient Boosting & AdaBoost

當(dāng)我們處理大量數(shù)據(jù)以預(yù)測高預(yù)測能力時(shí),GBM&AdaBoost是更加強(qiáng)大的算法。 Boosting是一種綜合學(xué)習(xí)算法,它結(jié)合了幾個(gè)基本估計(jì)器的預(yù)測,以提高單個(gè)估計(jì)器的魯棒性。 它將多個(gè)弱或平均預(yù)測值組合到一個(gè)強(qiáng)大的預(yù)測變量上。 這些提升算法在數(shù)據(jù)科學(xué)比賽中總是能夠很好地運(yùn)行,如Kaggle,AV Hackathon,CrowdAnalytix。

More: Know about Gradient and AdaBoost in detail

Python Code

#Import Library

from sklearn.ensemble import GradientBoostingClassifier

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create Gradient Boosting Classifier object

model= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

R Code

library(caret)

x <- cbind(x_train,y_train)

# Fitting model

fitControl <- trainControl( method = "repeatedcv", number = 4, repeats = 4)

fit <- train(y ~ ., data = x, method = "gbm", trControl = fitControl,verbose = FALSE)

predicted= predict(fit,x_test,type= "prob")[,2]

結(jié)束語

現(xiàn)在我相信,你會(huì)有一個(gè)常用的機(jī)器學(xué)習(xí)算法的想法。 我在寫這篇文章和提供R和Python中的代碼的唯一意圖就是讓你馬上開始。 如果您想要掌握機(jī)器學(xué)習(xí),請將算法運(yùn)用實(shí)際問題,體會(huì)其中的樂趣

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉