机器学习——特征工程和评价指标

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

相关推荐
xier_ran9 小时前
深度学习:Adam 优化器实战(Adam Optimizer)
人工智能·深度学习
人工智能训练9 小时前
Ubuntu中如何进入root用户
linux·运维·服务器·人工智能·ubuntu·ai编程·root
Cathy Bryant9 小时前
信息论(五):联合熵与条件熵
人工智能·笔记·机器学习·数学建模·概率论
Geo_V9 小时前
LangChain Memory 使用示例
人工智能·python·chatgpt·langchain·openai·大模型应用·llm 开发
Carl_奕然9 小时前
【机器视觉】一文掌握常见图像增强算法。
人工智能·opencv·算法·计算机视觉
放羊郎9 小时前
人工智能算法优化YOLO的目标检测能力
人工智能·算法·yolo·视觉slam·建图
xuehaikj9 小时前
基于YOLOv5-AUX的棕熊目标检测与识别系统实现
人工智能·yolo·目标检测
xier_ran10 小时前
深度学习:从零开始手搓一个深层神经网络
人工智能·深度学习·神经网络
却道天凉_好个秋10 小时前
OpenCV(二十六):高斯滤波
人工智能·opencv·计算机视觉
汗流浃背了吧,老弟!10 小时前
语言模型(Language Model)介绍
人工智能·语言模型·自然语言处理