夏令营第三期-机器学习笔记

夏令营第三期-机器学习笔记

概要

用户新增预测挑战赛

为了能够提升自己的分数,我选择更改模型和更改参数,但是最终的分数都不如一开始跑的分数高,接下来我就认真分析一下两次的技术分析。

技术细节

第一次测试:

函数提取: 将特定的功能块封装成函数,以提高代码的可读性和复用性。比如,可以将特征工程的部分封装成函数。

def preprocess_data(data):
    # 特征工程的代码块
    return processed_data

train_data = preprocess_data(train_data)
test_data = preprocess_data(test_data)

特征处理优化: 在进行 One-Hot 编码时,可以使用 pandas 的 get_dummies 函数来进行编码,这可以减少一些循环操作。

train_udmap_df = pd.get_dummies(train_data['udmap'].apply(eval).apply(pd.Series), prefix='key')
test_udmap_df = pd.get_dummies(test_data['udmap'].apply(eval).apply(pd.Series), prefix='key')

重复代码消除: 在处理测试集中的 ‘eid_freq’ 和 ‘eid_mean’ 特征时,应该使用测试集的信息,而不是将训练集的信息再次映射到测试集。

test_data['eid_freq'] = test_data['eid'].map(test_data['eid'].value_counts())
test_data['eid_mean'] = test_data['eid'].map(train_data.groupby('eid')['target'].mean())

代码注释: 为代码添加详细的注释,解释每个步骤的目的和作用,以提高代码的可读性和维护性。

模型评估: 在训练模型之前,最好将数据集分成训练集和验证集,以便在训练过程中进行模型评估和调参,避免过拟合。

模型调参: 对于决策树模型,可以考虑调整一些超参数,如树的最大深度、最小样本分割数等,以获取更好的模型性能。

异常处理: 当使用 eval 函数解析字符串为字典时,可能会遇到一些异常情况。可以考虑添加适当的异常处理机制,以确保代码的健壮性。

文件路径处理: 在读取和保存文件时,最好使用绝对路径或者相对路径,以避免不同环境下的路径问题。

可选的预处理步骤: 根据具体问题,可能还需要其他的特征工程和预处理步骤,比如缺失值处理、特征缩放等。根据数据的特点进行相应的处理。

根据以上代码,更改后,改出来后的代码获得的分数是
在这里插入图片描述

第二次测试:

模型复杂度提升: 决策树模型的复杂度与其深度相关。可以尝试增加决策树的深度,以便模型可以更好地拟合数据。不过,需要注意过拟合的问题,因此可能需要进行交叉验证来选择合适的深度。

clf = DecisionTreeClassifier(max_depth=10)  # 通过增加 max_depth 参数来增加决策树深度

集成算法: 考虑使用集成算法,如随机森林(Random Forest)或梯度提升(Gradient Boosting)。这些算法可以结合多个弱学习器来构建更强大的模型,通常能够提升模型性能。

特征工程: 尝试更多的特征工程,可能会带来更好的模型性能。探索不同的特征提取、变换和选择方法,以及更深入的数据分析,可能会发现一些对于模型预测更有意义的特征。

超参数调优: 对于决策树模型,有一些超参数可以调整,例如节点分割的最小样本数(min_samples_split)、叶节点的最小样本数(min_samples_leaf)等。使用交叉验证来选择合适的超参数,以达到更好的性能。

使用更大的数据集: 如果有更多的数据可用,可以考虑使用更大的训练数据集,这通常可以提高模型的泛化能力。

模型集成: 可以考虑使用多个不同类型的模型进行集成,例如随机森林、支持向量机、神经网络等。将不同模型的预测结果进行组合,通常可以提高预测性能。

根据上面信息的更改,获得的分数是:
在这里插入图片描述

小结

后续会继续优化这段代码,从而获得更高的成绩

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值