8種頂級Python機器學習算法-你必須學習

今天袒餐,我們將更深入地學習和實現(xiàn)8個頂級Python機器學習算法茶宵。

讓我們開始Python編程中的機器學習算法之旅撵幽。

8 Python機器學習算法 - 你必須學習

以下是Python機器學習的算法:

1遗菠。線性回歸

線性回歸是受監(jiān)督的Python機器學習算法之一,它可以觀察連續(xù)特征并預測結果血柳。根據(jù)它是在單個變量上還是在許多特征上運行,我們可以將其稱為簡單線性回歸或多元線性回歸生兆。

這是最受歡迎的Python ML算法之一难捌,經(jīng)常被低估。它為變量分配最佳權重以創(chuàng)建線ax + b來預測輸出鸦难。我們經(jīng)常使用線性回歸來估計實際值根吁,例如基于連續(xù)變量的房屋調用和房屋成本『媳危回歸線是擬合Y = a * X + b的最佳線婴栽,表示獨立變量和因變量之間的關系。

您是否了解Python機器學習環(huán)境設置辈末?

讓我們?yōu)樘悄虿?shù)據(jù)集繪制這個圖愚争。

>>>將matplotlib.pyplot導入為plt

>>>將numpy導入為np

>>>來自sklearn導入數(shù)據(jù)集,linear_model

>>>來自sklearn.metrics import mean_squared_error挤聘,r2_score

>>>糖尿病=數(shù)據(jù)集轰枝。load_diabetes?()

>>> diabetes_X = diabetes.data [ :,np.newaxis组去,2 ]

>>> diabetes_X_train = diabetes_X [ : - 30 ] #splitting數(shù)據(jù)到訓練和測試集

>>> diabetes_X_test = diabetes_X [ - 30 :]

>>> diabetes_y_train = diabetes.target [ : - 30 ] #splitting目標分為訓練和測試集

>>> diabetes_y_test = diabetes.target [ - 30 :]

>>> regr = linear_model鞍陨。LinearRegression?()#線性回歸對象

>>> regr。fit (diabetes_X_train从隆,diabetes_y_train )#Use training set訓練模型

LinearRegression(copy_X = True诚撵,fit_intercept = True,n_jobs = 1键闺,normalize = False)

>>> diabetes_y_pred = regr寿烟。預測(diabetes_X_test )#Make預測

>>> regr.coef_

陣列([941.43097333])

>>>?mean_squared_error?(diabetes_y_test,diabetes_y_pred )

3035.0601152912695

>>>?r2_score?(diabetes_y_test辛燥,diabetes_y_pred )#Variance得分

0.410920728135835

>>> plt筛武。散射(diabetes_X_test缝其,diabetes_y_test,color = 'lavender' )

>>> plt徘六。情節(jié)(diabetes_X_test内边,diabetes_y_pred,color = 'pink' 待锈,linewidth = 3 )

[]

>>> plt漠其。xticks?(())

