机器学习项目实战

发布时间:2025-07-06 21:50

深度学习项目实战:如何选择合适的优化器 #生活技巧# #学习技巧# #深度学习技巧#

最新推荐文章于 2025-04-07 19:31:17 发布

原创 于 2020-03-06 01:14:27 发布 · 1.5k 阅读

· 1

· 17 ·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

目录: * 项目工作流程 一. 数据清洗与格式转换 1.1 数据类型与缺失值 1.2 缺失值处理 1.2.1 缺失值比例函数: 1.2.2 获取缺失值比例 > 50% 的列 1.2.3 删除缺失值比例高于50%的列 二. 探索性数据分析 2.1 单变量绘图 2.2 剔除离群点 2.3 观察哪些变量会对结果产生影响 2.4 特征和标签之间的相关性 2.4.* 特征变换与 one-hot encode 2.5 双变量绘图 2.6 Pairs Plot 三. 特征工程与特征筛选 3.1 特征变换 与 One-hot encode 3.2 共线特征 3.3 剔除共线特征 3.4 数据集划分 3.5 建立一个Baseline * 保存结果

* 项目工作流程

基本流程:

数据清洗与格式转换 探索性数据分析 特征工程 建立基础模型,尝试多种算法 模型调参 评估与测试 解释我们的模型 完成项目

一. 数据清洗与格式转换

import warnings warning.filterwarnings('ignore') import pandas as pd import numpy as np pd.set_option('display.max_columns', 60) pd.options.mode.chained_assignment = None # No warnings about setting value on copy of slice import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.size'] = 24 from IPython.core.pylabtools import figsize import seaborn as sns sns.set(font_scale = 2) data = pd.read_csv('Energy_and_Water_Data_Disclosure_for_Local_Law_84_2017__Data_for_Calendar_Year_2016_.csv') data.head()

python

运行

在这里插入图片描述

1.1 数据类型与缺失值

data.info()

python

运行

将Not Available转换为np.nan,再将部分数值型数据转换成float

data = data.replace({ 'Not Available': np.nan}) for col in list(data.columns): if ('ft²' in col or 'kBtu' in col or 'Metric Tons CO2e' in col or 'kWh' in col or 'therms' in col or 'gal' in col or 'Score' in col):data[col] = data[col].astype(float) data.describe()

python

运行

在这里插入图片描述

1.2 缺失值处理

import missingno as msno msno.matrix(data, figsize = (16, 5))

python

运行

在这里插入图片描述

1.2.1 缺失值比例函数:

def missing_values_table(df):mis_val = df.isnull().sum() # 总缺失值 mis_val_percent = 100 * df.isnull().sum() / len(df) # 缺失值比例 mis_val_table = pd.concat([mis_val, mis_val_percent], axis = 1) # 缺失值制成表格 mis_val_table_ren_columns = mis_val_table.rename(columns = { 0:'Missing Values', 1:'% of Total Values'}) mis_val_table_ren_columns = mis_val_table_ren_columns[ mis_val_table_ren_columns.iloc[:,1] != 0].sort_values('% of Total Values',ascending=False).round(1) # 缺失值比例列由大到小排序 print('Your selected dataframe has {} columns.\nThere are {} columns that have missing values.'.format(df.shape[1], mis_val_table_ren_columns.shape[0])) # 打印缺失值信息 return mis_val_table_ren_columns missing_values_table(data)

python

运行

Your selected dataframe has 60 columns.
There are 46 columns that have missing values.
在这里插入图片描述

1.2.2 获取缺失值比例 > 50% 的列

missing_df = missing_values_table(data) missing_columns = list(missing_df[missing_df['% of Total Values'] > 50].index) print('We will remove %d columns.' % len(missing_columns))

python

运行

Your selected dataframe has 60 columns.
There are 46 columns that have missing values.
We will remove 11 columns.

1.2.3 删除缺失值比例高于50%的列

data = data.drop(columns = list(missing_columns))

python

运行

二. 探索性数据分析

Exploratory Data Analysis, 就是画图来理解数据。。。

2.1 单变量绘图 标签数据

data = data.rename(columns = { 'ENERGY STAR Score': 'score'}) plt.figure(figsize = (8, 6)) plt

python

运行

网址:机器学习项目实战 https://www.yuejiaxmz.com/news/view/1135392

相关内容

机器学习实战指南
《机器学习实战》第六章
深度学习实战8
项目式学习PBL=做项目?
机器学习实战
python项目实战
学机器学习可以做什么?
计算机辅助学习项目简介
机器学习实战之数回归,CART算法
项目管理与时间规划实战培训.doc

随便看看