提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤
1.评价指标
1.评价指标 lob acc : 0.915, pre : 0.821, recall : 0.956, F_score : 0.883, IoU : 0.791
F-score: 加权平均准确率 (Weighted Average Precision)
F-score 是一种评估分类器性能的常用指标,它结合了准确率 (Precision) 和召回率 (Recall)。具体而言,F-score 被定义为准确率和召回率的加权平均数,其中准确率和召回率分别被定义为正确分类的样本数与总样本数之比和正确分类的样本数与正确分类的样本数之比。
例如,如果一个分类器在一个包含 A 和 B 两类样本的数据集上表现良好,其中 A 类样本占多数,B 类样本占少数,那么该分类器的准确率可能为 0.8,召回率为 0.6。在这种情况下,F-score 的值约为 0.75,因为准确率和召回率的权重相等。
Global_acc: 全局准确率 (Global Accuracy)
Global_acc 是指在所有测试样本中,分类器正确分类的样本数占全部样本数的比例。例如,如果一个分类器在包含 A 和 B 两类样本的数据集上表现良好,其中 A 类样本占多数,B 类样本占少数,那么该分类器的准确率可能为 0.8,召回率为 0.6。在这种情况下,Global_acc 的值约为 0.8。
IoU: 交集准确率 (Intersection over Union Accuracy)
IoU 是指分类器对训练样本进行分类后,与真实标签的交集面积与总面积之比。IoU 适用于二元分类问题,其中只有两个类别。例如,如果一个分类器在包含 A 和 B 两类样本的数据集上表现良好,其中 A 类样本占多数,B 类样本占少数,那么该分类器的准确率可能为 0.8,召回率为 0.6。在这种情况下,IoU 的值约为 0.6。
Loss: 损失函数 (Loss Function)
损失函数是优化算法中的一个参数,用于衡量模型预测值与真实标签之间的差距。常用的损失函数包括均方误差 (MSE)、交叉熵损失函数等。例如,如果一个分类器在包含 A 和 B 两类样本的数据集上表现良好,其中 A 类样本占多数,B 类样本占少数,那么该分类器的准确率可能为 0.8,召回率为 0.6。在这种情况下,使用均方误差损失函数的值约为 0.2。
Pre: 预测准确率 (Precision)
预测准确率 (Precision) 是指分类器能够正确地将训练样本中的标签为负类的样本进行分类的比例。例如,如果一个分类器在包含 A 和 B 两类样本的数据集上表现良好,其中 A 类样本占多数,B 类样本占少数,那么该分类器的准确率可能为 0.8,召回率为 0.6。在这种情况下,预测准确率的值约为 0.7。
Recall: 召回率 (Recall)
召回率是指分类器能够正确地将训练样本中的标签为正类的样本进行分类的比例。例如,如果一个分类器在包含 A 和 B 两类样本的数据集上表现良好,其中 A 类样本占多数,B 类样本占少数,那么该分类器的准确率可能为 0.8,召回率为 0.6。在这种情况下,召回率的值约为 0.6。
优化器:
SGDM(Stochastic Gradient Descent with Momentum)是一种基于梯度下降算法的优化器,其参数更新公式为:
v_t = beta * v_{t-1} + (1 - beta) * g_t w_t = w_{t-1} - lr * v_t
其中,v_t表示t时刻的动量,beta是动量系数,g_t表示t时刻的梯度,lr是学习率,w_t表示t时刻的参数值。可以看出,SGDM优化器的参数更新是基于当前时刻的梯度和上一时刻的动量来进行的。
因此,SGDM优化器的参数值和epoch有关,而不是和ecopth有关。在每个epoch中,SGDM优化器都会根据当前epoch的梯度和上一时刻的动量来更新参数值,从而使得模型的性能不断地提高。而ecopth是指模型的训练次数,与SGDM优化器的参数更新过程没有直接的关系。
需要注意的是,SGDM优化器的参数更新受到学习率和动量系数的影响,因此在使用SGDM优化器时,需要合理地设置学习率和动量系数,从而使得模型的性能能够得到最大的提升。
在这个超参数设置下,如果训练过程中出现了loss增加的情况,可以考虑以下调整:
将学习率调小:当前学习率较大,可能导致模型跨过了局部最优解,继续朝着更高的损失值前进。可以尝试将学习率调小,例如0.0001或更小。
调整动量因子:当前动量因子为0.9,可能过大,导致模型难以收敛。可以尝试减小动量因子,例如0.5或更小,看看是否能够缓解loss增加的问题。
调整权重衰减系数:当前权重衰减系数为0.005,可能过大,导致模型出现了过度拟合的情况。可以尝试减小权重衰减系数,例如0.001或更小。
调整批量大小:当前批量大小为3,可能过小,导致模型难以学习到有效的模式。可以尝试增大批量大小,例如16或32。
调整网络结构:如果上述调整无法改善模型的表现,可以考虑调整网络结构,例如增加或删除某些层,或者调整卷积核的大小等。
需要注意的是,对于每个任务和数据集,最佳的超参数设置可能不同,需要根据实际情况进行调整。调整超参数时建议使用交叉验证等方法,以避免过拟合。
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。