([],

>>> plt竿音。yticks?(())

([]辉懒,

>>> plt。show?()

Python機器學習算法 - 線性回歸

2 Logistic回歸

Logistic回歸是一種受監(jiān)督的分類Python機器學習算法谍失,可用于估計離散值眶俩,如0/1,是/否和真/假快鱼。這是基于一組給定的自變量颠印。我們使用邏輯函數(shù)來預測事件的概率,這給出了0到1之間的輸出抹竹。

雖然它說'回歸'线罕,但這實際上是一種分類算法。Logistic回歸將數(shù)據(jù)擬合到logit函數(shù)中窃判,也稱為logit回歸钞楼。讓我們描繪一下。

>>>將numpy導入為np

>>>將matplotlib.pyplot導入為plt

>>>來自sklearn import linear_model

>>> XMIN袄琳,XMAX = - 7 询件,7 #TEST集; 高斯噪聲的直線

>>> n_samples = 77

>>> np.random。種子(0 )

>>> x = np.random唆樊。正常(size = n_samples )

>>> y = (x> 0 )宛琅。astype?(np.float )

>>> x [ x> 0 ] * = 3

>>> x + =。4 * np.random逗旁。正常(size = n_samples )

>>> x = x [ :嘿辟,np.newaxis ]

>>> clf = linear_model。LogisticRegression (C = 1e4 )#Classifier

>>> clf片效。適合(x红伦,y )

>>> plt。圖(1 淀衣,figsize = (3 昙读,4 ))

<圖大小與300x400 0 軸>

>>> plt。clf?()

>>> plt舌缤。散射(X箕戳。拆紗()中,Y国撵,顏色= '薰衣草' 陵吸,ZORDER = 17 )

>>> x_test = np。linspace (- 7 介牙,7 壮虫,277 )

>>> def?model?(x ):

返回1 / (1個+ NP。EXP?(-x ))

>>> loss =?model?(x_test * clf.coef_ + clf.intercept_ )环础。拉威爾()

>>> plt囚似。plot?(x_test,loss线得,color = 'pink' 饶唤,linewidth = 2.5 )

[]

>>> ols = linear_model。LinearRegression?()

>>> ols贯钩。適合(x募狂,y )

LinearRegression(copy_X = True,fit_intercept = True角雷,n_jobs = 1祸穷,normalize = False)

>>> plt。plot?(x_test勺三,ols.coef_ * x_test + ols.intercept_雷滚,linewidth = 1 )

[]

>>> plt。axhline?(吗坚。4 祈远,顏色= ” 0.4' )

>>> plt。ylabel?('y' )

文本(0,0.5商源, 'Y')

>>> plt绊含。xlabel?('x' )

文本(0.5,0, 'X')

>>> plt炊汹。xticks?范圍(- 7 躬充,7 ))

>>> plt。yticks ([ 0 讨便,0.4 充甚,1 ] )

>>> plt。ylim (- 霸褒。25 伴找,1.25 )

(-0.25,1.25)

>>> plt。XLIM?(- 4 废菱,10 )

(-4,10)

>>> plt技矮。圖例(('Logistic回歸' 抖誉,'線性回歸' ),loc = '右下' 衰倦,fontsize = 'small' )

>>> plt袒炉。show?()

機器學習算法 - Logistic Regreesion

3。決策樹

決策樹屬于受監(jiān)督的Python機器學習學習樊零,并且用于分類和回歸 - 盡管主要用于分類我磁。此模型接受一個實例,遍歷樹驻襟,并將重要特征與確定的條件語句進行比較夺艰。是下降到左子分支還是右分支取決于結果。通常沉衣,更重要的功能更接近根郁副。

這種Python機器學習算法可以對分類和連續(xù)因變量起作用。在這里豌习,我們將人口分成兩個或更多個同類集霞势。讓我們看看這個算法 -

>>>來自sklearn.cross_validation import train_test_split

>>>來自sklearn.tree導入DecisionTreeClassifier

>>>來自sklearn.metrics import accuracy_score

>>>來自sklearn.metrics import classification_report

>>> def?importdata?():#Importing data

balance_data = PD。read_csv?( 'https://archive.ics.uci.edu/ml/machine-learning-' +

'databases / balance-scale / balance-scale.data' 斑鸦,

sep = '愕贡,' ,header = None )

print?len?(balance_data ))

print?(balance_data.shape )

打印(balance_data巷屿。())

return balance_data

>>> def?splitdataset?(balance_data ):#?Splitting 數(shù)據(jù)

x = balance_data.values [ :固以,1 :5 ]

y = balance_data.values [ :,0 ]

x_train嘱巾,x_test憨琳,y_train,y_test =?train_test_split?

x旬昭,y篙螟,test_size = 0.3 ,random_state = 100 )

返回x问拘,y遍略,x_train,x_test骤坐,y_train绪杏,y_test

>>> def?train_using_gini?(x_train,x_test纽绍,y_train ):#gining with giniIndex

clf_gini =?DecisionTreeClassifier?(criterion = “ gini ” 蕾久,

random_state = 100 ,max_depth = 3 拌夏,min_samples_leaf = 5 )

clf_gini僧著。適合(x_train履因,y_train )

返回clf_gini

>>> def?train_using_entropy?(x_train,x_test盹愚,y_train ):#Training with entropy

clf_entropy =?DecisionTreeClassifier?

