機器學習與計算機視覺(sklearn快速上手)

2021-08-07 23:14:58 字數 3112 閱讀 5804

很多熟悉機器學習的同學,都知道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年將迎來 人工智慧 的春天。未來幾年也是人工智慧在金融 醫療 教育等大資料行業以及感知互動領域全面滲透的時期,我們正迎來...