本文實例講述了Python使用sklearn庫實現(xiàn)的各種分類算法簡單應(yīng)用。分享給大家供大家參考,具體如下:
KNN
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
def KNN(X,y,XX):#X,y 分別為訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)和標(biāo)簽,XX為測試數(shù)據(jù)
model = KNeighborsClassifier(n_neighbors=10)#默認(rèn)為5
model.fit(X,y)
predicted = model.predict(XX)
return predicted
SVM
from sklearn.svm import SVC
def SVM(X,y,XX):
model = SVC(c=5.0)
model.fit(X,y)
predicted = model.predict(XX)
return predicted
SVM Classifier using cross validation
def svm_cross_validation(train_x, train_y):
from sklearn.grid_search import GridSearchCV
from sklearn.svm import SVC
model = SVC(kernel='rbf', probability=True)
param_grid = {'C': [1e-3, 1e-2, 1e-1, 1, 10, 100, 1000], 'gamma': [0.001, 0.0001]}
grid_search = GridSearchCV(model, param_grid, n_jobs = 1, verbose=1)
grid_search.fit(train_x, train_y)
best_parameters = grid_search.best_estimator_.get_params()
for para, val in list(best_parameters.items()):
print(para, val)
model = SVC(kernel='rbf', C=best_parameters['C'], gamma=best_parameters['gamma'], probability=True)
model.fit(train_x, train_y)
return model
LR
from sklearn.linear_model import LogisticRegression
def LR(X,y,XX):
model = LogisticRegression()
model.fit(X,y)
predicted = model.predict(XX)
return predicted
決策樹(CART)
from sklearn.tree import DecisionTreeClassifier
def CTRA(X,y,XX):
model = DecisionTreeClassifier()
model.fit(X,y)
predicted = model.predict(XX)
return predicted
隨機森林
from sklearn.ensemble import RandomForestClassifier
def CTRA(X,y,XX):
model = RandomForestClassifier()
model.fit(X,y)
predicted = model.predict(XX)
return predicted
GBDT(Gradient Boosting Decision Tree)
from sklearn.ensemble import GradientBoostingClassifier
def CTRA(X,y,XX):
model = GradientBoostingClassifier()
model.fit(X,y)
predicted = model.predict(XX)
return predicted
樸素貝葉斯: 一個是基于高斯分布求概率,一個是基于多項式分布求概率,一個是基于伯努利分布求概率。
from sklearn.naive_bayes import GaussianNB
from sklearn.naive_bayes import MultinomialNB
from sklearn.naive_bayes import BernoulliNB
def GNB(X,y,XX):
model =GaussianNB()
model.fit(X,y)
predicted = model.predict(XX)
return predicted
def MNB(X,y,XX):
model = MultinomialNB()
model.fit(X,y)
predicted = model.predict(XX
return predicted
def BNB(X,y,XX):
model = BernoulliNB()
model.fit(X,y)
predicted = model.predict(XX
return predicted
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

