sklearn快速入门教程 ——2.基本数据探索

sklearn快速入门教程


目录

sklearn快速入门教程

[使用'Pandas' 获取你熟悉的数据](#使用’Pandas’ 获取你熟悉的数据)

解释数据描述

轮到你了

练习

[第一步 加载数据](#第一步 加载数据)

[第二步 浏览数据](#第二步 浏览数据)

考虑你的数据

继续向前

练习参考答案


使用'Pandas' 获取你熟悉的数据

任何机器学习项目的第一步都是熟悉数据。你可以用 pandas 包来完成这个。pandas 是科学家探索和处理数据的主要工具。大多数人在代码中将 pandas 缩写为pd。我们用命令来完成。

import pandas as pd

pandas 库最重要的部分是DataFrame。DataFrame保存的数据类型可能被认为是表。这类似于Excel中的工作表或SQL数据库中的表。

Pandas有强大的方法来处理这类数据。

举个例子,我们来看看澳大利亚墨尔本的房价数据。在实践练习中,您将对一个新的数据集应用相同的过程,该数据集包含爱荷华州的房价。

示例(墨尔本)数据位于文件路径 ./melbourne-housing-snapshot/melb_data.csv.

我们使用以下命令加载和浏览数据:

# 查看文件相关路径
melbourne_file_path = './melbourne-housing-snapshot/melb_data.csv'
# 读取数据并保存为 DataFrame 格式 ,以墨尔本数据
melbourne_data = pd.read_csv(melbourne_file_path) 
# 打印 墨尔本数据 的概要
melbourne_data.describe()

              Rooms         Price      Distance      Postcode      Bedroom2  \
count  13580.000000  1.358000e+04  13580.000000  13580.000000  13580.000000   
mean       2.937997  1.075684e+06     10.137776   3105.301915      2.914728   
std        0.955748  6.393107e+05      5.868725     90.676964      0.965921   
min        1.000000  8.500000e+04      0.000000   3000.000000      0.000000   
25%        2.000000  6.500000e+05      6.100000   3044.000000      2.000000   
50%        3.000000  9.030000e+05      9.200000   3084.000000      3.000000   
75%        3.000000  1.330000e+06     13.000000   3148.000000      3.000000   
max       10.000000  9.000000e+06     48.100000   3977.000000     20.000000   

           Bathroom           Car       Landsize  BuildingArea    YearBuilt  \
count  13580.000000  13518.000000   13580.000000   7130.000000  8205.000000   
mean       1.534242      1.610075     558.416127    151.967650  1964.684217   
std        0.691712      0.962634    3990.669241    541.014538    37.273762   
min        0.000000      0.000000       0.000000      0.000000  1196.000000   
25%        1.000000      1.000000     177.000000     93.000000  1940.000000   
50%        1.000000      2.000000     440.000000    126.000000  1970.000000   
75%        2.000000      2.000000     651.000000    174.000000  1999.000000   
max        8.000000     10.000000  433014.000000  44515.000000  2018.000000   

          Lattitude    Longtitude  Propertycount  
count  13580.000000  13580.000000   13580.000000  
mean     -37.809203    144.995216    7454.417378  
std        0.079260      0.103916    4378.581772  
min      -38.182550    144.431810     249.000000  
25%      -37.856822    144.929600    4380.000000  
50%      -37.802355    145.000100    6555.000000  
75%      -37.756400    145.058305   10331.000000  
max      -37.408530    145.526350   21650.000000  
解释数据描述

结果显示原始数据集中每列有8个数字。第一个数字count ,显示了有多少行没有缺失值。

缺失值的原因有很多。例如,在调查一套一居室的房子时,不会收集第二居室的大小。我们将回到丢失数据的话题。

第二个值是平均值 ,它是平均值。在这种情况下,std 是标准偏差,用于测量数值在数值上的分布情况。

要解释最小25%50%75%最大 值,请想象将每列从最低值排序到最高值。第一个(最小的)值是最小值。如果你在列表中遍历四分之一,你会发现一个大于25%的值,小于75%的值。这就是**25%**值(发音为"第25百分位")。第50百分位和第75百分位的定义类似,max是最大的数字。

轮到你了

以下为练习部分


练习

运行下面的单元格设置代码检查,这将在运行过程中验证您的工作。

第一步 加载数据

将 iowa 的数据文件读入名为 home_data 的Pandas 的 DataFrame。

import pandas as pd

# 文件路径
iowa_file_path = '../input/home-data-for-ml-course/train.csv'

# 将文件数据读入到 home_data 变量中,在横线入填相应的内容
home_data = ________

# 系统将会检查你输入是否正确

step_1.check()

如果上述填写正确,会出现 Correct 字符

# 去掉注释,运行此处,即会有提示与答案
# step_1.hint()
# step_1.solution()
第二步 浏览数据

使用所学的命令查看数据的摘要统计信息。然后填写变量以回答以下问题

# 打印摘要统计信息
________

import datetime
# lot 的 平均大小 (保留到整数)?
avg_lot_size = ____

# 到今天为止,最新的房子最悠久的历史(今年 - 它的建造日期)
newest_home_age = ____

# 检查答案
step_2.check()

#step_2.hint()
#step_2.solution()
考虑你的数据

你数据中最新的房子并不是那么新。对此有一些可能的解释:

1.他们还没有在收集这些数据的地方建造新房子。

2.这些数据是很久以前收集的。数据公布后建造的房屋不会出现。

如果原因是上面的解释#1,那么这是否会影响您对使用这些数据构建的模型的信任?如果这是原因#2呢?

你怎么能深入研究数据,看看哪种解释更合理?

查看此讨论帖子,了解其他人的想法或添加您的想法。

继续向前

你已准备好前往 你的第一个机器学习模型

练习参考答案
# step 1
home_data = pd.read_csv(iowa_file_path)

# step 2
home_data.describe()
avg_lot_size = round(home_data['LotArea'].mean())
newest_home_age = datetime.datetime.now().year-home_data['YearBuilt'].max()

# 也可以根据 describe 直接提交具体数值
avg_lot_size = 10517
newest_home_age = 12
相关推荐
2401_858120264 小时前
探索sklearn文本向量化:从词袋到深度学习的转变
开发语言·python·机器学习
算法金「全网同名」6 小时前
算法金 | 一个强大的算法模型,GPR !!
机器学习
江畔柳前堤6 小时前
CV01_相机成像原理与坐标系之间的转换
人工智能·深度学习·数码相机·机器学习·计算机视觉·lstm
码上飞扬6 小时前
深度解析:机器学习与深度学习的关系与区别
人工智能·深度学习·机器学习
bigbearxyz6 小时前
Java实现图片的垂直方向拼接
java·windows·python
立秋67896 小时前
使用Python绘制堆积柱形图
开发语言·python
jOkerSdl6 小时前
第三十章 方法大全(Python)
python
小白学大数据6 小时前
HTML内容爬取:使用Objective-C进行网页数据提取
大数据·爬虫·python·html·objective-c·cocoa
别致的SmallSix7 小时前
集成学习(一)Bagging
人工智能·机器学习·集成学习
逆境清醒7 小时前
开源数据科学平台Anaconda简介
人工智能·python·深度学习·机器学习·anaconda