《动手学数据分析》第三章学习笔记
模型搭建
one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。
pd.get_dummies( *data*, *prefix=None*, *prefix_sep='_'*, *dummy_na=False*, *columns=None*, *sparse=False*, *drop_first=False*, *dtype=None)*
-
创建基于线性模型的分类模型(逻辑回归)
lr = LogisticRegression() lr.fit(X_train, y_train)
-
创建基于树的分类模型(决策树、随机森林)
rfc = RandomForestClassifier() rfc.fit(X_train, y_train)
-
查看模型的参数,并更改参数值,观察模型变化
模型评估
(一)交叉验证
print("Average cross-validation score: {:.2f}".format(scores.mean()))
(二)混淆矩阵
confusion_matrix(y_train, pred)
精确率、召回率以及f1-score
print(classification_report(y_train, pred))
(三)ROC曲线
sklearn.metrics有roc_curve, auc两个函数,ROC曲线上的点主要就是通过这两个函数计算出来的。
fpr, tpr, thresholds = roc_curve(y_test, scores)
roc_auc =auc(fpr, tpr)