Year: 2022

14 Posts

【笔记】实用机器学习 – Data 爬虫
网页数据的抓取-爬虫 实验环境 OS: windows 11 Python 3.6 Chrome (我的版本是 98.0.4758.102) 使用的python工具是 selenium. 从https://chromedriver.chromium.org/home下载对应版本的chromedriver。我的chrome版本是98,所以chromedriver也是98。把解压出来的chromedriver.exe 放到工程目录下。 参考文章: https://selenium-python-zh.readthedocs.io/en/latest/getting-started.html 测试样例 from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('headless') driver = webdriver.Chrome(executable_path="./chromedriver.exe", chrome_options=options) driver.get("https://www.baidu.com/") print(driver.title) driver.close() 流程: 首先打开一个chrome浏览器。指定chromedriver的地址 "./chromedriver.exe"。打开百度网页,输出题目。 通过百度获取天气 xpath 可以通过chrome里右键单击所需元素“检查”,后右键单击元素选择“复制”==》“复制xpath” from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait…
【笔记】实用机器学习 – Data III
李沐老师实用机器学习笔记: Data III 2.2 数据清理 数据往往不是完美的,经常存在很多错误,包括 丢失某些特征,异常值等, 好的机器学习模型应该容忍这些错误。 使用存在错误的数据训练模型,模型可能会收敛,但会影响精度和训练速度,而且,对于新收集的数据,也可能带来不利的影响。 因此,应当数据应该尽可能的干净。 ?️ 授课视频: 2.2 数据清理【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili ? 课件: 讲义下载地址 数据错误的类型 Outliers 离群值: 某一些值与其他的观测值显著不同 违背规则:例如,价值应当大于0 违背模式:例如,singlefamily 写成了 singlefamily, 中间多了 找出数据中存在的错误的方法 异常值检测 对于异常值的检测,我们可以使用boxplot。首先我们找出中值,并计算出25~75%的区间。在图上,这个区间是蓝色或棕色的矩形。我们找出上下1.5倍矩形框之外的值,这些值通常情况下是有问题(错误)的值。 基于规则的检测 我们可以制定规则来找出错误, 依赖性约束:基于邮编,我们可以验证城市名称。基于纳税号,我们可以验证公司名称 拒绝性(Denial)约束:例如,如果有纳税号,电话号码通常不为空 基于模式的检测 句法模式:例如检测到eng(简写),我们就知道此项应该为English 字符。 语义模式:国家应该有首都,如果国家检测到斯坦福,斯坦福没有首都,因此无效 我们通常情况下可以使用图形化界面帮助我们指定规则,这里可以使用数据工程师常用的软件,例如Trifacta(如果需要使用的话,需要进一步学习)。 2.2 数据变换 机器学习算法需要固定长度,条件固定,理想分布的输入数据。这要求了我们需要提前预处理数据。 ?️ 授课视频: 2.3 数据变换【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili ? 课件: 讲义下载地址 实数值 归一化0到1…
【笔记】实用机器学习 – Data II
李沐老师实用机器学习笔记: Data II 1.3 网页数据的抓取 网页数据的抓取是获取训练数据的一个重要的方式。与爬虫不同,数据抓取是为了获取特定的信息,而非爬取整个网页的内容。 ?️ 授课视频: 1.3 网页数据抓取【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili ? 课件: 讲义 工具 通常情况下,网站都会有防护措施,防止机器爬取数据。因此我们一般要使用 headless browser 像selenium。 而且,我们还需要大量的IP,一旦ip被禁止,我们可以换IP继续抓取数据。 案例学习 房屋价格的抓取 (省略),使用云平台,可以方便的更换ip,而且机器要求不高,价格不贵。 法律问题 数据抓取本身并不违法 但是,我们要避免抓取敏感数据:(1)需要登陆才能访问的数据,一般比较敏感。(2)不要爬取有版权的信息,(3)网站声明不允许爬取。 如果用做商业用途请咨询律师 1.4 数据标注 ?️ 授课视频: 1.4 数据标注【斯坦福21秋季:实用机器学习中文版】_哔哩哔哩_bilibili ? 课件: 讲义 流程图 只有部分标签,没钱,不想人工标注数据:半监督学习 如果仅有一小部分的数据,可以使用半监督学习进行数据标注。这里我们的假设是: 数据有连续性:拥有相似特征的样本有相同的标签 聚类性:数据有聚类的特性,同一类有相同的标签 流体假设:数据的复杂度比输入的维度要小 自学习 首先,我们先用有限的标签训练一个模型。然后,我们用模型去预测未标记的数据,对于高置信的预测样本,我们把他们融合到标记的数据中,再继续训练我们的模型。 这里我们可以使用更深的模型,或者多个模型做集合预测。因为这里的深度学习模型只是用来打标签,并不会用来实际部署。 只有部分标签,不差钱,可以标注数据:众包标注 可以使用类似于Amazon Mechanical Turk的众包平台,人工标记大量数据。需要注意的是: 用户标注页面要尽可能地简单:越简单,对标记人员的要求越低,就可以找到更多的标记人员,就可以拿到更低的价格。比如,对于一个365类的分类问题,可以简化为365个二分类问题,标注人员只需要回答是或者否。 花费…
【笔记】实用机器学习 – Data I
李沐老师实用机器学习学习笔记,数据I 1.1 课程介绍 工业界有很多机器学习的应用, 例如传统的制造业中,可以利用传感器,自动找出出现问题的设备 ?️ 授课视频: 跟李沐学AI的个人空间_哔哩哔哩_Bilibili ? 课件: Syllabus - Practical Machine Learning 机器学习工作流: 定义问题: 找出最关键的问题,在一个项目中,最能产生效果的问题 数据:收集高质量的数据,需要考虑隐私问题 训练模型:模型现在越来越复杂,成本越来越高 部署模型:为了实时化 监控:要不断的监控,可能存在偏向性问题 机器学习的角色: 软件设计工程师: 开发维护数据流,模型训练和服务流 领域专家:有商业眼光,发现问题 数据科学家:全栈能力,数据挖掘,模型训练和部署 机器学习专家:模型定制化,模型调优 1.2 数据获取 外部数据集 数据集的三种类型: 学术数据集:干净,简单,但是选择不多,通常是小规模的 比赛数据集:接近于真实的机器学习应用。缺点是简单,数量少 原始数据:有更大的灵活性,但需要更多的预处理 生成数据集 使用GAN 仿真 数据增广