代码如下:
#导入相关类
import seaborn as sns
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
#深度学习
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense
#1.数据处理
from tensorflow.python.keras.utils.np_utils import to_categorical
iris=pd.read_csv("iris.csv")
images=sns.pairplot(iris,hue="species") #species目标值
#获得数据集的特征值和目标值
x=iris.values[:,:4]
y=iris.values[:,4]
#数据集划分
train_x,test_x,train_y,test_y=train_test_split(x,y,test_size=0.5,random_state=0)
def one_hot_encode(arr):
# 获取目标值中所有类别并进行热编码
uniques,ids = np.unique(arr,return_inverse=True)
return to_categorical(ids,len(uniques))
#对目标值进行热编码
train_y_one = one_hot_encode(train_y)
tets_y_one = one_hot_encode(test_y)
#模型构建squential进行构建
model = Sequential([
#隐藏层10个神经元
Dense(10,activation="relu",input_shape=(4,)),
#隐藏层
Dense(10,activation="relu"),
#输出层
Dense(3,activation="softmax")
])
#模型预测与评估
#模型翻译题optimizer:优化器,loss:损失函数,
model.compile(optimizer="adam",loss="categorical_crossentropy",metrics=["accuracy"])
#模型训练
#类型转换
train_x = np.array(train_x,dtype=np.float32)
test_x = np.array(test_x,dtype=np.float32)
#模型训练
model.fit(train_x,train_y_one,epochs=10,batch_size=1,verbose=1)
#模型评估
loss,accuracy = model.evaluate(test_x,tets_y_one,verbose=1)
print(loss)
print(accuracy)
报错为:
怎么办啊?
TensorFlow的版本是2.13.0
Keras的版本是2.13.1