91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: 其他
  • 標簽: svm??

資源簡介

SVM支持向量機分類鳶尾花數據集iris及代碼,數據集有Excel、data、txt文件格式,代碼有data、txt格式演示

資源截圖

代碼片段和文件信息

#?coding=utf-8

from?sklearn?import?svm
import?numpy?as?np
from?sklearn?import?model_selection
import?matplotlib.pyplot?as?plt
import?matplotlib?as?mpl
from?matplotlib?import?colors
????
#?#?當使用numpy中的loadtxt函數導入該數據集時,假設數據類型dtype為浮點型,但是很明顯數據集的第五列的數據類型是字符串并不是浮點型。
#?#?因此需要額外做一個工作,即通過loadtxt()函數中的converters參數將第五列通過轉換函數映射成浮點類型的數據。
#?#?首先,我們要寫出一個轉換函數:
#?#?定義一個函數,將不同類別標簽與數字相對應
def?iris_type(s):
????class_label={b‘setosa‘:0b‘versicolor‘:1b‘virginica‘:2}
????return?class_label[s]

def?train(model?x_train?y_train):
????model.fit(x_trainy_train.ravel())

def?show_accuracy(a?b?tip):
????acc?=?(a.ravel()?==?b.ravel())
????print(“%s?Accuracy:%.3f“%(tip?np.mean(acc)))

def?print_accuracy(model?x_train?y_trainx_test?y_test?):
????print(‘SVM-輸出訓練集的準確率為:‘?model.score(x_train?y_train))
????print(“SVM-輸出測試集的準確率為:“?model.score(x_test?y_test))
????#原始結果與預測結果進行對比
????show_accuracy(model.predict(x_train)?y_train?‘traing?data‘)
????show_accuracy(model.predict(x_test)?y_test?‘testing?data‘)
????#計算決策函數的值
????print(‘decision_function:\n‘?model.decision_function(x_train))

def?draw(model?x):
????x1_min?x1_max?=?x[:?0].min()?x[:?0].max()??#?第0列的范圍??x[:?0]?“:“表示所有行,0表示第1列
????x2_min?x2_max?=?x[:?1].min()?x[:?1].max()??#?第1列的范圍??x[:?0]?“:“表示所有行,1表示第2列
????x1?x2?=?np.mgrid[x1_min:x1_max:200j?x2_min:x2_max:200j]??#?生成網格采樣點(用meshgrid函數生成兩個網格矩陣X1和X2)
????grid_test?=?np.stack((x1.flat?x2.flat)?axis=1)??#?測試點,再通過stack()函數,axis=1,生成測試點
????#?.flat?將矩陣轉變成一維數組?(與ravel()的區別:flatten:返回的是拷貝

????grid_hat?=?model.predict(grid_test)??#?預測分類值
????grid_hat?=?grid_hat.reshape(x1.shape)??#?使之與輸入的形狀相同

????#?#?2.指定默認字體
????#?mpl.rcParams[‘font.sans-serif‘]?=?[u‘SimHei‘]
????#?mpl.rcParams[‘axes.unicode_minus‘]?=?False

????#?3.繪制
????cm_light?=?mpl.colors.ListedColormap([‘#A0FFA0‘?‘#FFA0A0‘?‘#A0A0FF‘])
????cm_dark?=?mpl.colors.ListedColormap([‘g‘?‘r‘?‘b‘])

????#?alpha?=?0.5
????plt.pcolormesh(x1?x2?grid_hat?cmap=cm_light)??#?預測值的顯示
????#?plt.plot(x[:?0]?x[:?1]?‘o‘?alpha=alpha?color=‘blue‘?markeredgecolor=‘k‘)
????plt.scatter(x[:?0]?x[:?1]?c=np.squeeze(y)?edgecolor=‘k‘?s=50?cmap?=?cm_dark?)??#?圈中測試集樣本
????plt.scatter(x_test[:?0]?x_test[:?1]?s=120?facecolors=‘none‘?zorder=10)??#?圈中測試集樣本
????plt.xlabel(‘sepal?length‘?fontsize=13)
????plt.ylabel(‘sepal?width‘?fontsize=13)
????plt.xlim(x1_min?x1_max)
????plt.ylim(x2_min?x2_max)
????plt.title(‘SVM?feature‘?fontsize=15)
????#?plt.grid()
????plt.show()
????
if?__name__?==?‘__main__‘:
????#1.數據準備
????#1.1加載數據
????#使用numpy中的loadtxt讀入數據文件
????filepath=‘iris2.txt‘??#?數據文件路徑
????data=np.loadtxt(filepathdtype=floatdelimiter=Noneconverters={4:iris_type})

????#1.2數據分割
????X?y?=?np.split(data?(4)axis=1)??#?np.split?按照列(axis=1)進行分割,從第四列開始往后的作為y?數據,之前的作為X?數據。函數?split(數據,分割位置,軸=1(水平分割)?or?0(垂直分割))。
????x?=?X[:0:2]??#?在?X中取前兩列作為特征(為了后期的可視化畫圖更加直觀,故只取前兩列特征值向量進行訓練)

????x_trainx_testy_trainy_test=model_selection.tr

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3867??2020-09-29?18:53??SVM支持向量機分類鳶尾花數據集iris及代碼\iris.csv

?????文件???????4969??2020-09-29?18:37??SVM支持向量機分類鳶尾花數據集iris及代碼\iris.txt

?????文件????????811??2020-09-29?19:39??SVM支持向量機分類鳶尾花數據集iris及代碼\iris2.data

?????文件???????3808??2020-09-30?08:05??SVM支持向量機分類鳶尾花數據集iris及代碼\iris2.txt

?????文件???????6015??2020-09-29?19:25??SVM支持向量機分類鳶尾花數據集iris及代碼\svm01.py

?????文件???????4526??2020-09-29?19:39??SVM支持向量機分類鳶尾花數據集iris及代碼\svm02.py

?????目錄??????????0??2020-09-30?08:22??SVM支持向量機分類鳶尾花數據集iris及代碼

-----------?---------??----------?-----??----

????????????????23996????????????????????7


評論

共有 條評論