criterion = “entropy” 栅迄,random_state = 100 ,

max_depth = 3 杯拐,min_samples_leaf = 5 )

clf_entropy霞篡。適合(x_train世蔗,y_train )

返回clf_entropy

>>> def?預測(x_test端逼,clf_object ):#制作預測

y_pred = clf_object。預測(x_test )

print?(f “預測值:{y_pred}” )

返回y_pred

>>> def?cal_accuracy?(y_test污淋,y_pred ):#計算準確性

print?confusion_matrix?(y_test顶滩,y_pred ))

打印accuracy_score?(y_test,y_pred )* 100 )

print?classification_report?(y_test寸爆,y_pred ))

>>> data =?importdata?()

625

(625,5)

0 1 2 3 4

0 B 1 1 1 1

1 R 1 1 1 2

2 R 1 1 1 3

3 R 1 1 1 4

4 R 1 1 1 5

>>> x礁鲁,y,x_train赁豆,x_test仅醇,y_train,y_test =?splitdataset?(data )

>>> clf_gini =?train_using_gini?(x_train魔种,x_test析二,y_train )

>>> clf_entropy =?train_using_entropy?(x_train,x_test节预,y_train )

>>> y_pred_gini =?預測(x_test叶摄,clf_gini )

Python機器學習算法 - 決策樹

>>>?cal_accuracy?(y_test,y_pred_gini )

[[0 6 7]

[0 67 18]

[0 19 71]]

73.40425531914893

Python機器學習算法 - 決策樹

>>> y_pred_entropy =?預測(x_test安拟,clf_entropy )

Python機器學習算法 - 決策樹

>>>?cal_accuracy?(y_test蛤吓,y_pred_entropy )

[[0 6 7]

[0 63 22]

[0 20 70]]

70.74468085106383

Python機器學習算法 - 決策樹

4。支持向量機(SVM)

SVM是一種受監(jiān)督的分類Python機器學習算法糠赦,它繪制了一條劃分不同類別數(shù)據(jù)的線会傲。在這個ML算法中,我們計算向量以優(yōu)化線拙泽。這是為了確保每組中最近的點彼此相距最遠唆铐。雖然你幾乎總會發(fā)現(xiàn)這是一個線性向量,但它可能不是那樣的奔滑。

在這個Python機器學習教程中艾岂,我們將每個數(shù)據(jù)項繪制為n維空間中的一個點。我們有n個特征朋其,每個特征都具有某個坐標的值王浴。

首先脆炎,讓我們繪制一個數(shù)據(jù)集。

>>>來自sklearn.datasets.samples_generator import make_blobs

>>> x氓辣,y =?make_blobs?(n_samples = 500 秒裕,centers = 2 ,

random_state = 0 钞啸,cluster_std = 0 .40 )

>>>將matplotlib.pyplot導入為plt

>>> plt几蜻。scatter?(x [ :,0 ] 体斩,x [ :梭稚,1 ] ,c = y絮吵,s = 50 弧烤,cmap = 'plasma' )

位于0x04E1BBF0的

>>> plt。show?()

Python機器學習算法 - SVM

>>>將numpy導入為np

>>> xfit = np蹬敲。linspace?(- 1 暇昂,3 0.5 )

>>> plt。scatter?(X [ :伴嗡,0 ] 急波,X [ :,1 ] 瘪校,c = Y澄暮,s = 50 ,cmap = 'plasma' )

>>>為M渣淤,B赏寇,d在[ (1 ,0.65 价认,0.33 )嗅定,(0.5 ,1.6 用踩,0.55 )渠退,(- 0 0.2 ,2 0.9 脐彩,0.2 )] :

yfit = m * xfit + b

PLT日矫。情節(jié)(xfit沪铭,yfit,' - k' )

PLT。fill_between (xfit 珊膜,yfit - d,yfit + d,edgecolor = 'none' ,

color = '#AFFEDC' 嵌言,alpha = 0.4 )

[]

[]

[]

>>> plt。XLIM?(- 1 及穗,3.5 )

(-1,3.5)

>>> plt摧茴。show?()

Python機器學習算法 - SVM

5, 樸素貝葉斯

