0、前言:
- 首先学习特征工程这部分知识之前,要对机器学习的算法用过使用。
1、特征工程:
- 就机器学习的数据而言,特征就是数据的列名,有多少列,就有多少个维度的特征。就定义而言,特征是指数据中抽取出来对结果预测有用的信息。
- 特征工程就是使用一些技巧来处理数据,使数据特征能在机器学习算法中发挥更好的作用
- 本质而言,特征工程其实就是数据预处理
2、机器学习常见评价指标:
-
1、AUC是二分类模型的一个评价指标,与AUC相关的就是ROC曲线,AUC的值是ROC曲线下的面积,AUC越接近1,说明模型越好,越接近0,说明模型越差,AUC的值在0.7以上就算比较好了。ROC曲线绘制原理如下:
-
2、Precision(精确率/查准率)、Recall(召回率/查全率)、F-measure、Accuracy(准确率)
3、绘制ROC曲线:
- 通过下面的示例,主要了解sklearn.metrics第三方库是用于评价机器学习模型的库,并且知道其中的auc和roc_curve两个评价指标的调用方式。
python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
data, target = load_iris(return_X_y=True)
data.shape # (150, 4)
# AUC是二分类问题才能计算的
c = target<2
a = [0,1]
data2 = data[c].copy()
target2 = target[c].copy()
data2.shape,target2.shape
from sklearn.metrics import auc,roc_curve
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(data2,target2,test_size=0.2)
x_train.shape,y_train.shape
lr = LogisticRegression()
lr.fit(x_train,y_train)
y_pred = lr.predict(x_test)
y_pred
# ROC曲线
# 参数1:y_true(真实结果),y_score(预测结果)
fpr,tpr,_ = roc_curve(y_true=y_test,y_score=y_pred) # (array([0., 0., 1.]), array([0., 1., 1.]), array([inf, 1., 0.]))
# ROC曲线横轴是FPR,纵轴是TPR
plt.plot(fpr,tpr,ls='--')
plt.title('ROC')
# AUC是ROC曲线下的面积,不好计算时,可以通过函数获取auc(fpr,tpr)
AUC = auc(fpr,tpr)
AUC