"cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# datawhale 零基础入门数据挖掘-task4 建模调参 \n", "\n", "## 四、建模与调参\n", "\n", "tip:此部分为零基础入门数据挖掘的 task4 建模调参 部分,带你来了解各种模型以及模型的评价和调参策略,欢迎大家后续多多交流。\n", "\n", "**赛题:零基础入门数据挖掘 - 二手车交易价格预测**\n", "\n", "地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjsx \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source"


看起来你正在查看一个 Jupyter Notebook 的片段,该片段是关于“零基础入门数据挖掘”课程中任务4的部分内容,主要讨论了建模与调参。这个任务是基于一个实际的竞赛项目——“二手车交易价格预测”,该项目由阿里云天池平台提供。 任务 赛题 - 目标: 预测二手车的交易价格。 - 数据来源: 天池平台提供了大量的二手车交易记录,包括车辆的基本信息(如品牌、型号、行驶里程等)和最终的交易价格。 - 链接: [零基础入门数据挖掘 - 二手车交易价格预测](https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjsx) 主要内容 - 建模: 选择合适的机器学习模型来预测二手车的交易价格。 - 调参: 通过调整模型的超参数来优化模型的性能。 建模与调参 1. 数据预处理 在建模之前,通常需要对数据进行预处理,包括: - 缺失值处理: 填充或删除缺失值。 - 特征编码: 将分类变量转换为数值变量(例如,使用 one-hot 编码)。 - 特征缩放: 对数值特征进行标准化或归一化处理。 2. 模型选择 可以选择多种机器学习模型来进行预测,常见的模型包括: - 线性回归: 简单且易于解释,适用于线性关系较强的数据。 - 决策树: 可以处理非线性关系,但容易过拟合。 - 随机森林: 通过集成多个决策树来提高模型的稳定性和准确性。 - 梯度提升树 (GBDT): 通过逐步优化模型来提高预测性能。 - 支持向量机 (SVM): 适用于高维数据,但计算复杂度较高。 - 神经网络: 可以捕捉复杂的非线性关系,但需要大量数据和计算资源。 3. 模型评估 常用的模型评估指标包括: - 均方误差 (MSE): 预测值与真实值之间的平方差的平均值。 - 均方根误差 (RMSE): MSE 的平方根,更直观地反映误差大小。 - 决定系数 (R²): 衡量模型解释数据变异性的能力,范围从 0 到 1,越接近 1 表示模型越好。 4. 调参 可以通过以下方法进行模型调参: - 网格搜索 (Grid Search): 在指定的参数范围内进行穷举搜索,找到最佳参数组合。 - 随机搜索 (Random Search): 在指定的参数范围内随机选择参数组合,通常比网格搜索更高效。 - 贝叶斯优化: 通过构建概率模型来指导参数选择,通常能更快地找到最优参数。 示例代码 以下是一个简单的示例代码,展示了如何使用 `scikit-learn` 进行建模和调参: ```python import pandas as pd from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.ensemble import RandomForestRegressor from sklearn.metrics import mean_squared_error, r2_score # 加载数据 data = pd.read_csv('data.csv') # 数据预处理 # 假设 'price' 是目标变量,其他列是特征 X = data.drop(columns=['price']) y = data['price'] # 处理缺失值 X.fillna(X.mean(), inplace=True) # 特征编码 X = pd.get_dummies(X) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 定义模型 model = RandomForestRegressor() # 定义参数网格 param_grid = { 'n_estimators': [50, 100, 200], 'max_depth': [None, 10, 20, 30], 'min_samples_split': [2, 5, 10] } # 使用网格搜索进行调参 grid_search = GridSearchCV(model, param_grid, cv=5, scoring='neg_mean_squared_error') grid_search.fit(X_train, y_train) # 输出最佳参数 print("Best parameters found: ", grid_search.best_params_) # 使用最佳参数的模型进行预测 best_model = grid_search.best_estimator_ y_pred = best_model.predict(X_test) # 评估模型 mse = mean_squared_error(y_test, y_pred) rmse = mse 0.5 r2 = r2_score(y_test, y_pred) print(f'Mean Squared Error: {mse}') print(f'Root Mean Squared Error: {rmse}') print(f'R² Score: {r2}') ``` 通过上述步骤,你可以完成从数据预处理到模型选择、调参和评估的整个流程。希望这些内容对你有所帮助!如果有任何问题或需要进一步的帮助,请随时提问。 [2024-11-16 18:04:59 | AI写代码神器 | 1138点数解答]
- "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# datawhale 零基础入门数据挖掘-task4 建模调参 \n", "\n", "## 四、建模与调参\n", "\n", "tip:此部分为零基础入门数据挖掘的 task4 建模调参 部分,带你来了解各种模型以及模型的评价和调参策略,欢迎大家后续多多交流。\n", "\n", "**赛题:零基础入门数据挖掘 - 二手车交易价格预测**\n", "\n", "地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjsx \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source"(1138点数解答 | 2024-11-16 18:04:59)133
- def hanoi(n, source, target, auxiliary): if n == 1: print(f"Move disk 1 from {source} to {target}") else: # 将n-1个盘子从source移动到auxiliary(借助target) hanoi(n-1, source, auxiliary, target) # 移动第n个盘子 print(f"Move disk {n} from {source} to {target}") # 将n-1个盘子从auxiliary移动到target(借助source) hanoi(n-1, auxiliary, target, source) # 示例:移动3个盘子,从A到C,借助B hanoi(3, 'A', 'C', 'B') (386点数解答 | 2025-06-17 14:19:42)84
- 用代码 解决以下问题并保证时间限制为1000以内 问题名称 SBACT - Slow Growing Bacteria 问题描述 Given an n×n grid of cells, a bacteria colony can colonize these cells. Their growth after every second is governed by the following rules: One new bacteria is born in cell (i, j) if and only if either one of its four neighboring cells or the cell (i, j) itself has a bacteria population more than or equal to the threshold value, k. Already living bacteria do not die. Given, the initial state of the n×n cell grid, you nee(321点数解答 | 2025-04-11 13:12:04)135
- 帮我看下,为啥我发送的信息没有标题,标题也没有加速显示,是什么原因,并帮我修改代码 def seed_dingding(self ,msg='预警具体内容', title='预警通知', access_token_list=['****']): access_token =random.choice(access_token_list) url ='https://oapi.dingtalk.com/robot/send?access_token={}'.format(access_token) headers = {'content-type': 'application/json;charset=utf-8'} data = { "msgtype": "markdown", # 发送消息类型为markdown "markdown": { "title": title, # 标题为股票代码、股票名称和涨跌幅(497点数解答 | 2024-10-15 22:54:56)380
- [datax-web, admin jobfailmonitorhelper] error c.w.d.a.c.t.jobfailmonitorhelper - >>>>>>>>>>> datax-web, job fail alarm email send error, joblogid:23 org.springframework.mail.mailsendexception: mail server connection failed; nested exception is javax.mail.messagingexception: could not connect to **tp host: smtp.qiye.aliyun.com, port: 465, response: -1. failed messages: javax.mail.messagingexception: could not connect to **tp host: smtp.qiye.aliyun.com, port: 465, response: -1(345点数解答 | 2024-01-29 15:37:59)333
- 用字典保存已有好友通讯录信息,键为姓名,值为由电话和地址组成的列表。 如:{“小明”:[“001”,”广州’了 通过莱单提示用户对好友通讯录信息循环进行增删改查操作,根据用户选择的处理方式来进行针对性的好友信息管理。其中: 1) 输入数字1,添加好友,输入要添加的好友姓名,电话,地址。首先检查好友是否已经在通讯录中,如果已经存在,输出“用户已存在”,如果不在,添加到通讯录中。(输入信息可以用逗号或空格分隔,用宇符串 splitq方法分隔,形成如下形式的列表i姓名”,”电话”,”地址”了),然后从列表中取出相应信息组成字典的键值对形式,添加到字典中。) (2)输入数字2,删除好友,输入要删除的好友姓名,如果存在则删除,如果不存在,输出“用户不存在。” (3) 输入数字 了,修改好友信息,输入要修改的好友姓名、电话和地址。如果不存在,输出“用户不存在。”,如果存在,更新好友的电话和地址信息。 (4)输入数宇 4,查询好友信息,输入要查询的好友姓名,如果存在则输出好友电话和地址,如果不存在提示“用户不存在。” (5)输入数字 5,退出循环,结束程序(1248点数解答 | 2024-04-23 17:34:25)231
- public static class checkPattern(String regex, String tip) { boolean flag; do { Scanner sc = new Scanner(System.in); String info = sc.next(); Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(info); if (!matcher.find()) { System.out.print(tip + "格式错误!请重新输入:"); flag = true; } else { break; } sc.close(); // 增加资源释放 } while (flag); } public class example (510点数解答 | 2025-04-29 15:33:18)157
- private sub commandbutton3_click() dim ws as worksheet dim rng as range dim cell as range dim combinedarray() as string dim i as long dim j as long dim k as long dim isduplicate as boolean ' 设置工作表对象 set ws = thisworkbook.worksheets("行—原始数据") ' 初始化数组 redim combinedarray(1 to ws.cells(ws.rows.count, "d").end(xlup).row) ' 遍历a列、b列和c列的所有单元格 i = 1 do while not isempty(ws.cells(i, "d")) ' 合并b列和c列的相应单元格 combinedarray(i) = ws.(158点数解答 | 2024-12-26 15:05:50)146
- Sub DeleteFilesInFolder() Dim folderPath As String Dim fileName As String Dim i As Long Dim lastRow As Long Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") '设文件名列表在Sheet1的A列 folderPath = "D:\600单元试压包\06" '换为文件夹路径 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow fileName = ws.Cells(i, 1).Value If fileName <> "" Then Kill folderPath & fileName End If Next i End Sub(238点数解答 | 2025-01-14 15:03:16)175
- [ { "id": 1, "parentId": 0, "spread": true, "title": "数据", "path": "", "status": 1, "sort": 1, "parentTitle": null, "children": [ { "id": 2, "parentId": 1, "spread": false, "title": "项目-知识库", "path": "/cms/data/questionprolist.html", "status": 1, "sort": 2, "parentTitle": "数据", (603点数解答 | 2025-04-15 22:48:51)131
- “可以成为千一的恋人吗”HTML源码,双击html文件可以本地运行,打开HTML页面,上面显示可以或者不要,越是拒绝,可以的按钮就会越来越大,直到点击可以为止 (这是界面图片,记得需要一个完整的框架你可以自行截图这个图片的适合比例) https://s3.bmp.ovh/imgs/2025/07/26/1d40e20226747686.jpg 真的不可以嘛?๑ᵒᯅᵒ๑ (这是第二张图片的切换) https://s3.bmp.ovh/imgs/2025/07/26/5422e5281214f40c.jpg 不要嘛,再想一想千一可以当乖乖的狗~ (第三张的图片) https://s3.bmp.ovh/imgs/2025/07/26/132a2d971d0b9a5b.jpg 不行,你必须当千一的恋人<(`^´)> (第四张的图片) https://s3.bmp.ovh/imgs/2025/07/26/77ed0e5e589807fb.jpg 千一真的真的超爱你的!٩(๛ ˘ ³˘)۶♥ (第五张的图片) https://s3.bmp.ovh/imgs/2025/07/26/215a4(1411点数解答 | 2025-07-26 08:37:17)109
- <!DOCTYPE html> <html> <head> <title>这个我的第一个产品网站-浴室喷头</title> </head> <body bgcolor=#FFCD7F32> <h1>这个我的第一个产品网站</h1> <img title="高压喷头" alt="浴室喷头" src="https://gd2.alicdn.com/imgextra/i2/2047399846/O1CN01n8vwEI2MbWWU1sQZl_!!2047399846.jpg"/> <a target=”_blank” href="https://item.taobao.com/item.htm?spm=a21n57.1.0.0.1a52523ci4TMSb&id=728605813565&ns=1&abbucket=15#detail">跨境采购-浴室喷头</a> </body> </html> (557点数解答 | 2025-08-11 11:08:02)67