一、背景:使用scikit_learn自帶的數(shù)據(jù)集,使用有監(jiān)督學(xué)習(xí)的支持向量機(jī)SVM模型,對(duì)模型進(jìn)行分類(lèi)預(yù)測(cè)。
from sklearnimport datasets#獲取scikit_learn自帶的數(shù)據(jù)集
from sklearn.model_selectionimport train_test_split#數(shù)據(jù)集分割,分為測(cè)試集和訓(xùn)練集
from sklearnimport model_selection#兩種寫(xiě)法
from sklearnimport svm#支持向量機(jī)模型
iris=datasets.load_iris()#載入數(shù)據(jù)集
print(iris.data)#查看數(shù)據(jù)集? 輸入
print(iris.target)#查看分類(lèi)標(biāo)簽 輸出
print(iris.data.shape,iris.target.shape)
#x和y是模型的輸入和輸出
x_train,x_test,y_train,y_test=\
model_selection.train_test_split(iris.data,iris.target,test_size=0.3,random_state=0)
x_train,x_test,y_train,y_test=\
model_selection.train_test_split(iris.data,iris.target,test_size=0.3,random_state=0)
print(x_train.data.shape,y_train.shape)#查看訓(xùn)練集數(shù)量
print(x_test.data.shape,y_test.shape)#查看測(cè)試集數(shù)量
#調(diào)用svm(支持向量機(jī))模型進(jìn)行學(xué)習(xí)
clf=svm.SVC(kernel='linear',C=1).fit(x_train,y_train)
#計(jì)算在測(cè)試集上模型的準(zhǔn)確率
result=clf.score(x_test,y_test)
print(result)
輸出結(jié)果:0.978
二、背景:一般衍生變量較多,為了降低模型學(xué)習(xí)的難度,提升訓(xùn)練效率,在學(xué)習(xí)訓(xùn)練前先對(duì)變量進(jìn)行特征工程操作(特征選擇和特征抽?。卣鞒槿『吞卣鬟x擇都是從原始特征中找到最有效的特征,特征抽取是將從原始特征轉(zhuǎn)換為一組具有明顯統(tǒng)計(jì)意義的特征。特征選擇是從特征集合中挑選一組最具統(tǒng)計(jì)意義的特征,從而達(dá)到降維的目的。
scikit_learn 庫(kù)中有sklearn.feature_selection(特征選擇)和sklearn.feature_extraction (特征抽?。┖瘮?shù)