05模型建立与评价

1.认识监督学习与非监督学习

有监督学习:的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。即:利用训练数据集学习一个模型,再用模型对测试样本集进行预测。线性回归算法、BP神经网络算法、决策树、支持向量机、KNN等

无监督学习:自动对输入的资料进行分类或分群,以寻找数据的模型和规律。 (KMeans,DL)

2.模型搭建

2.1切割训练集和测试集

方法有:留出法,交叉验证法,自助法

sklearn中切割数据集的方法为train_test_split

X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)

 train_data:所要划分的样本特征集

train_target:所要划分的样本结果

test_size:样本占比,如果是整数的话就是样本的数量

random_state:是随机数的种子。其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。

stratify:是为了保持split前类的分布。用了stratify参数,training集和testing集的类的比例是 A:B= 4:1,等同于split前的比例。通常在这种类分布不平衡的情况下会用到stratify。

将stratify=X就是按照X中的比例分配 ,将stratify=y就是按照y中的比例分配 

2.2模型创建

2.2.1逻辑回归:LogisticRegression,分类模型

逻辑回归模型默认参数:

(1)调用逻辑回归模型

(2)计算训练集和测试集的得分

(3)调参

2.2.2随机森林:RandomForestClassifier,是决策树集成为了降低决策树过拟合的情况

随机森林模型默认参数:

(1)调用随机森林模型

(2)计算训练集和测试集的得分

(3)调参

2.3输出预测结果

一般监督模型在sklearn里面有个predict能输出预测标签,predict_proba则可以输出标签概率

2.4模型评估

回归模型的评估:平均绝对误差(Mean Absolute Error,MAE)、均方误差(Mean Squared Error,MSE)、R-square(决定系数)、Adjusted R-Square (校正决定系数)、交叉验证(Cross-Validation)

分类模型的评估:准确率、精确率、召回率、f1_score,混淆矩阵,ks,ks曲线,ROC曲线,psi等


(1)交叉验证是 k 折交叉验证(k-fold cross-validation),其中 k 是由用户指定的数字,通常取 5 或 10。

(2)混淆矩阵

准确率(precision)度量的是被预测为正例的样本中有多少是真正的正例

召回率(recall)度量的是正类样本中有多少被预测为正类

(3)ROC曲线

ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响,有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。ROC曲线下面所包围的面积越大越好

你可能感兴趣的:(05模型建立与评价)