sklearn簡單實現鳶尾花例項svm分類器

2021-08-28 11:30:03 字數 1637 閱讀 9479

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from sklearn import datasets

#一、資料的獲取

iris = datasets.load_iris()

#df=pd.dataframe(iris.data,columns=iris.feature_names)

#df['target']=iris.target

#plt.plot(df)

#plt.show()

#二、資料預處理

from sklearn import preprocessing

scaler=preprocessing.minmaxscaler() #minmaxscaler將樣本特徵值線性縮放到0.1之間

scaler.fit(iris.data)

data=scaler.transform(iris.data)

target=iris.target

#三、模型的訓練

from sklearn.model_selection import train_test_split

#引入模型選擇的庫

#這裡面輸入資料集,然後指定訓練集的大小,比如:1/3,可以設定

x_train,x_test,y_train,y_test=train_test_split(data,target,test_size=1/3)

from sklearn import svm

clf = svm.svc(kernel='linear',c=1)

clf.fit(x_train,y_train) #用訓練集資料餵養模型

a=clf.predict(x_test)

b=clf.get_params() #檢視模型的引數

c=clf.score(x_test,y_test)#檢視匹配度,正確率

#四、模型的評估

#分類模型評分報告

from sklearn.metrics import classification_report

print(classification_report(target,clf.predict(data),target_names=iris.target_names))

from sklearn.model_selection import cross_val_score #k折交叉驗證

scores= cross_val_score(clf,data,target,cv=5)

#五、模型的優化

#pass

#六、模型持久化

import pickle

s = pickle.dumps(clf) #儲存模型成為字串

clf2=pickle.loads(s) #從字串載入模型

a=clf2.predict(data)

from sklearn.externals import joblib

joblib.dump(clf,'filename.pkl')#儲存模型到檔案

clf3=joblib.load('filename.pkl') #載入檔案

a=clf3.predict(data)

sklearn(一) 鳶尾花

原先有用c 語言,k近鄰演算法實現 鳶尾花型別。from sklearn import datasets datasets模組 from sklearn.model selection import train test split 分離訓練集和測試集資料 from sklearn.neighbor...

PCA 理解及鳶尾花實踐(sklearn)

pca 主成分分析 principal components analysis 主要是通過對協方差矩陣進行特徵分解,以得出資料的主成分 特徵向量 與它們的權值 特徵值 它提供了一種降低資料維度的有效辦法 如果分析者在原資料中除掉最小的特徵值所對應的成分,那麼所得的低維度資料必定是最優化的 也即,這樣...

knn實現鳶尾花分類

依照歐氏距離計算公式計算測試資料與訓練集的距離 按照距離公升序排序,選取距離最小的k個點 確定前k個點所在類別的出現頻率 返回前k個點出現頻率最高的類作為測試資料的 分類 import operator import numpy as np from sklearn.datasets import ...