樸素貝葉斯是一種基于貝葉斯定理的分類方法埂陆。這假定預測變量之間的獨立性苛白。樸素貝葉斯分類器將假定類中的特征與任何其他特征無關》偈考慮一個水果购裙。這是一個蘋果,如果它是圓形著摔,紅色缓窜,直徑2.5英寸定续。樸素貝葉斯分類器將說這些特征獨立地促成果實成為蘋果的概率谍咆。即使功能相互依賴,這也是如此私股。

對于非常大的數(shù)據(jù)集摹察,很容易構建樸素貝葉斯模型。這種模型不僅非常簡單倡鲸,而且比許多高度復雜的分類方法表現(xiàn)更好供嚎。讓我們建立這個。

>>>來自sklearn.naive_bayes導入GaussianNB

>>>來自sklearn.naive_bayes導入MultinomialNB

>>>來自sklearn導入數(shù)據(jù)集

>>>來自sklearn.metrics import confusion_matrix

>>>來自sklearn.model_selection import train_test_split

>>> iris =數(shù)據(jù)集峭状。load_iris?()

>>> x = iris.data

>>> y = iris.target

>>> x_train克滴,x_test,y_train优床,y_test =?train_test_split?(x劝赔,y,test_size = 0 .3 胆敞,random_state = 0 )

>>> gnb =?GaussianNB?()

>>> MNB =?MultinomialNB?()

>>> y_pred_gnb = gnb着帽。適合(x_train,y_train )移层。預測(x_test )

>>> cnf_matrix_gnb =?confusion_matrix?(y_test仍翰,y_pred_gnb )

>>> cnf_matrix_gnb

數(shù)組([[16,0,0],

[0,18,0]观话,

[0,0,11]]予借,dtype = int64)

>>> y_pred_mnb = mnb。適合(x_train,y_train )灵迫。預測(x_test )

>>> cnf_matrix_mnb =?confusion_matrix?(y_test喧笔,y_pred_mnb )

>>> cnf_matrix_mnb

數(shù)組([[16,0,0],

[0,0,18]龟再,

[0,0,11]]书闸,dtype = int64)

6。kNN(k-Nearest Neighbors)

這是一種用于分類和回歸的Python機器學習算法 - 主要用于分類利凑。這是一種監(jiān)督學習算法浆劲,它考慮不同的質心并使用通常的歐幾里德函數(shù)來比較距離。然后哀澈,它分析結果并將每個點分類到組以優(yōu)化它以放置所有最接近的點牌借。它使用其鄰居k的多數(shù)票對新案件進行分類。它分配給一個類的情況是其K個最近鄰居中最常見的一個割按。為此膨报,它使用距離函數(shù)。

I,對整個數(shù)據(jù)集進行培訓和測試

>>>來自sklearn.datasets import load_iris

>>> iris =?load_iris?()

>>> x = iris.data

>>> y = iris.target

>>>來自sklearn.linear_model import LogisticRegression

>>> logreg =?LogisticRegression?()

>>> logreg适荣。適合(x现柠,y )

LogisticRegression(C = 1.0,class_weight = None弛矛,dual = False够吩,fit_intercept = True,

intercept_scaling = 1丈氓,max_iter = 100周循,multi_class ='ovr',n_jobs = 1万俗,

penalty ='l2'湾笛,random_state = None,solver ='liblinear'闰歪,tol = 0.0001嚎研,

verbose = 0,warm_start = False)

>>> logreg课竣。預測(x )

array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0嘉赎,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1于樟,

1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2公条,

2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,

2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]]

>>> y_pred = logreg迂曲。預測(x )

>>>?len?(y_pred )

150

>>>來自sklearn導入指標

>>>指標靶橱。accuracy_score?(y,y_pred )

0.96

>>>來自sklearn.neighbors導入KNeighborsClassifier

>>> knn =?KNeighborsClassifier?(n_neighbors = 5 )

>>> knn。適合(x关霸,y )

KNeighborsClassifier(algorithm ='auto'传黄,leaf_size = 30,metric ='minkowski'队寇,

metric_params =無膘掰,n_jobs = 1,n_neighbors = 5佳遣,p = 2识埋,

權重=“均勻”)

