(附源码)基于sklearn的多种机器学习模型在降水降尺度中的应用(KNN\LR\RF\Ada\Xg\GBDT)1

简介: (附源码)基于sklearn的多种机器学习模型在降水降尺度中的应用(KNN\LR\RF\Ada\Xg\GBDT)1

最近学习了机器学习, 有一些感触,但是没有时间详细写。这里简单给一下我写的源码(并且我是在jupyter notebook上面做的报告,所以代码格式也是jupyter notebook的,如果你需要移动到pycharm上做修改,需要做一点点微调,这很简单。因为时间,我直接将我在jupyter notebook做报告的代码直接搬过来)。


1. 准备工作

1.1 包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt  # 数据可视化
import seaborn as sns  # 数据可视化
from sklearn.model_selection import train_test_split  # 数据集划分
from sklearn.preprocessing import StandardScaler, RobustScaler  # 特征值标准化
from sklearn.ensemble import RandomForestRegressor  # 随机森林回归模型
from sklearn.metrics import accuracy_score, mean_squared_error, mean_squared_log_error  # 模型评估

1.2  读取数据

data = pd.read_csv('D:/pycharm_storage/机器学习/项目/绘sir/NTL2012.csv')

1.3 了解数据

1.3.1 了解数据shape

data_shape = data.shape
data.shape

输出结果



说明一共有18003列14行数据

1.3.2 数据的前五行和尾五行

data.head()

输出结果:


data.tail()

输出结果:



1.3.3 检查每一列的唯一值

如果你已经知道你的每一列特征项数据是何种类型(回归\连续的还是离散的),那么你无需进行这一步代码操作。由于我的数据是他人处理的,所以我需要知道数据的基本情况(包括上面的观察数据据)。

dict = {}
for i in list(data.columns):
    dict[i] = data[i].value_counts().shape[0]
pd.DataFrame(dict, index=['唯一值'])

输出结果:


以上数值均为连续值,没有离散值,选用的模型均采用回归算法

1.3.4 统计数据

这里也只是了解数据的诸如平均值,中位数,最大最小值等等基本情况

data.describe()

输出结果:



这里是查看数据的底层情况了。

data.info()

输出结果:



1.3.5 缺失值统计

将0.0值转化为np.nan(即NaN),方便计数

data.replace(0, value=np.nan, inplace=True)  # 
data.isnull().sum()

输出结果:



上面显示的是每一列特征项中0.0(已经修改成了NaN)出现个数,由于除Y、Lat、Lon外的其它特征项出现0.0值是正常现象,所以这里不对0.0值做处理。

所以将NaN转化为0.0值方便后续运算操作。

data.replace(np.nan, value=0.0, inplace=True)
data.isnull().sum()

输出结果:



没有缺失值,不需要做缺失值异常处理


2. 数据可视化与分析(做的一般)

2.1 各个维度比较(pairplot)

sns.pairplot(data, hue='Y')

输出结果:



2.2 各维度与Y的比较

plt.figure(figsize=(72, 25), dpi=180, facecolor='#ffe6e6')  # 
data_cols = list(data.columns)
data_cols.remove('Y')
for i in range(13):
    plt.subplot(13, 2, i + 1)
    sns.violinplot(x='Y', y=data_cols[i], data=data, facecolor='#ffe6e6',palette='Set2')

输出结果:



2.3 相关系数矩阵

corrmat = data.corr()
corrmat

输出结果:



系数矩阵——图

f, ax = plt.subplots(figsize=(12, 9))
sns.heatmap(corrmat, vmax=.8, square=True, cmap='Greens')

输出结果:




目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的线性回归模型
本文深入探讨了机器学习中广泛使用的线性回归模型,从其基本概念和数学原理出发,逐步引导读者理解模型的构建、训练及评估过程。通过实例分析与代码演示,本文旨在为初学者提供一个清晰的学习路径,帮助他们在实践中更好地应用线性回归模型解决实际问题。
|
13天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
9天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
30 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
14天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
36 1
|
8天前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
16 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
30天前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
1月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
58 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
1月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
1月前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。

热门文章

最新文章