使用深度神经网络完成对鸢尾花的分类
生活随笔
收集整理的這篇文章主要介紹了
使用深度神经网络完成对鸢尾花的分类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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庫
最后將y1轉成神經網絡需要的數組結構
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’],會在訓練結束后計算訓練數據在模型上的準確率
6.訓練模型
指定epochs=100,訓練數據會在模型中訓練100次
model.fit(X_train, y_train, epochs=100)7.使用模型進行預測
y_pred = model.predict(X_test)打印結果
浮點類型的數據不方便理解,所以使用np.argmax將數據轉為整數數組
以上就是得到預測數據的全過程,當然最后我們還是需要一個更直觀的方式來評估模型準確率
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%
總結
以上是生活随笔為你收集整理的使用深度神经网络完成对鸢尾花的分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中电云集 装php5.6_PHPYun人
- 下一篇: Windows 10 1803 升级到