天南之城的后花园

记录精彩的程序人生

文章

PAT 1003 迪杰斯特拉算法详解

迪杰斯特拉算法 万物基于传销——硬核的半佛仙人 题目是PAT的题目,Advanced Level 1003 Emergency 代码是github的代码,原仓库地址https://github.com/liuchuo/PAT 1003 Emergency 紧急事件 As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked on the map. When there is an emergency call to you from some other city, your job is to lead your men to the....

PAT 1003 紧急救援

1003 Emergency 紧急事件 As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked on the map. When there is an emergency call to you from some other city, your job is to lead your men to the place as quickly as possible, and at the mean time, call up as many hands on the way as possible. 作为一名城市的紧急救援队队长,你....

PAT 1002 两多项式相加

1002 A+B for Polynomials This time, you are supposed to find A+B where A and B are two polynomials. 这次,你需要找到两个多项式A和B的和。 Input Specification: Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial: K N_1 a_{N1} N_2 a_{N2} ... N_{K} a_{NK} where K is the number of nonzero terms in the polynomial, N_{i} and a_{Ki} (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1≤K≤10 , 0≤N_{K}<⋯<N_{2}<N_{1}....

PAT 1001 两数相加

1001 A+B Format Calculate a+b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits). 计算a+b并以标准格式输出——也就是说,除非数字少于四位,否则数字必须用逗号分隔成三组。 Input Specification: Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space. 每个输入文件包含一个测试用例。每个用例包含一对整数a和b,其中−106≤a,b≤106。数字由空格分隔。 Output Specification: For each test case, you should ou....

kaggle机器学习入门(五)随机森林

介绍 决策树让你面临一个难以决定的问题。一个带有很多叶子的深树会过度拟合,因为每个预测只来自于其叶子上的几栋房屋的历史数据。但是,叶子较少的浅树性能表现不佳,因为它无法捕捉原始数据中的许多差异。 即使是今天最先进的建模技术也面临着欠拟合和过拟合之间的紧张关系。但是,许多模型都有巧妙的想法,可以带来更好的性能。我们将以随机森林为例。 随机森林使用多棵树,并通过平均每个组件树的预测来进行预测。它通常比单个决策树具有更好的预测准确性,并且在默认参数下工作得很好。如果你继续建模,你可以学习更多性能更好的模型,但其中许多模型对于获得正确的参数非常敏感。 例子 你已经多次看到了加载数据的代码。在数据加载结束时,我们有以下变量: train_X val_X train_y val_y import pandas as pd # Load data melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv' melbourne_data = pd.read_csv(melbourne_file_path) #....

kaggle机器学习入门(四)决策树

介绍 我们将从机器学习模型如何工作以及如何使用它们的概述开始。如果您以前做过统计建模或机器学习,这可能感觉很基本。别担心,我们很快就会建立强大的模型。 本课程将让你在经历下面的场景时建立模型: 你表弟在房地产投机上赚了几百万。因为你对数据科学的兴趣他提出要和你做生意伙伴。他负责提供资金,你负责提供预测各种房屋价值的模型。 你问你的堂兄过去是如何预测房地产价值的,他说这只是直觉。但是更多的问题表明,他从过去看到的房子中识别出了价格模式,并利用这些模式来预测他正在考虑的新房子。 机器学习也是如此。我们将从一个叫做决策树的模型开始。还有更精确的模型可以给出更准确的预测。但是决策树很容易理解,它们是数据科学中一些最好的模型的基本构件。 为了简单起见,我们将从最简单的可能的决策树开始。 它只将房屋分为两类。其中房屋的预测价格是同一类别房屋的历史平均价格。 我们使用数据来决定如何将房屋分成两组,然后再次确定每组中的预测价格。从数据中捕获模式的这一步称为 “拟合” 或 “训练” 模型。用于拟合模型的数据称为 训练数据 。 关于模型如何拟合的细节(例如如何分割数据)非常复杂,我们按下不表,以后再说。....

kaggle机器学习入门(三)过拟合与欠拟合

