在本教程中,您将学习足够的 Python,以创建看起来很专业的 线性图表 。然后,在下面的练习中,您将把您的新技能用于处理真实世界的数据集。 准备好笔记本 我们从设置编码环境开始。 import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns 选择数据集 本教程的数据集跟踪音乐流媒体服务Spotify 上的全球每日流量。我们关注2017年和2018年的五首流行歌曲: "Shape of You", by Ed Sheeran (链接) "Despacito", by Luis Fonzi (链接) "Something Just Like This", by The Chainsmokers and Coldplay (链接) "HUMBLE.", by Kendrick Lamar (链接) "Unforgettable", by French Mon....
欢迎来到数据可视化! 在这门实践课程中,你将学习如何使用 seaborn 这个强大而易于使用的数据可视化工具,将你的数据可视化提升到一个新的水平。为了使用 seaborn,你还需要学习一些 Python 编程语言的知识。尽管如此, 本课程旨在面向那些没有编程经验的人,而且 每个图表都使用简短而简单的代码,使 seaborn 比许多其他数据可视化工具(如 Excel)更快更容易使用。 因此,如果你从未写过一行代码,想要学习最基本的知识,从今天开始制作更快、更有吸引力的图表,那么你来对地方了!要查看一些你将制作的图表,请查看下面的图例。 设置环境 您需要在每个笔记本的顶部运行几行代码来设置您的编码环境。现在理解这些代码行并不重要,因此我们还不会深入到细节中。 import pandas as pd pd.plotting.register_matplotlib_converters() import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns 加载数据 在这个笔记本中,我们将使用一个历史FIFA....
1005 Spell It Right Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English. 给定一个非负整数N,你的任务是计算N的所有数字的和,并输出总和的每个数字的英文表示。 Input Specification: Each input file contains one test case. Each case occupies one line which contains an N (≤10^{100}). 每个输入文件包含一个测试用例。每个测试用例占据一行,其中包含一个N(≤10^{100})。 Output Specification: For each test case, output in one line the digits of the sum in English words. There must be one space between tw....
1004 Counting Leaves A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. 一个家庭的层级结构通常用家谱树来表示。你的任务是统计那些没有孩子的家庭成员。 输入格式: Each input file contains one test case. Each case starts with a line containing 0<N<100, the number of nodes in a tree, and M (<N), the number of non-leaf nodes. Then M lines follow, each in the format: ID K ID[1] ID[2] ... ID[K] where ID is a two-digit number representing a given non-leaf node, K is t....
C++快速回顾重点 本文是《算法笔记》胡凡、曾磊著 的精炼总结。用于博主本人的快速复习,具有极强主观性,请酌情学习。 一、C/C++语言基础 变量 int占4字节,**范围大概$10^9$**内。 long long占8字节,$10^9$外用long long。 float占4字节,1位符号位、8位指数位、23位尾数位,有效精度6~7位。 double占8字节,1位符号位、11位指数位、52位尾数位,有效精度15~16位。尽量用double。 char小写字母比大写字母ascll码大32。 char单个字符常量必须用单引号。 char[]字符串常量用双引号。 bool在整型转布尔时,非零为true,零为false 常量 宏定义末尾不加分号 #define 标识符 常量 推荐使用const定义常量 const 数据类型 变量名 = 常量 宏定义陷阱 #include<iostream> using namespace std; #define CAL(x) (x * 2 + 1) int main(){ int a = 1; printf("%d\n"....
ChatGPT光速接入 使用用本教程,您将获得:一个光速接入ChatGPT的方法,无需科学上网魔法,无需openai账号,不会出现官网卡顿的画面,以及会有更加人性化的设置。 注意:此方法也有对话数量限制,每日30条。想要无限畅聊需要充值。 前置条件: 需要(一台可上网电脑、一个最新版edge浏览器) 不需要(科学上网×,openai账号×) step1准备好前置条件中需要的部分 step2依次点击下面的按钮 点击<设置及其他> 点击<扩展> 点击<管理扩展> 点击<获取Micosoft Edge扩展> 搜索< sider > 点击<获取>,并出现提示时点击<同意>类似词即可。 因为本人已经<获取>过了,此处是<删除>。 step3 按照插件提示进行个性化设置 略,需要问题请留言。 step4 使用效果 自由对话模式 翻译模式 step5 自由探索 介绍就到此为止吧。请各位理性、礼貌、用正确的语言地跟AI聊天。希望各位跟ChatGPT的对话能有所收获。
迪杰斯特拉算法 万物基于传销——硬核的半佛仙人 题目是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....
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. 作为一名城市的紧急救援队队长,你....
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}....
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....
介绍 决策树让你面临一个难以决定的问题。一个带有很多叶子的深树会过度拟合,因为每个预测只来自于其叶子上的几栋房屋的历史数据。但是,叶子较少的浅树性能表现不佳,因为它无法捕捉原始数据中的许多差异。 即使是今天最先进的建模技术也面临着欠拟合和过拟合之间的紧张关系。但是,许多模型都有巧妙的想法,可以带来更好的性能。我们将以随机森林为例。 随机森林使用多棵树,并通过平均每个组件树的预测来进行预测。它通常比单个决策树具有更好的预测准确性,并且在默认参数下工作得很好。如果你继续建模,你可以学习更多性能更好的模型,但其中许多模型对于获得正确的参数非常敏感。 例子 你已经多次看到了加载数据的代码。在数据加载结束时,我们有以下变量: 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) #....
介绍 我们将从机器学习模型如何工作以及如何使用它们的概述开始。如果您以前做过统计建模或机器学习,这可能感觉很基本。别担心,我们很快就会建立强大的模型。 本课程将让你在经历下面的场景时建立模型: 你表弟在房地产投机上赚了几百万。因为你对数据科学的兴趣他提出要和你做生意伙伴。他负责提供资金,你负责提供预测各种房屋价值的模型。 你问你的堂兄过去是如何预测房地产价值的,他说这只是直觉。但是更多的问题表明,他从过去看到的房子中识别出了价格模式,并利用这些模式来预测他正在考虑的新房子。 机器学习也是如此。我们将从一个叫做决策树的模型开始。还有更精确的模型可以给出更准确的预测。但是决策树很容易理解,它们是数据科学中一些最好的模型的基本构件。 为了简单起见,我们将从最简单的可能的决策树开始。 它只将房屋分为两类。其中房屋的预测价格是同一类别房屋的历史平均价格。 我们使用数据来决定如何将房屋分成两组,然后再次确定每组中的预测价格。从数据中捕获模式的这一步称为 “拟合” 或 “训练” 模型。用于拟合模型的数据称为 训练数据 。 关于模型如何拟合的细节(例如如何分割数据)非常复杂,我们按下不表,以后再说。....
模型实验 既然您有了一个可靠的方式来测量模型的准确性,您可以尝试使用其他模型并查看哪个能够提供最佳的预测。但是,您可以为模型提供哪些备选方案呢? 在scikit-learn的文档中,您可以看到决策树模型有许多选项(您长时间内可能都不需要或不想用到)。最重要的选项决定了树的深度。请回忆一下本课程第一篇文章中介绍的,决策树的深度是一种度量它在进行预测前多少次分裂的指标。这是一棵相对较浅的树。 在实践中,一棵树在顶层(所有房屋)和一个叶子节点之间分裂成10个部分并不罕见。随着树越来越深,数据集被切割成房屋更少的叶子节点。如果一棵树只有一个分叉,它将数据分为两组。如果每个组再次分叉,我们将得到4组房屋。如果我们通过在每一层添加更多的分叉来不断加倍分组数量,那么到达第10个级别时,我们将拥有\(2^{10}\)个房屋组。即1024个叶子。 当我们将房屋分配给许多叶子节点时,每个叶子节点中也有较少的房屋。房屋非常少的叶子节点将给出非常接近这些房屋实际值的预测,但它们可能会为新数据提供非常不可靠的预测(因为每个预测仅基于几个房屋)。 这种现象被称为 过度拟合,其中模型几乎完美地匹配训练数据,但在验....
构建模型 您将使用 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) 许多机器学习模....
使用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....