本文實(shí)例講述了Python使用sklearn庫(kù)實(shí)現(xiàn)的各種分類算法簡(jiǎ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為測(cè)試數(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
決策樹(shù)(CART)
from sklearn.tree import DecisionTreeClassifier def CTRA(X,y,XX): model = DecisionTreeClassifier() model.fit(X,y) predicted = model.predict(XX) return predicted
隨機(jī)森林
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
樸素貝葉斯: 一個(gè)是基于高斯分布求概率,一個(gè)是基于多項(xiàng)式分布求概率,一個(gè)是基于伯努利分布求概率。
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)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
