机器学习:模型评估和模型保存

目录

一、模型评估

二、模型保存

三、后话


一、模型评估

from sklearn.metrics import accuracy_score, confusion_matrix, classification_report

# 使用测试集进行预测
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy*100:.2f}%")

# 打印混淆矩阵
conf_matrix = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(conf_matrix)

# 打印分类报告,包括精确率、召回率和F1分数
class_report = classification_report(y_test, y_pred)
print("Classification Report:")
print(class_report)

二、模型保存

#使用joblib保存模型
import joblib
joblib.dump(model, "./yorelee_model.pth")
#模型的后缀名是无所谓的

ff72279502824391b58c9a0e8448ea99.png

三、后话

模型选择的时候,也可以使用模型融合,即结果由用不同模型的结果按比例得到。

比如pre=(pre_1*a+pre_2*b)/(a+b)。

那么我们在保存模型的时候,这两个模型要一起保存,然后之后训练就导入两个模型,pre这样算出来就行。

%%time
# 2种模型融合
def model_mix(pred_1, pred_2):
    result = pd.DataFrame(columns=['LinearRegression','XGBRegressor','Combine'])

    for a in range (80):
        for b in range(1,80):
                    y_pred = (a*pred_1 + b*pred_2 ) / (a+b)
                    
                    mse = mean_squared_error(y_test,y_pred)
                    
                    mse = mean_squared_error(y_test,y_pred)
                    new_row = pd.DataFrame([{'LinearRegression':a, 
                                             'XGBRegressor':b, 
                                             'Combine':mse}])
                    result = pd.concat([result, new_row], ignore_index=True)
    return result

linear_predict=model_linear.predict(x_test)
xgb_predict=XGBClassifier.predict(x_test)
model_combine = model_mix(linear_predict,  xgb_predict)

model_combine.sort_values(by='Combine', inplace=True)
model_combine.head()
#各种比例来一份,看看mse最高分,查看 a和b的具体值

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 部署机器学习模型需要以下步骤: 1. 选择适用于生产环境的框架和库,如 TensorFlow, PyTorch等. 2. 在测试数据上训练并评估模型性能. 3. 将模型导出或保存为可以在生产环境中使用的格式. 4. 在生产服务器上安装和配置需要的依赖环境. 5. 将训练好的模型部署到生产环境中, 并在生产服务器上的容器或服务上运行. 6. 实现监控和日志记录系统以确保模型在生产环境中正常运行. 注意 : 模型部署实际上是一个复杂的过程,还可能需要其他步骤, 比如认证/授权,运维等。 ### 回答2: 在实际应用中部署机器学习模型,主要包括以下几个步骤: 1. 数据预处理:对待处理数据进行清洗、筛选、归一化等操作,以保证数据的质量。 2. 特征工程:根据具体问题,选择合适的特征提取方法,将原始数据转换为适合机器学习模型处理的特征向量。 3. 模型选择和训练:根据问题的性质选择合适的机器学习算法,并使用训练数据进行模型的训练。 4. 模型评估和调优:使用验证集评估模型的性能,并进行模型的参数调优,以获得更好的训练效果。 5. 模型导出:将训练好的模型导出为可用的格式,如pickle文件或者ONNX格式。 6. 模型集成:如果需要将多个模型合并使用或者进行模型集成,可以通过模型融合的方法进行处理。 7. 系统集成:将导出的模型集成到实际应用系统中,可通过API方式提供服务或直接部署为服务。 8. 实时预测:根据具体应用场景,将输入数据转换为模型能够接受的格式,并通过调用模型接口,获取模型的实时预测结果。 9. 持续优化:根据实际使用情况,及时收集反馈数据并进行模型的优化和更新,以提高模型的准确性和效果。 总之,机器学习模型在实际应用中的部署需要经历数据预处理、特征工程、训练和评估、模型导出、系统集成等多个步骤。 ### 回答3: 在实际应用中部署机器学习模型需要经过以下步骤: 1. 数据预处理:首先,对原始数据进行清洗和处理,包括去除噪声、处理缺失值、处理异常值等。然后,进行特征提取和特征工程,选择合适的特征并对其进行归一化或标准化处理。 2. 模型训练与评估:选择合适的机器学习算法,利用预处理后的数据对模型进行训练。为了确保模型的泛化能力,需要将数据集划分为训练集、验证集和测试集。训练集用于训练模型参数,验证集用于调整模型超参数,测试集用于评估模型性能。 3. 模型选择与优化:根据具体需求选择适合问题的机器学习模型,如分类、回归、聚类等。通过对模型的性能进行评估和分析,可以采取不同的优化策略,如调整超参数、增加训练数据、增加模型复杂度等。 4. 集成和部署:在模型训练和优化完成后,可以考虑将多个模型进行集成,以提高模型的整体性能和鲁棒性。然后,将模型部署到目标系统中,可以选择将模型部署为服务或嵌入到应用程序中。 5. 模型监测与更新:对已部署的模型进行定期监测,评估模型在实际应用中的效果。如果发现模型性能下降或需要改进,可以通过更新模型参数或重新训练模型来提升性能。 6. 持续改进与迭代:机器学习模型的应用是一个持续改进和迭代的过程。通过不断收集和分析新的数据,可以改进模型的性能,提高其预测能力和应用价值。 总而言之,在实际应用中部署机器学习模型需要进行数据预处理、模型训练与优化、集成和部署、模型监测与更新、持续改进与迭代等一系列步骤,以确保模型能够在实际应用中达到预期效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yorelee.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值