鳶尾花識(shí)別是一個(gè)經(jīng)典的機(jī)器學(xué)習(xí)分類問(wèn)題,它的數(shù)據(jù)樣本中包括了4個(gè)特征變量,1個(gè)類別變量,樣本總數(shù)為150。
它的目標(biāo)是為了根據(jù)花萼長(zhǎng)度(sepallength)、花萼寬度(sepalwidth)、花瓣長(zhǎng)度(petallength)、花瓣寬度(petalwidth)這四個(gè)特征來(lái)識(shí)別出鳶尾花屬于山鳶尾(iris-setosa)、變色鳶尾(iris-versicolor)和維吉尼亞鳶尾(iris-virginica)中的哪一種。
#引入數(shù)據(jù)集,sklearn包含眾多數(shù)據(jù)集
fromsklearnimportdatasets
#將數(shù)據(jù)分為測(cè)試集和訓(xùn)練集
fromsklearn.model_selectionimporttrain_test_split
#利用鄰近點(diǎn)方式訓(xùn)練數(shù)據(jù)
fromsklearn.neighborsimportKNeighborsClassifier
#引入數(shù)據(jù),本次導(dǎo)入鳶尾花數(shù)據(jù),iris數(shù)據(jù)包含4個(gè)特征變量
iris=datasets.load_iris()
#特征變量
iris_X=iris.data
#print(iris_X)
print('特征變量的長(zhǎng)度',len(iris_X))
#目標(biāo)值
iris_y=iris.target
print('鳶尾花的目標(biāo)值',iris_y)
#利用train_test_split進(jìn)行訓(xùn)練集和測(cè)試機(jī)進(jìn)行分開(kāi),test_size占30%
X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)
#我們看到訓(xùn)練數(shù)據(jù)的特征值分為3類
#print(y_train)
'''
[1102000222102021010201002120010010000
2221112020111122122202220101001222111
2001021201222121001001110211022]
'''
#訓(xùn)練數(shù)據(jù)
#引入訓(xùn)練方法
knn=KNeighborsClassifier()
#進(jìn)行填充測(cè)試數(shù)據(jù)進(jìn)行訓(xùn)練
knn.fit(X_train,y_train)
params=knn.get_params()
print(params)
'''
{'algorithm':'auto','leaf_size':30,'metric':'minkowski',
'metric_params':None,'n_jobs':None,'n_neighbors':5,
'p':2,'weights':'uniform'}
'''
score=knn.score(X_test,y_test)
print("預(yù)測(cè)得分為:%s"%score)
'''
預(yù)測(cè)得分為:0.9555555555555556
[1211221000012010200022022221222122120
21211021]
[1211221000012010200012022221122122120
21211021]
'''
#預(yù)測(cè)數(shù)據(jù),預(yù)測(cè)特征值
print(knn.predict(X_test))
'''
[0222200002202021202102101220210211202
12021012]
'''
#打印真實(shí)特征值
print(y_test)
'''
[1222211112111121102111020200202020220
22010200]
'''
以上內(nèi)容為大家介紹了pythonsklearn的快速使用,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。