小白第一阶段初步的认识💪💪
-
对F1-score的认识
用于评估二分类模型性能的指标,主要考虑精确度(Precision)和召回率(Recall)。精确度(Precision)是指预测出正样品正确的有多少,召回率(Recall)指所有的正样品中,模型预测出来多少。如果一个模型的预测结果里,正样本都预测正确了,那么精确度就很高;如果一个模型能把所有的正样本都预测出来那么召回率就很高。两者相互影响,理想状态下追求两者都高,实际上两者相互制约,追求精确度高,则召回率就低;追求召回率高,则通常会影响精确度。因此,就要综合考虑精确度和召回率,用调和平均数的形式计算出一个0—1之间的分数来评判,模型分数越高,表示模型越好,调和平均数会拉低较大值的权重,使得较小值也能考虑到,更加合理。
-
python字典类型对象
Python字典类型对象是一组键值对的集合,每个键值对之间用逗号分隔,整个字典用花括号括起来。字典中的键必须是唯一的,而值可以是任意类型的数据(数字、字符串、列表、元组等),如{'key1': 3, 'key2': 2}形式。
-
Pandas数据框
Pandas数据框(DataFrame)是Pandas中最常用的数据结构之一。它是一个二维表格,类似于电子表格或数据库表。数据框由行和列组成,每列可以包含不同的数据类型(数值、字符串、布尔值等)。可以使用
pd.DataFrame()
函数从列表、字典或NumPy数组创建数据框:
这里,我的理解是将 udmap_onethot 函数分别应用于训练集数据和测试集数据的'udmap'列,再将结果垂直堆叠成一个数组,再将数组转换为一个Pandas数据框,并将其分别赋值给train_udmap_df
变量和test_udmap_df变量。
-
train_data = pd.concat([train_data, train_udmap_df], axis=1)
-
test_data = pd.concat([test_data, test_udmap_df], axis=1)
pd.concat()
函数用于将多个数据框按指定的轴方向进行拼接。通过设置axis=1
参数,表示按列方向进行拼接,由此,train_udmap_df
数据框的内容将会被添加到train_data
数据框的最后一列,test_udmap_df
数据框的内容将会被添加到test_data
数据框的最后一列。
总而言之,主要包括以下内容:
- 读取训练集和测试集数据。
- 对'udmap'列进行One-Hot编码。
- 提取'eid'的频次特征和标签特征。
- 将时间戳转换为datetime类型,并提取小时信息。
- 加载决策树模型并进行训练。
- 对测试集进行预测,并将结果保存到DataFrame中。
- 将结果DataFrame保存为CSV文件。