模型实验 既然您有了一个可靠的方式来测量模型的准确性,您可以尝试使用其他模型并查看哪个能够提供最佳的预测。但是,您可以为模型提供哪些备选方案呢? 在scikit-learn的文档中,您可以看到决策树模型有许多选项(您长时间内可能都不需要或不想用到)。最重要的选项决定了树的深度。请回忆一下本课程第一篇文章中介绍的,决策树的深度是一种度量它在进行预测前多少次分裂的指标。这是一棵相对较浅的树。 在实践中,一棵树在顶层(所有房屋)和一个叶子节点之间分裂成10个部分并不罕见。随着树越来越深,数据集被切割成房屋更少的叶子节点。如果一棵树只有一个分叉,它将数据分为两组。如果每个组再次分叉,我们将得到4组房屋。如果我们通过在每一层添加更多的分叉来不断加倍分组数量,那么到达第10个级别时,我们将拥有\(2^{10}\)个房屋组。即1024个叶子。 当我们将房屋分配给许多叶子节点时,每个叶子节点中也有较少的房屋。房屋非常少的叶子节点将给出非常接近这些房屋实际值的预测,但它们可能会为新数据提供非常不可靠的预测(因为每个预测仅基于几个房屋)。 这种现象被称为 过度拟合,其中模型几乎完美地匹配训练数据,但在验....

kaggle机器学习入门(二)sklearn入门

构建模型 您将使用 scikit-learn 库来创建模型。在编码时,这个库被写成sklearn,正如您在示例代码中所看到的。Scikit-learn很容易成为存储在DataFrames中的数据类型建模的最流行的库。 建立和使用模型的步骤是: 定义: 它将是什么类型的模型?决策树?其他类型的模型?模型类型的其他参数也被指定了。 拟合: 从提供的数据中捕获模式。这是建模的核心。 预测: 字面意思。 评估: 确定模型预测的准确性。 这里是一个使用scikit-learn定义决策树模型并用特征和目标变量进行拟合的示例。 from sklearn.tree import DecisionTreeRegressor # 定义 model。为 Random_state 指定一个数字,以确保每次运行都得到相同的结果 melbourne_model = DecisionTreeRegressor(random_state=1) # 拟合 model melbourne_model.fit(X, y) DecisionTreeRegressor(random_state=1) 许多机器学习模....

kaggle机器学习入门(一)使用Pandas熟悉数据

使用Pandas熟悉数据 任何机器学习项目的第一步都是熟悉数据。你可以用Pandas库。Pandas是科学家用来探索和操纵数据的主要工具。大多数人在他们的代码中将Pandas缩写为pd。我们按章行事。 import pandas as pd Pandas库最重要的部分是DataFrame。DataFrame持有类似于表格的数据类型。这与Excel中的表格或SQL数据库中的表类似。 Pandas有针对这种类型数据的大多数操作的强大方法。 例如,我们将查看澳大利亚墨尔本的房价数据。在练习中,您将应用相同的过程到一个包含爱荷华州房价的新数据集中。 示例(墨尔本)数据存储在文件路径 ../input/melbourne-housing-snapshot/melb_data.csv 中。 我们使用以下命令加载和探索数据: # save filepath to variable for easier access melbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv' # read the data an....

菠萝 Bolo 博客系统已部署成功。

Bolo 博客系统已经初始化完毕,可在管理后台 - 工具 - 偏好设定中调整更多细节设置。如果需要导入已有博客文章,请参考文档 Hexo/Jekyll/Markdown 文件导入。 Bolo 是基于 Solo 的修改版,主打功能: 离线 分类优化 游客化评论 同步与主分支更新 欢迎你的体验! 请在设置-偏好设定中设置黑客派用户名和 B3log Key 以获得完整体验。 最后,如果你觉得 Bolo 很赞,请到项目主页给颗星鼓励一下❤️

记录精彩的程序人生

© 2025 天南之城的后花园

Powered by Bolo
Theme bolo-sakura by Mashiro
浏览 50992 文章 43 评论 11
蜀ICP备2023008301号

主题 | Theme