秦培煜 胡艷芬
1.武漢軟件工程職業(yè)學(xué)院; 2.中國地質(zhì)大學(xué)(武漢)
隨著大數(shù)據(jù)和人工智能時(shí)代的到來,機(jī)器學(xué)習(xí)得到了越來越多的應(yīng)用。機(jī)器學(xué)習(xí)大致分為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),分類屬于監(jiān)督學(xué)習(xí)范疇[1]。本文使用scikit-learn對自帶的鳶尾花數(shù)據(jù)進(jìn)行了分類和分析[2]。
數(shù)據(jù)使用scikit-learn自帶的boston房價(jià)數(shù)據(jù),使用load_boston函數(shù)加載。
import numpy as np
from sklearn.datasets import load_iris
iris= load_iris()
首先導(dǎo)入numpy和sklearn.datasets中l(wèi)oad_iris函數(shù),使用 load_iris加載鳶尾花數(shù)據(jù),其中iris.data是特征數(shù)據(jù),iris.target是標(biāo)簽數(shù)據(jù)。
from sklearn.preprocessing import MinMaxScaler
minmaxIris = MinMaxScaler().fit_transform(iris.data)
特征數(shù)據(jù)中有些特征量綱特別大,有些特征量綱特別小,不同量綱數(shù)據(jù)放在一起使用,會影響最終預(yù)測結(jié)果。這里使用sklearn.preprocessing里的MinMaxScaler對鳶尾花數(shù)據(jù)進(jìn)行歸一化。iris是歸一化前的數(shù)據(jù),minmaxIris 是歸一化后的數(shù)據(jù)。
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test =train_test_split(minmaxIris ,minmaxIris.target,random_state=100)
這里使用sklearn.model_selection里train_test_split對數(shù)據(jù)進(jìn)行劃分。默認(rèn)數(shù)據(jù)的75%劃分為訓(xùn)練集,25%劃分為測試集。
from sklearn.svm import SVC
svc = SVC().fit(X_train,y_train)
pred = svc.predict(X_test)
使用sklearn.svm里的SVC模型對數(shù)據(jù)進(jìn)行訓(xùn)練并預(yù)測。得到的pred是預(yù)測值數(shù)據(jù)。
from sklearn.metrics import accuracy_score
accuracy_score(y_test,pred)
accuracy_score是準(zhǔn)確率評價(jià)指標(biāo),最后得到真實(shí)值y_test和預(yù)測值pred之間的準(zhǔn)確率為94.74%。
本文基于scikit-learn,對鳶尾花數(shù)據(jù)進(jìn)行了分類并做了評價(jià)分析。首先加載鳶尾花數(shù)據(jù);其次對數(shù)據(jù)進(jìn)行歸一化;然后將數(shù)據(jù)劃分成訓(xùn)練集和測試集,并用支持向量機(jī)分類模型對訓(xùn)練集進(jìn)行訓(xùn)練,對測試集進(jìn)行預(yù)測;最后用準(zhǔn)確率指標(biāo)對預(yù)測結(jié)果進(jìn)行了評價(jià)。整個(gè)過程對于分類有著重要的指導(dǎo)意義。