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