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

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

相关推荐
熙梦数字化1 小时前
2025汽车零部件行业数字化转型落地方案
大数据·人工智能·汽车
刘海东刘海东1 小时前
逻辑方程结构图语言的机器实现(草稿)
人工智能
亮剑20181 小时前
第2节:程序逻辑与控制流——让程序“思考”
开发语言·c++·人工智能
hixiong1231 小时前
C# OpenCVSharp使用 读光-票证检测矫正模型
人工智能·opencv·c#
大千AI助手1 小时前
HotpotQA:推动多跳推理问答发展的标杆数据集
人工智能·神经网络·llm·qa·大千ai助手·hotpotqa·多跳推理能力
红尘炼丹客1 小时前
《DeepSeek-OCR: Contexts Optical Compression》速览
人工智能·python·自然语言处理·ocr
TiAmo zhang1 小时前
现代C++的AI革命:C++20/C++23核心特性解析与实战应用
c++·人工智能·c++20
mwq301231 小时前
从傅里叶变换到 RoPE:解构位置编码的数学灵魂
人工智能
深圳佛手2 小时前
AI 编程工具Claude Code 介绍
人工智能·python·机器学习·langchain