日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用深度神经网络完成对鸢尾花的分类

發布時間:2023/12/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用深度神经网络完成对鸢尾花的分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.首先導入鳶尾花的數據

import numpy as np import pandas as pd import matplotlib.pyplot as plt dataset = pd.read_csv('Iris.csv')

2.使用seaborn對數據進行觀察

import seaborn as sns sns.pairplot(dataset.iloc[:, 1:6], hue='Species')

3.生成測試數據

將前4列與第5列分別抽離成np array

X = dataset.iloc[:, 1:5].values y = dataset.iloc[:,5].values

此時X是這樣

但是y還是字符串

所以我們要將y字符串數組轉換成整數數組,在這里我們可以使用sklearn的LabelEncoder庫

from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() y1 = encoder.fit_transform(y)


最后將y1轉成神經網絡需要的數組結構

Y = pd.get_dummies(y1).values

4.將訓練數據與測試數據做分割

from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=0)

5.創建神經網絡模型

使用Sequential創建神經網絡模型
模型一共4層
損失函數使用‘categorical_crossentropy’(比較適用于3種以上的分類的情況)
指定 metrics=[‘accuracy’],會在訓練結束后計算訓練數據在模型上的準確率

from keras.models import Sequential from keras.layers import Dense from keras.optimizers import Adammodel = Sequential() model.add(Dense(10, input_shape=(4,), activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(6, activation='relu')) model.add(Dense(3, activation='softmax'))model.compile(Adam(lr=0.04), 'categorical_crossentropy', metrics=['accuracy']) model.summary()

6.訓練模型

指定epochs=100,訓練數據會在模型中訓練100次

model.fit(X_train, y_train, epochs=100)

7.使用模型進行預測

y_pred = model.predict(X_test)

打印結果

浮點類型的數據不方便理解,所以使用np.argmax將數據轉為整數數組

y_pred_class = np.argmax(y_pred, axis=1) //其實就是記錄每個數組中值最大的數的index


以上就是得到預測數據的全過程,當然最后我們還是需要一個更直觀的方式來評估模型準確率

6.模型評估

from sklearn.metrics import classification_report report = classification_report(y_test_class, y_pred_class) print(report)


precision表示測試的數據是否都預測準確
recall表示需要查的數據是否都查到了
f1=2*(precision*recall)/(precision+recall)
support表示測試數據中屬于各個分類的測試數據各有多少個
由此可觀察到,此時測試數據在模型上的準確率達到了100%

總結

以上是生活随笔為你收集整理的使用深度神经网络完成对鸢尾花的分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。