>>> y_pred = knn。預測(x )

>>>指標零渐。accuracy_score?(y窒舟,y_pred )

0.9666666666666667

>>> knn =?KNeighborsClassifier?(n_neighbors = 1 )

>>> knn。適合(x诵盼,y )

KNeighborsClassifier(algorithm ='auto'惠豺,leaf_size = 30,metric ='minkowski'风宁,

metric_params =無洁墙,n_jobs = 1,n_neighbors = 1杀糯,p = 2扫俺,

權重=“均勻”)

>>> y_pred = knn苍苞。預測(x )

>>>指標固翰。accuracy_score?(y,y_pred )

1.0

II羹呵。分裂成火車/測試

>>> x.shape

(150,4)

>>> y.shape

(150)

>>>來自sklearn.cross_validation import train_test_split

>>> x.shape

(150,4)

>>> y.shape

(150)

>>>來自sklearn.cross_validation import train_test_split

>>> x_train骂际,x_test,y_train冈欢,y_test =?train_test_split?(x歉铝,y,test_size = 0.4 凑耻,random_state = 4 )

>>> x_train.shape

(90,4)

>>> x_test.shape

(60,4)

>>> y_train.shape

(90)

>>> y_test.shape

(60)

>>> logreg =?LogisticRegression?()

>>> logreg太示。適合(x_train,y_train )

>>> y_pred = knn香浩。預測(x_test )

>>>指標类缤。accuracy_score?(y_test,y_pred )

0.9666666666666667

>>> knn =?KNeighborsClassifier?(n_neighbors = 5 )

>>> knn邻吭。適合(x_train餐弱,y_train )

KNeighborsClassifier(algorithm ='auto',leaf_size = 30,metric ='minkowski'膏蚓,

metric_params =無瓢谢,n_jobs = 1,n_neighbors = 5驮瞧,p = 2氓扛,

權重=“均勻”)

>>> y_pred = knn。預測(x_test )

>>>指標幢尚。accuracy_score?(y_test翅楼,y_pred )

0.9666666666666667

>>> k_range =?范圍(1 ,26 )

>>>得分= [ ]

>>> for k in k_range:

knn =?KNeighborsClassifier?(n_neighbors = k )

KNN毅臊。適合(x_train理茎,y_train )

y_pred = knn管嬉。預測(x_test )

分數(shù)。追加(指標蚯撩。accuracy_score?(y_test础倍,y_pred ))

>>>分數(shù)

[0.95胎挎,0.95,0.9666666666666667德迹,0.9666666666666667揭芍,0.9666666666666667,0.9833333333333333肌毅,0.9833333333333333姑原,0.9833333333333333页衙,0.9833333333333333阴绢,0.9833333333333333呻袭,0.9833333333333333腺兴,0.9833333333333333页响,0.9833333333333333,0.9833333333333333栈拖,0.9833333333333333没陡,0.9833333333333333盼玄,0.9833333333333333贴彼,0.9666666666666667器仗,0.9833333333333333童番,0.9666666666666667妓盲,0.9666666666666667,0.9666666666666667,0.9666666666666667 0.95筋粗,0.95 ]

>>>將matplotlib.pyplot導入為plt

>>> plt炸渡。情節(jié)(k_range蚌堵,分數(shù))

[]

>>> plt沛婴。xlabel?('k代表kNN' )

文字(0.5,0嘁灯,'k為kNN')

>>> plt丑婿。ylabel?('測試準確度' )

文字(0,0.5没卸,'測試準確度')

>>> plt约计。show?()

Python機器學習算法 - kNN(k-Nearest Neighbors)

閱讀Python統(tǒng)計數(shù)據(jù) - p值,相關性炫加,T檢驗俗孝,KS檢驗

7魄健。K-Means

k-Means是一種無監(jiān)督算法沽瘦,可以解決聚類問題析恋。它使用許多集群對數(shù)據(jù)進行分類。類中的數(shù)據(jù)點與同類組是同構的和異構的筑凫。

>>>將numpy導入為np

>>>將matplotlib.pyplot導入為plt

>>>來自matplotlib導入樣式

>>>風格巍实。使用('ggplot' )

