案例二:SVC真实数据案例——预测明天是否会下雨

编程入门 行业动态 更新时间:2024-10-10 01:18:02

<a href=https://www.elefans.com/category/jswz/34/1770649.html style=案例二:SVC真实数据案例——预测明天是否会下雨"/>

案例二:SVC真实数据案例——预测明天是否会下雨

1.导库导数据,探索特征

(1)将特征矩阵和标签分开,确定X和Y
(2)探索数据类型

X.info()

(3)探索缺失值——每个特征中缺失值的比例

X.isnull.mean()

(4)探索标签的分类

np.unique(Y)

2.分集,并优先探索标签

在现实中,应当先分训练集和测试集,再进行数据预处理。因为测试集在现实中往往是不可获得的,或者被假设为不可不可获取的,我们不希望建模的任何过程受到测试集数据的影响,否则的话,就相当于提前告诉模型一部分预测的答案。在这里,为了让案例尽量接近真是的样貌,所以采用了现实中的处理方式:先分训练集和测试集,再一步步进行预处理。

(1)分训练集和测试集,并恢复训练集和测试集的索引

(2)探索标签
①观察是否存在样本不均衡的问题

Ytrain.value_counts()
Ytest.value_counts()

②将标签进行编码
用LabelEncoder()

3.探索特征,开始处理特征矩阵

(1)描述性统计与异常值
①描述性统计

Xtrain.describe().T
Xtest.describe().T

②观察异常值是大量存在,还是少量存在
如果少量存在,可以直接删除,但必须把对应的标签也删除,使特征的行与标签的行一一对应;若果多次出现,就应该与业务人员沟通。

③恢复索引

(2)处理困难特征:日期
日期是一个字符串变量,它本身并不影响天气,但他确实与结果有关,它从两个角度影响着标签:
①昨天的天气影响今天的天气,今天的天气又可能影响明天的天气。也就是说,随着日期的逐渐改变,下一个样本会受到上一个样本的影响。但是对于算法来讲,普通的算法捕捉的是每个特征与标签之间的联系,无法捕捉到样本与样本之间的联系。要让算法理解上一个标签可能影响下一个样本的标签,必须使用时间序列分析。
针对这个情况,我们将时间对气候的连续影响,转换成“今天是否下雨”这个特征,巧妙地将样本对应标签之间的关系转换成特征与标签之间的联系

②日期所在的月份和季节其实是影响天气的,因此我们可以将月份或者季节提取出来,作为一个特征使用,而舍弃具体的日期。

还可以有其他的思路处理时间,这里只提供两种方法。

(3)处理困难特征:地点
思路:从地点到气候
我们的样本中含有49个不同地点,如果做成分类型变量,算法就无法辨别它究竟是否为分类变量。也就是说,我们需要让算法意识到,不同的地点因为气候不同,所以对标签(明天是否会下雨)有着不同的影响。如果我们能够将地点转换为这个地方的气候,并将不同城市打包到同一气候中,而同一气候反应的降雨情况应该是相似的。
将澳大利亚划分为八个区域,即将49个地点转换成八种不同的气候。
有了澳大利亚全国主要城市的气候,也有了澳大利亚主要城市的经纬度(地点),就可以通过计算样本中每个气候站都各个主要城市的地理距离,来找到一个离这个气象站最近的主要城市,而这个主要城市的气候就是我们样本点所在地点的气候。

(4)处理分类型变量:缺失值
在现实中,很少用随机森林填补缺失值,对于分类型变量,往往使用众数进行填补,对于连续型变量,往往使用均值填补。进行填补的时候,应该使用训练集上的众数和均值对训练集和测试集进行填补。

(5)处理分类型变量:将分类型变量编码
哑变量处理会使特征变得很多,这对支持向量机是一个很大的负担,所以使用OrdinalEncoder。

(6)处理连续型变量:填补缺失值
现实中为什么不使用算法进行填补?
首先,算法是黑箱,解释性不强,无法向领导解释;其次,算法填补太过缓慢,成本较高。

在现实中,往往使用易于理解的均值或者中位数进行填补。

(7)处理连续型变量:无量纲化
数据无量纲化是SVM执行前的重要步骤,因此我们需要对数据进行无量纲化。但是注意,这个操作我们部队分类型变量进行。

4.建模与模型评估

用核函数的学习曲线来选择合适的核函数,并同时观察精确度,recall以及AUC分数。

5.模型调参

对于不同的目标,有不同的调参方向:
希望不计一切代价判断出少数类——最高的recall;
希望追求最高的预测准确率——accuracy最高,不在意recall或者AUC;
希望达到recall,ROC和accuracy之间的平衡——不追求任何一个也不牺牲任何一个。

更多推荐

案例二:SVC真实数据案例——预测明天是否会下雨

本文发布于:2024-03-06 16:20:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715781.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:案例   是否会   明天   真实   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!