机器学习训练步骤

一、得到数据集并做预处理

1.分割数据集(train_test_split)

  可以用train_test_split来处理得到的数据集,代码基本形式如下:

from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X_original, Y_original, test_size=0.2)

2.数据集归一化

  使用StandScaler进行归一化,归一化目的是为了让数据之间的差别不那么大。代码基本形式如下:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit_transform(X_train)
scaler.transform(X_test)

二、模型建立

  在这一步我们首先要分析自己数据的类型,搞清出你要用什么模型来做。根据目标变量(通常称为Y变量)的数据类型(定性或定量),我们要建立一个分类(如果Y是定性的)或回归(如果Y是定量的)模型。
  机器学习算法可以大致分为以下三种类型之一:

监督学习:

  监督学习是一种机器学习任务,建立输入X和输出Y变量之间的数学(映射)关系。这样的X、Y对构成了用于建立模型的标签数据,以便学习如何从输入中预测输出。

无监督学习:

  无监督学习是一种只利用输入X变量的机器学习任务。这种 X 变量是未标记的数据,学习算法在建模时使用的是数据的固有结构。

强化学习:

  强化学习是一种决定下一步行动方案的机器学习任务,它通过试错学习来实现这一目标,努力使回报最大化。

三、模型评估与选择

  根据评价指标,通过超参数优化及交叉验证选择最优的模型。

1.参数调优:

  超参数本质上是机器学习算法的参数,直接影响学习过程和预测性能。由于没有 "一刀切 "的超参数设置,可以普遍适用于所有数据集,因此需要进行超参数优化(也称为超参数调整或模型调整)。注意:在参调优时,需要将sklearn中的机器学习算法的random_state设置为0,以便我们能够通过设置相应的参数复现相同的结果。

2.评价指标:

  主要有accuracy, precision,recall,宏平均和微平均,F-score,pr曲线,ROC-AUC曲线,gini系数。

3.交叉验证:

  为了最经济地利用现有数据,通常使用N倍交叉验证(CV),将数据集分割成N个折(即通常使用5倍或10倍CV)。在这样的N倍CV中,其中一个折被留作测试数据,而其余的折则被用作建立模型的训练数据。

四、保存模型

  将训练好的模型保存为pickle文件,有以下步骤:
  保存SVM模型并调用

1)以二进制的方式打开文件:
file = open("G:/Download_Data_bishe/save_model/model.pickle", "wb")
2)然后将模型写入文件:
pickle.dump(classifier, file)
3)最后关闭文件:
file.close()

五、使用最终模型进行预测

  要想调用保存好的模型,有以下思路:

1) 以读二进制的方式打开文件
file = open("G:/Download_Data_bishe/save_model/model.pickle", "rb")
2)把模型从文件中读取出来
svm_model = pickle.load(file)
3)关闭文件
file.close()
4)用读入的模型进行预测
pred= svm_model.predict(X)
if pred==0:
    print("病害")
if pred==1:
    print("健康")
print("\n")

————————————————

参考的原文链接:https://blog.csdn.net/haha456487/article/details/103990636
        https://blog.csdn.net/Lv0930Hui/article/details/92143545
        https://blog.csdn.net/weixin_42137700/article/details/107927098

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值