>>>來自sklearn.cluster導入KMeans

>>> X = [ 1 哩牍,5 膝昆,1 0.5 叠必,8 纬朝,1 玄组,9 ]

>>> Y = [ 2 谒麦,8 绕德,1.7 ,6 踪蹬,0 0.2 跃捣,12 ]

>>> plt夺蛇。散射(x刁赦,y )

>>> x = np甚脉。陣列([ [ 1 ,2 ] 狡耻,[ 5 酝豪,8 ] 精堕,[ 1.5 歹篓,1 0.8 ] 庄撮,[ 8 ,8 ] 毡庆,[ 1 么抗,0 0.6 ] 亚铁,[ 9 徘溢,11 ] ] )

>>> kmeans =?KMeans?(n_clusters = 2 )

>>> kmeans然爆。適合(x )

KMeans(algorithm ='auto',copy_x = True奴烙,init ='k-means ++'缸沃,max_iter = 300趾牧,

n_clusters = 2肯污,n_init = 10蹦渣,n_jobs = 1柬唯,precompute_distances ='auto',

random_state =無失晴,tol = 0.0001涂屁,verbose = 0)

>>> centroids = kmeans.cluster_centers_

>>> labels = kmeans.labels_

>>>質心

數(shù)組([[1.16666667,1.46666667]拆又,

[7.33333333,9。]])

>>>標簽

數(shù)組([0,1,0,1,0,1])

>>> colors = [ 'g帖族。' 盟萨,'r捻激。' 胞谭,'c。' 调俘,'呃彩库。' ]

>>> for i in?range?len?(x )):

print?(x [ i ] 骇钦,labels [ i ] )

PLT眯搭。plot (x [ i ] [ 0 ] 业岁,x [ i ] [ 1 ] 笔时,colors [ labels [ i ] ] ,markersize = 10 )

[1爹梁。2.] 0

[]

[5提澎。8.] 1

[]

[1.5 1.8] 0

[]

[8盼忌。8.] 1

[]

[1谦纱。0.6] 0

[]

[9. 11.] 1

[]

>>> plt跨嘉。scatter (centroids [ :吃嘿,0 ] 兑燥,centroids [ :降瞳,1 ] 挣饥,marker = 'x' ,s = 150 汛聚,linewidths = 5 贞岭,zorder = 10 )

>>> plt瞄桨。show?()

8芯侥。Random Forest

Random Forest是決策樹的集合柱查。為了根據(jù)其屬性對每個新對象進行分類唉工,樹投票給類 - 每個樹提供一個分類淋硝。投票最多的分類在Random

中獲勝谣膳。

>>>將numpy導入為np

>>>將pylab導入為pl

>>> x = np.random继谚。均勻的(1 ,100 芽世,1000 )

>>> y = np捂襟。log (x )+ np.random葬荷。正常(0 宠漩,扒吁。3 室囊,1000 )

>>> pl融撞。scatter (x尝偎,y,s = 1 当辐,label = 'log(x)with noise' )

>>> pl缘揪。情節(jié)(NP寺晌。人氣指數(shù)(1 澡刹,100 )罢浇,NP嚷闭。日志(NP胞锰。人氣指數(shù)(1 嗅榕,100 ))中凌那,c = 'B' 帽蝶,標記= '日志(x)的函數(shù)真' )

[]

>>> pl励稳。xlabel?('x' )

文本(0.5,0驹尼, 'X')

>>> pl扶欣。ylabel?('f(x)= log(x)' )

文本(0,0.5料祠, 'F(X)=日志(X)')

>>> pl髓绽。傳奇(loc = 'best' )

>>> pl顺呕。標題('基本日志功能' )

文字(0.5,1株茶,'基本日志功能')

>>> pl启盛。show?()

Python機器學習算法 -

>>>來自sklearn.datasets import load_iris

>>>來自sklearn.ensemble導入RandomForestClassifier

>>>將pandas導入為pd

>>>將numpy導入為np

>>> iris =?load_iris?()

>>> df = pd卧抗。DataFrame?(iris.data鳖粟,columns = iris.feature_names )

