很多熟悉機器學習的同學,都知道python下面有乙個sklearn的庫。這個庫使用起來很簡單,不但功能多演算法全,而且很多引數都是預設的,使用的時候直接呼叫就可以了。我建議大家,如果是生產使用就直接使用sklearn演算法庫好了,如果是自己練習的話,還是一步一步去練習和分析具體的演算法內容。
sklearn到底有多方便,下面,我們就以一段**加以說明。
#!/usr/bin/python
import os
import sys
import re
from sklearn import datasets
from sklearn.linear_model import logisticregression
from sklearn.*****_bayes import gaussiannb
from sklearn import svm
from sklearn.ensemble import gradientboostingclassifier
from sklearn import tree
from sklearn.neighbors import kneighborsclassifier
from sklearn.ensemble import randomforestclassifier
'''get data here
'''def get_datasets():
iris = datasets.load_iris()
x = iris.data
y = iris.target
return x, y
'''logistic regression classifer
'''def get_logistic_classifier(attr, label):
lr = logisticregression()
lr.fit(attr, label)
return lr
'''bayes classifier
'''def get_gaussian_classifier(attr, label):
gnb = gaussiannb()
gnb.fit(attr, label)
return gnb
'''svm classifier
'''def get_svm_classifier(attr, label):
s = svm.svc()
s.fit(attr, label)
return s
'''gradient boosting decision tree classifier
'''def get_gbdt_classifier(attr, label):
gbdt = gradientboostingclassifier()
gbdt.fit(attr, label)
return gbdt
'''decision tree classifier
'''def get_tree_classifier(attr, label):
dt = tree.decisiontreeclassifier()
dt.fit(attr, label)
return dt
'''knn classifier
'''def get_knn_classifier(attr, label):
knn = kneighborsclassifier()
knn.fit(attr, label)
return knn
'''random forest classifier
'''def get_rf_classifier(attr, label):
rf = randomforestclassifier()
rf.fit(attr, label)
return rf
'''check data accuracy by classifier
'''def check_data(cf, attr, label):
num = len(attr)
if 0 == num:
print 'no data found'
return
count = 0
for i in range(num):
if cf.predict(attr[i]) == label[i]:
count += 1
print 'accuracy is ' + str(count * 100.0 / num) + '%\n'
'''file start function
'''def main():
x, y = get_datasets()
#cf = get_logistic_classifier(x[0:120], y[0:120])
#cf = get_gaussian_classifier(x[0:120], y[0:120])
#cf = get_svm_classifier(x[0:120], y[0:120])
#cf = get_gbdt_classifier(x[0:120], y[0:120])
#cf = get_tree_classifier(x[0:120], y[0:120])
#cf = get_knn_classifier(x[0:120], y[0:120])
cf = get_rf_classifier(x[0:120], y[0:120])
check_data(cf, x[120:150], y[120:150])
if __name__ == '__main__':
main()
上面這段**不是很長,但是包含的內容還是很多的。首先,我們從iris那裡獲取資料,接著利用iris資料進行演算法建模,最後對iris部分資料進行分類判斷。在演算法建模的時候,我們使用了logistic回歸、bayes、svm、gbdt、決策樹、knn、隨即森林等多種學習方法,大家可以根據自己的需要comment和uncommet掉對應的**即可。在使用演算法的時候,我們沒有修改引數,如果對某些演算法特別熟悉,大家可以設定不同的模型引數依次進行分析和練習。**雖然不複雜,但是對自己快速入門還是大有裨益的。
(計算機視覺)計算機視覺基礎
opencv cximage cimg freeimage opencv中vc庫的版本與visual studio版本的對應關係 vc8 2005 vc9 2008 vc10 2010 vc11 2012 vc12 2013 vc14 2015 vc15 2017 visual studio中的輔助...
計算機視覺與機器視覺有什麼區別?
人工智慧是乙個涵蓋幾種特定技術的總稱。本文我們將探索機器視覺 mv 和計算機視覺 cv 它們都涉及到視覺輸入,因此了解這些重疊技術的優勢,侷限性和最佳用例場景非常重要。研究人員早在20世紀50年代就開始開發計算機視覺技術,從簡單的二維成像開始,用於統計模式識別。直到1978年,當麻省理工學院人工智慧...
計算機視覺與深度學習公司
深度學習是大資料下最熱門的趨勢之一。上乙個十年是網際網路的時代,下乙個十年將是人工智慧的時代。國內已經產生大量的人工智慧公司,分布在不同的領域。2016年是人工智慧的元年,2017年將迎來 人工智慧 的春天。未來幾年也是人工智慧在金融 醫療 教育等大資料行業以及感知互動領域全面滲透的時期,我們正迎來...