def parse_to_numpy(pd): images_idx = [] for string in pd[0]: images_idx.append(get_num(string)) pd.insert(1, "Image_Index", images_idx, True) pd = pd.sort_values(by=['Image_Index']) pd = pd.reset_index(drop=True) del pd['Image_Index'] del pd[0] np = pd.to_numpy() return np
def main(): debug_def = '2' if debug_def == '': ### Preparing Data ### x_train, y_train, x_test, y_test = preparing_trained_data() print(x_train[0], y_train[0]) ### Createing Model ### model = creating_model() ### Training Data ### train_history = training_model(model, x_train, y_train) show_train_history(train_history, 'acc', 'val_acc') show_train_history(train_history, 'loss', 'val_loss') ### Saving Data ### saving_model(model, model_name) ### Evaluating Data ### evaluating_model(model, x_test, y_test) return pass elif debug_def == '2': ### Preparing Data ### x_train, y_train, x_test, y_test = preparing_trained_data() model = loading_model(model_name) ### Predicting Data ### all_Features, Label = PreprocessData(all_df) all_probability = model.predict(all_Features) pd = all_df pd.insert(len(all_df.columns), 'probability', all_probability) print(pd[-2:]) pass pass
# 评估模型准确率 scores = model.evaluate(x=test_features, y=test_label) print(scores[1]) print(scores[0]) # 加入Jack 和 Rose的数据 Jack = pd.Series([0, 'Jack', 3, 'male', 23, 1, 0, 5.0000, 'S']) Rose = pd.Series([1, 'Rose', 1, 'female', 20, 1, 0, 100.0000, 'S']) # 创建 Pandas DataFramen JR_df, 加入jack和rose数据 JR_df = pd.DataFrame([list(Jack), list(Rose)], columns=[ 'survived', 'name', 'pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked' ]) all_df2 = pd.concat([all_df, JR_df]) all_features, all_label = preprocess_data(all_df2) all_probability = model.predict(all_features) all_probability[-2:] # 将 all_df 与 all_probability 整合 pd = all_df2 pd.insert(len(all_df2.columns), 'probability', all_probability) JR = pd[-2:] moving = pd[(pd['survived'] == 0) & (pd['probability'] > 0.9)]
print(model.summary()) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) train_history=model.fit(x=Train4D_train_Features, y=train_LabelOneHot,validation_split=0.2, epochs=30,batch_size=100,verbose=2) scores=model.evaluate(x=Train4D_train_Features,y=train_LabelOneHot) print(model.summary()) print('accuracy=',scores[1]) """all_Features,Label=PreprocessData(all_df) all_probability=model.predict(all_Features) pd=all_df pd.insert(len(all_df.columns),'probability',all_probability)""" import matplotlib.pyplot as plt def show_train_history(train_history,train,validation): plt.plot(train_history.history[train]) plt.plot(train_history.history[validation]) plt.title('Train History') plt.ylabel('accuracy') plt.xlabel('Epoch') plt.legend(['train','validation',],loc='upper left') plt.show()
plt.legend(['train', 'validation'], loc='upper left') plt.show() show_train_history(train_history, 'acc', 'val_acc') show_train_history(train_history, 'loss', 'val_loss') """[Evaluate]""" scores = model.evaluate(x_img_test_normalize, y_label_test_OneHot, verbose=1) scores[1] """[Create forecast data]""" #Series 輸入資料 Jack = pd.Series([0, 'Jack', 3, 'male', 23, 1, 0, 5.0000, 'S']) Rose = pd.Series([1, 'Rose', 1, 'female', 20, 1, 0, 100.0000, 'S']) #建立兩人DataFrame JR_df = pd.DataFrame([list(Jack), list(Rose)], columns=[ 'survived', 'name', 'pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked' ]) #加入所有DataFrame會在最後兩個 all_df = pd.concat([all_df, JR_df]) #新增兩個人,所以feature & label要重新取 all_Features, Label = PreprocessData(all_df) #預測,可得到每個乘客存活機率 all_probability = model.predict(all_Features) #存活機率加入DataFrame pd = all_df pd.insert(len(all_df.columns), 'survive probability', all_probability) """[Find]""" pd[(pd['survived'] == 0) & (pd['survive probability'] > 0.9)] pd[:5]