>>> df [ 'is_train' ] = np.random。均勻的(0 向图,1 泳秀,LEN?(DF ))<=。75

>>> df [ 'species' ] = pd.Categorical张漂。from_codes (iris.target晶默,iris.target_names )

>>> df。()

萼片長度(厘米)萼片寬度(厘米)... is_train物種

0 5.1 3.5 ...真正的setosa

1 4.9 3.0 ...真正的setosa

2 4.7 3.2 ...真正的setosa

3 4.6 3.1 ...真正的setosa

4 5.0 3.6 ...假setosa

[5行x 6列]

>>> train航攒,test = df [ df [ 'is_train' ] == True ] 磺陡,df [ df [ 'is_train' ] == False ]

>>> features = df.columns [ :4 ]

>>> clf =?RandomForestClassifier?(n_jobs = 2 )

>>> y漠畜,_ = pd币他。factorize (train [ 'species' ] )

>>> clf。適合(火車[ 功能] 憔狞,y )

RandomForestClassifier(bootstrap = True蝴悉,class_weight = None,criterion ='gini'瘾敢,

max_depth =無拍冠,max_features ='auto'尿这,max_leaf_nodes =無,

min_impurity_decrease = 0.0庆杜,min_impurity_split =無射众,

min_samples_leaf = 1,min_samples_split = 2晃财,

min_weight_fraction_leaf = 0.0叨橱,n_estimators = 10,n_jobs = 2断盛,

oob_score = False罗洗,random_state = None,verbose = 0钢猛,

warm_start = FALSE)

>>> preds = iris.target_names [ clf伙菜。預測(測試[ 特征] )]

>>> pd。交叉表(test [ 'species' ] 厢洞,preds仇让,rownames = [ 'actual' ] ,colnames = [ 'preds' ] )

preds setosa versicolor virginica

實際

setosa 12 0 0

versicolor 0 17 2

virginica 0 1 15

所以躺翻,這就是Python機器學習算法教程。希望你喜歡卫玖。

因此公你,今天我們討論了八個重要的Python機器學習算法。您認為哪一個最具潛力假瞬?希望大家多多關注陕靠,更多精彩的文章帶給大家!

大家對大數(shù)據(jù)感興趣的可以關注我的微信公眾號:大數(shù)據(jù)技術工程師

里面每天都會分享一些精彩文章脱茉,更有大數(shù)據(jù)基礎與項目實戰(zhàn)剪芥,java面試技巧,Python學習資料等等? 提供給大家免費學習琴许,回復關鍵字就可以領取哦

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末税肪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子榜田,更是在濱河造成了極大的恐慌益兄,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箭券,死亡現(xiàn)場離奇詭異净捅,居然都是意外死亡,警方通過查閱死者的電腦和手機辩块,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門蛔六,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荆永,“玉大人,你說我怎么就攤上這事国章【咴浚” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵捉腥,是天一觀的道長氓拼。 經(jīng)常有香客問我,道長抵碟,這世上最難降的妖魔是什么桃漾? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮拟逮,結果婚禮上撬统,老公的妹妹穿的比我還像新娘。我一直安慰自己敦迄,他們只是感情好恋追,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罚屋,像睡著了一般苦囱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脾猛,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天撕彤,我揣著相機與錄音,去河邊找鬼猛拴。 笑死羹铅,一個胖子當著我的面吹牛,可吹牛的內容都是我干的愉昆。 我是一名探鬼主播职员,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼跛溉!你這毒婦竟也來了焊切?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤倒谷,失蹤者是張志新(化名)和其女友劉穎蛛蒙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渤愁,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡牵祟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了抖格。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诺苹。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡咕晋,死狀恐怖,靈堂內的尸體忽然破棺而出收奔,到底是詐尸還是另有隱情掌呜,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布坪哄,位于F島的核電站质蕉,受9級特大地震影響,放射性物質發(fā)生泄漏翩肌。R本人自食惡果不足惜模暗,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望念祭。 院中可真熱鬧兑宇,春花似錦、人聲如沸粱坤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽站玄。三九已至枚驻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間株旷,已是汗流浹背测秸。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留灾常,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓铃拇,卻偏偏與公主長得像钞瀑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慷荔,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容