标签: wps 的官网最新下载地址是什么

  • wps 的官网最新的下载入口在哪里

      站上7.3万美元,比特币“疯狂”还在继续。

      近期,比特币交易持续升温。3月13日,比特币最高73664美元/枚,约52.8万元人民币/枚,日内涨超2.7%,再创历史新高。

      一周内四破纪录,跻身全球市值第八大资产,随着这一波涨势,比特币越来越受热议,一众WPS office的电脑版的下载网站怎么找也大幅上涨,相关概念股跟着涨。

      在一场币圈的狂欢之中,我们看见众生百态,有人追高,有人踏空,在欲望与风险之间,有人欢喜,也有人梦碎。

      一天涨跌一个香奈儿包
    wps的官网最新下载入口
      炒币犹如过山车

      在圈子内,人们把虚拟币叫做“饼”。

      市场流行这样的话:一饼在手,养老无忧;大饼二饼,手握两饼,赢麻了。

      大饼是比特币,二饼是以太币。如今虚拟币遍地,这两种加密货币,最受大众欢迎。二者居于市价的巅峰,一个超七万美金,一个刚冲上4000美金。
    wps 的官网最新下载地址是什么
      六年前,在美国旅居的小芝,花三千多美金入手一个“大饼”,持有了六年多,一路涨涨跌跌,大风大浪,她都看惯了。

      当时,趁小儿子出生,手头有点闲钱,小芝在平台充入美元,直接挂单买币,就像炒股票一样简单,后面太忙,没有继续跟进。

      最近,比特币像个下蛋的金币,每天可以捡到蛋。见惯了风浪,小芝还是惊叹,一会涨个3000美元,过一会看,又涨6000美元,太刺激。

      这波涨势近乎魔幻。不到两个月时间,比特币价格从38000美元上涨至3月12日的72000美元,涨幅近90%。

      “我佛系炒币,拼的是一个心态。有时候,一天赚一个香奈儿包包,第二天又亏掉。还好我心态好,没啥波动。” 小芝说。

      当初三千多美元,涨到了72000美元,6年涨了近24倍,旁人很艳羡:你怎么忍住6年没卖的?网友说,当年花比特币买了几个披萨,如今后悔至极。

      小芝也佩服自己,想等涨到十万就卖出,至于等多久,她也不知道。

      这场疯狂,还会延续多久?一想到这,人人惴惴不安。

      在2020年时追高,褚宇在泰国花4.5万美金买入比特币,如今涨了超过50%,现在要不要抛?

      当时跟风,褚宇还买了乱七八糟的币,无限币、柴犬币,都是在“高位站岗”,如今要么跌到地板价,要么被市场清退。

      现在,褚宇只剩下比特币和以太币,大饼和二饼还在坚挺。“都说买新不买旧,但炒一些新颖的小币,大多亏了。”

      币友的群,有“资深”玩家劝他,现在别卖,还能“闭眼入”,等到九万、十万再卖。比特币区块奖励今年要减半了,新产生的币减少了,所以还会涨。

      也有人反驳,那是骗小白的话。人人都在说十万卖,小白扎堆入场,意味你要被割韭菜了。

      人人都知道要‘高抛低吸’,但没人看得那么精准。储宇觉得,现在位置高了,牛市能持续多久,谁都说不准。

      “这个市场很魔幻,从高空到地板,是瞬息之间的事。”褚宇说。

      套牢三年、交易所跑路

      币圈冰火两重天

      当市场一飞冲天,有人风光无限,还有人一脚踏空。

      2021年11月,比特币上一个爆火时刻,从社交平台,到菜场大妈都在聊比特币。看着别人一夜暴富,被“币圈老手”怂恿,郭雪入场了。

      有专门的教程,专门的交易所,ID设在境外,号称“随进随出、便捷提现”。郭雪觉得挺方便,涨势这么好,赚钱肯定轻松。

      随之而来的,是比特币急速下坠。2022开年,比特币突然雪崩,一路暴跌到 20,000 美元以下。数十万人爆仓,血本无归。

      郭雪这几年,过得“提心吊胆”。许多国家开始限制比特币,打击挖矿,一波波平台跑路,软件也登不上去。

      2021年,她以6万8美元买入,次年12月探至低谷,2024年3月初,看着币值一路涨,她忍不住了,6万5美元卖出wps office的免费版下载地址在哪里。这三年,亏了三千美元。

      这几天,比特币冲到7万多,郭雪没有后悔,只要把钱拿出来就好。“谁知道以后会怎样,不想再等三年了,我算了了一件心事。”

      3月6日,她把钱都提出来,把APP都删除了。

      在诱惑与风险并存的市场,向往高处的人,也会跌入陷阱。wps的的官网下载的网址怎么找

      二月二龙抬头的日子,虹舒的老公让她“落枕”了。当天,老公告诉她,2020年玩比特币,到目前为止,50万追不回,“只能看到数字,无法操作提现。”

      虹舒犹如晴天霹雳,竟然忘记了发火,那天她几乎一夜没睡,“38岁的我,第一次尝到失眠是什么滋味。”

      虹舒一家三口是平凡家庭,父母是地道的农村人,平时不能“接济”,但从未添麻烦。老公工作稳定,每月到手5000元;虹舒做销售,工资虽不固定,到手也有七八千。

      “家庭每月收入1.3万,除去6000元房贷,剩下的刚够日常开销。”当虹舒听到50万元“被套”,她彻底傻眼:“连一件短袖都舍不得买的老公,竟背着我四处借钱、玩币……”

      2023年,虹舒的儿子出生,老公刚好转正,本以为小日子越过越红火的她,刚刚燃起的希望,被一盆冷水给浇灭了。

      3月13日,知道老公炒币的第三天,虹舒情绪稍微稳定了下来,了解了情况,“原来是被交易所诈骗了。”

      老公买币的交易所叫中币,软件里,能看到资产从50万涨至109万,“但交易所跑路了,说系统维护,1年后还在维护,现在只是几个数字而已。”

      2022年8月,作为四大交易所之一的中币,突然宣布暂停充提币功能,下架了大量交易,解散了社群,引发市场的恐慌。

      去年底,跑路1年多的中币交易所自称“维护完成”。许多网友表示,仍无法操作交易,投资的钱下落不明。WPS office的电脑版的下载的方法

      “普通人千万不要碰比特币!天上不会掉馅饼,掉馅饼也砸不到咱普通人,老老实实、本本分分、家人安康,就足够了。” 虹舒说。

      “散户通过境外渠道投资比特wps 的官网的下载的网址币,几乎等于赌博。”浙江大学国际联合商学院(ZIBS)教授、浙江大学金融科技研究院(AIF)执行副院长张瑞东告诉记者,它不受现有金融监管、股票市场交易规则的保护,投资者也未必受到当地法律保护。

      张瑞东表示,有些境外交易所本身也有风险。这几年,机构暴雷事wps的官网的下载入口是什么件屡见不鲜,美国等地对加密货币交易所的一些立法也并非健全,在很多方面是信息是不透明的。

      全球市场风险巨大

      最好“敬而远之”

      一直以来,对以比特币为首的虚拟资产,大众颇有争议。看不见摸不着的数字,真有投资价值吗?

      “目前来看,比特币仍然是一种具有很强投机色彩的数字资产,作为价值储存的货币,它的价值应该是稳定的,比特币价值波动巨大,且容易被操纵,和传统货币有本质不同。”张瑞东说。

      这一波比特币的疯狂上涨,有它内在的技术原因,也有外部原因。

      张瑞东介绍,按照生产比特币的初始设计,预期今年4月底,每天生产出来比特币的会减半,供应量减少了,换句话说,这是从技术上制造稀有资稀有资产,有人就拿来做炒作。

      当然,还有一个更强的外部因素,美国最近批准的11只现货 ETF基金的上市, ETF相比比特币现货交易,它更有优势,也受到交易规则的保护。

      “有了ETF,传统华尔街等金融机构能够进入到加密货币的交易市场,这些传统机构投资者,可以强势主宰比特币市场;ETF交易价格更低,吸引更多传统的散户,资金量不大的散户,也可以进来了。”张瑞东介绍。

      2024年1月11日,美国证监会正式批准了比特币ETF上市交易,首日成交量便达到46亿美元,大量的资金涌入和投资等重量级投资公司发行的比特币现货ETF,由此,加密货币交易价格暴涨的大幕拉开。

      这些年,投资者纷纷追逐比特币,背后也有多种原因。

      “首先,比特币呈现出高回报潜力,过去几年,比特币的价格表现优于传统资产。其次,比特币与传统金融市场的关联度较低,将其纳入投资组合可以分散风险。此外,一些投资者认为其有抗通胀的特性,可作保值工具。”天使投资人郭涛向记者分析。

      但是,投资比特币存在的风险仍很多。北京社科院研究员王鹏告诉记者,比特币的价格可能在短时间内大幅波动,导致投资者遭受巨大损失,尽管比特币的技术wps office 的官方下载入口被认为是安全的,但仍存在潜在的被网络攻击和窃取的风险。

      此外,当前不同国家对比特币的监管政策各异,法律框架尚还在不断发展,这会影响其合法性和市场接受度。比特币价格会受到大型参与者的影响,市场有被操纵的风险。

      必须注意的是,在我国,持有和交易比特币是不受法律保护的行为。2017年相关部门要求国内比特币交易平台全部关停,并退出市场。2021年,中国人民发布通知称,WPS office的电脑版的下载网站怎么找不具有与法定货币等同的法律地位,WPS office的电脑版的下载网站怎么找相关业务活动属于非法金融活动。

      “WPS office的电脑版的下载网站怎么找风险巨大,不适合普通投资者。对于投机者来讲,这可能是一个工具,但对于普通投资者来讲,最好是远离比特币加密货币交易。”张瑞东介绍。

      中国通信工业协会专委会共同主席于佳宁也告诉记者,对任何市场都要"敬畏而不盲目",尤其是在数字资产这一新兴领域。

      “数字资产的价格极为波动,受到全球政治、经济事件以及行业内发展的影响。流动性风险亦不可忽略。在极端市场wps的电脑版的下载地方的方法状况下,或对于一些较小或新兴的数字资产而言,可能难以迅速兑现,从而影响投资的实际回报。” 于佳宁说。

  • wps的电脑版下载的网站怎么找

      目录

      Python 【机器学习】 进阶 之 【实战案例】房价数据中位数分析 之 [ 数据探索 ] [ 可视化 ] [数据清洗] | 2/3(含分析过程)

      一、简单介绍

      二、机器学习

      1、为什么使用机器学习?

      2、机器学习系统的类型,及其对应的学习算法

      3、机器学习可利用的开源数据

      三、从房价数据集中,进行数据探索、可视化发现规律

      1、地理数据可视化

      2、查找关联

      3、属性组合试验

      四、为机器学习算法准备数据

      1、数据清洗

      2、处理文本和类别属性
    wps的的官网下载网站
      3、自定义转换器

      4、特征缩放

      5、转换流水线

      附录:

      一、一些知识点

      1、Scikit-Learn 设计

      二、源码工程

    wps的官网最新的下载网址怎么找(金山wps官网最新人工电话)
      三、该案例的环境 package 信息如下

      Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。

      Python 机器学习是利用 Python 编程语言中的各种工具和库来实现机器学习算法和技术的过程。Python 是一种功能强大且易于学习和使用的编程语言,因此成为了机器学习领域的首选语言之一。Python 提供了丰富的机器学习库,如Scikit-learn、TensorFlow、Keras、PyTorch等,这些库包含了许多常用的机器学习算法和深度学习框架,使得开发者能够快速实现、测试和部署各种机器学习模型。

      通过 Python 进行机器学习,开发者可以利用其丰富的工具和库来处理数据、构建模型、评估模型性能,并将模型部署到实际应用中。Python 的易用性和庞大的社区支持使得机器学习在各个领域都得到了广泛的应用和发展。

      机器学习(Machine Learning)是人工智能(AI)的一个分支领域,其核心思想是通过计算机系统的学习和自动化推理,使计算机能够从数据中获取知识和经验,并利用这些知识和经验进行模式识别、预测和决策。机器学习算法能够自动地从数据中学习并改进自己的性能,而无需明确地编程。这一过程涉及对大量输入数据的分析和解释,以识别数据中的模式和趋势,并生成可以应用于新数据的预测模型。

      1、为什么使用机器学习?

      使用机器学习的原因主要包括以下几点:

      高效性和准确性:机器学习算法能够处理大规模数据集,并从中提取有价值的信息,其预测和决策的准确性往往高于传统方法。自动化和智能化:机器学习能够自动学习和改进,减少了对人工干预的依赖,提高了工作效率和智能化水平。广泛应用性:机器学习在各个领域中都有广泛的应用,如图像识别、语音识别、自然语言处理、推荐系统、金融预测等,为许多实际问题的解决提供了有效的方法和工具。未来趋势:随着人工智能技术的不断发展,机器学习已成为未来的趋势,掌握机器学习技能将有助于提高职业竞争力和创造力。

      2、机器学习系统的类型,及其对应的学习算法

      机器学习系统可以根据不同的学习方式和目标进行分类,主要包括以下几种类型及其对应的学习算法:

      监督学习(Supervised Learning)

      定义:使用带有标签的训练数据来训练模型,以预测新数据的标签或目标值。常见算法:

      线性回归(Linear Regression):用于预测连续值。逻辑回归(Logistic Regression):用于分类问题,尤其是二分类问题。支持向量机(SVM, Support Vector Machines):用于分类和回归问题,通过寻找最优的超平面来分割数据。决策树(Decision Trees)和随机森林(Random Forests):通过构建决策树或决策树集合来进行分类或回归。神经网络(Neural Networks):模仿人脑神经元的工作方式,通过多层节点之间的连接和权重调整来进行学习和预测。

      无监督学习(Unsupervised Learning)

      定义:在没有标签的情况下,从数据中发现隐藏的结构和模式。常见算法:

      聚类算法(Clustering Algorithms):如K均值(K-Means)、层次聚类分析(HCA)等,用于将数据分组为具有相似特征的簇。降维算法(Dimensionality Reduction Algorithms):如主成分分析(PCA)、t-分布邻域嵌入算法(t-SNE)等,用于减少数据的维度以便于分析和可视化。异常检测(Anomaly Detection):用于识别数据中的异常点或离群点。

      强化学习(Reinforcement Learning)

      定义:通过与环境的交互学习,以最大化累积奖励为目标。特点:强化学习不需要明确的标签或监督信号,而是根据环境给出的奖励或惩罚来指导学习过程。应用场景:游戏AI、机器人控制、自动驾驶等领域。

      半监督学习(Semi-Supervised Learning)

      定义:处理部分带标签的训练数据,通常是大量不带标签数据加上小部分带标签数据。特点:结合了监督学习和无监督学习的特点,旨在利用未标记数据来提高模型的泛化能力。常见算法:多数半监督学习算法是非监督和监督算法的结合,如自训练(Self-Training)、协同训练(Co-Training)等。

      3、机器学习可利用的开源数据

      开源数据集可以根据需要进行选择,涵盖多个领域。以下是一些可以查找的数据的地方,供参考:

      流行的开源数据仓库:

      UC Irvine Machine Learning RepositoryKaggle datasetsAmazon's AWS datasets准入口(提供开源数据列表)

      - Data Portalshttp://opendatamonitor.eu/Financial, Economic and Alternative Data | Nasdaq Data Link其它列出流行开源数据仓库的网页:

      Wikipedia's list of Machine Learning datasetsQuora.com questionDatasets subreddit

      (注意:代码执行的时候,可能需要科学上网)

      目前为止,你只是快速查看了数据,对要处理的数据有了整体了解。现在的目标是更深的探索数据。

      首先,保证你将测试集放在了一旁,只是研究训练集。另外,如果训练集非常大,你可能需要再采样一个探索集,保证操作方便快速。在我们的案例中,数据集很小,所以可以在全集上直接工作。创建一个副本,以免损伤训练集:

    wps官网的下载的地址在哪里(wps office免费版本下载)  1、地理数据可视化

      因为存在地理信息(纬度和经度),创建一个所有街区的散点图来数据可视化是一个不错的主意(图 3-1):

      运行结果:

      

      图 3-1 数据的地理信息散点图

      这张图看起来很像加州,但是看不出什么特别的规律。将设为 0.1,可以更容易看出数据点的密度(图 3-2):

      运行结果:

      

      图 3-2 显示高密度区域的散点图

      现在看起来好多了:可以非常清楚地看到高密度区域,湾区、洛杉矶和圣迭戈,以及中央谷,特别是从萨克拉门托和弗雷斯诺。

      通常来讲,人类的大脑非常善于发现图片中的规律,但是需要调整可视化参数使规律显现出来。

      现在来看房价(图 3-3)。每个圈的半径表示街区的人口(选项),颜色代表价格(选项)。我们用预先定义的名为的颜色图(选项),它的范围是从蓝色(低价)到红色(高价):

      运行结果:

      

      图 3-3 加州房价

      为了更加形象的展示效果,我们接下来加载地图进入图中:

      下载加州地图

      运行结果:

      Downloading california.png

      添加下载的加州地图一并显示,效果见图 3-4

      运行结果:
    WPS office的官网最新的下载网址的方法
      

      图 3-4 带地图的加州房价图

      这张图说明房价和位置(比如,靠海)和人口密度联系密切,这点你可能早就知道。可以使用聚类算法来检测主要的聚集,用一个新的特征值测量聚集中心的距离。尽管北加州海岸区域的房价不是非常高,但离大海距离属性也可能很有用,所以这不是用一个简单的规则就可以定义的问题。

      2、查找关联

      因为数据集并不是非常大,你可以很容易地使用方法计算出每对属性间的标准相关系数(standard correlation coefficient,也称作皮尔逊相关系数):

      现在来看下每个属性和房价中位数的关联度:

      运行结果:

      median_house_value 1.000000

      median_income 0.687151

      total_rooms 0.135140

      housing_median_age 0.114146

      households 0.064590

      total_bedrooms 0.047781

      population -0.026882

      longitude -0.047466

      latitude -0.142673

      Name: median_house_value, dtype: float64

      相关系数的范围是 -1 到 1。当接近 1 时,意味强正相关;例如,当收入中位数增加时,房价中位数也会增加。当相关系数接近 -1 时,意味强负相关;你可以看到,纬度和房价中位数有轻微的负相关性(即,越往北,房价越可能降低)。最后,相关系数接近 0,意味没有线性相关性。图 3-5 展示了相关系数在横轴和纵轴之间的不同图形。

      

      图 3-5 不同数据集的标准相关系数

      注意:相关系数只测量线性关系(如果上升,则上升或下降)。相关系数可能会完全忽略非线性关系(例如,如果接近 0,则值会变高)。在上面图片的最后一行中,他们的相关系数都接近于 0,尽管它们的轴并不独立:这些就是非线性关系的例子。另外,第二行的相关系数等于 1 或 -1;这和斜率没有任何关系。例如,你的身高(单位是英寸)与身高(单位是英尺或纳米)的相关系数就是 1。

      另一种检测属性间相关系数的方法是使用 Pandas 的函数,它能画出每个数值属性对每个其它数值属性的图。因为现在共有 11 个数值属性,你可以得到张图,在一页上画不下,所以只关注几个和房价中位数最有可能相关的属性(图 3-6):

      运行结果:

      

      图 3-6 散点矩阵

      如果 pandas 将每个变量对自己作图,主对角线(左上到右下)都会是直线图。所以 Pandas 展示的是每个属性的柱状图(也可以是其它的,请参考 Pandas 文档)。

      最有希望用来预测房价中位数的属性是收入中位数,因此将这张图放大(图 3-7):

      运行结果:

      

      图 3-7 收入中位数 vs 房价中位数

      这张图说明了几点。首先,相关性非常高;可以清晰地看到向上的趋势,并且数据点不是非常分散。第二,我们之前看到的最高价,清晰地呈现为一条位于 500000 美元的水平线。这张图也呈现了一些不是那么明显的直线:一条位于 450000 美元的直线,一条位于 350000 美元的直线,一条在 280000 美元的线,和一些更靠下的线。你可能希望去除对应的街区,以防止算法重复这些巧合。

      3、属性组合试验

      希望前面的一节能教给你一些探索数据、发现规律的方法。你发现了一些数据的巧合,需要在给算法提供数据之前,将其去除。你还发现了一些属性间有趣的关联,特别是目标属性。你还注意到一些属性具有长尾分布,因此你可能要将其进行转换(例如,计算其对数)。当然,不同项目的处理方法各不相同,但大体思路是相似的。

      给算法准备数据之前,你需要做的最后一件事是尝试多种属性组合。例如,如果你不知道某个街区有多少户,该街区的总房间数就没什么用。你真正需要的是每户有几个房间。相似的,总卧室数也不重要:你可能需要将其与房间数进行比较。每户的人口数也是一个有趣的属性组合。让我们来创建这些新的属性:

      现在,再来看相关矩阵:

      运行结果:

      median_house_value 1.000000

      median_income 0.687151

      rooms_per_household 0.146255

      total_rooms 0.135140

      housing_median_age 0.114146

      households 0.064590

      total_bedrooms 0.047781

      population_per_household -0.021991

      population -0.026882

      longitude -0.047466

      latitude -0.142673

      bedrooms_per_room -0.259952

      Name: median_house_value, dtype: float64

      看起来不错!与总房间数或卧室数相比,新的属性与房价中位数的关联更强。显然,卧室数/总房间数的比例越低,房价就越高。每户的房间数也比街区的总房间数的更有信息,很明显,房屋越大,房价就越高。

      我们用来预测房价中位数的属性是房间数,因此将这张图放大(图 3-8):

      运行结果:

      

      图 3-8 房间数 vs 房价中位数

      方法展示了数值属性的概括,见图 3-9

      运行结果:

      

      图 3-9 每个数值属性的概括

      这一步的数据探索不必非常完备,此处的目的是有一个正确的开始,快速发现规律,以得到一个合理的原型。但是这是一个交互过程:一旦你得到了一个原型,并运行起来,你就可以分析它的输出,进而发现更多的规律,然后再回到数据探索这步。

      现在来为机器学习算法准备数据。不要手工来做,你需要写一些函数,理由如下:

      函数可以让你在任何数据集上(比如,你下一次获取的是一个新的数据集)方便地进行重复数据转换。

      你能慢慢建立一个转换函数库,可以在未来的项目中复用。

      在将数据传给算法之前,你可以在实时系统中使用这些函数。

      这可以让你方便地尝试多种数据转换,查看哪些转换方法结合起来效果最好。

      但是,还是先回到干净的训练集(通过再次复制),将预测量和标签分开,因为我们不想对预测量和目标值应用相同的转换(注意创建了一份数据的备份,而不影响):

      1、数据清洗

      大多机器学习算法不能处理缺失的特征,因此先创建一些函数来处理特征缺失的问题。前面,你应该注意到了属性有一些缺失值。有三个解决选项:

      去掉对应的街区;

      去掉整个属性;

      进行赋值(0、平均值、中位数等等)。

      运行结果:

      

      图3-10

      用的,,和方法,可以方便地实现:

      运行结果:

      

      图3-11

      运行结果:

      

      图3-12

      运行结果:

      

      图3-13

      如果选择选项 3,你需要计算训练集的中位数,用中位数填充训练集的缺失值,不要忘记保存该中位数。后面用测试集评估系统时,需要替换测试集中的缺失值,也可以用来实时替换新数据中的缺失值。

      Scikit-Learn 提供了一个方便的类来处理缺失值:。下面是其使用方法:首先,需要创建一个实例,指定用某属性的中位数来替换该属性所有的缺失值:

      因为只有数值属性才能算出中位数,我们需要创建一份不包括文本属性的数据副本:

      现在,就可以用方法将实例拟合到训练数据:

      计算出了每个属性的中位数,并将结果保存在了实例变量中。虽然此时只有属性存在缺失值,但我们不能确定在以后的新的数据中会不会有其他属性也存在缺失值,所以安全的做法是将应用到每个数值:

      运行结果:

      [-118.51 34.26 29. 2119. 433. 1164.

      408. 3.54155]

      运行结果:

      [-118.51 34.26 29. 2119. 433. 1164.

      408. 3.54155]

      现在,你就可以使用这个“训练过的”来对训练集进行转换,将缺失值替换为中位数:

      结果是一个包含转换后特征的普通的 Numpy 数组。如果你想将其放回到 Pandas中,也很简单:

      运行结果:

      

      顺便看看 ocean_proximity

      运行结果:

      

      2、处理文本和类别属性

      前面,我们丢弃了类别属性,因为它是一个文本属性,不能计算出中位数。大多数机器学习算法更喜欢和数字打交道,所以让我们把这些文本标签转换为数字。

      Scikit-Learn 为这个任务提供了一个转换器OrdinalEncoder:

      Warning: earlier versions of the book used the  class or Pandas'  method to encode string categorical attributes as integers. However, the  class that was introduced in Scikit-Learn 0.20 (see PR #10521) is preferable since it is designed for input features ( instead of labels ) and it plays well with pipelines (introduced later in this notebook). If you are using an older version of Scikit-Learn (<0.20), then you can import it from  instead.

      运行结果:

      array([[1.],

      [4.],

      [1.],

      [4.],

      [0.],

      [3.],

      [0.],

      [0.],

      [0.],

      [0.]])

      好了一些,现在就可以在任何 ML 算法里用这个数值数据了。你可以查看映射表,编码器是通过属性 categories_ 来学习的(被映射为 0,被映射为 1,等等):

      运行结果:

      [array(['<1H OCEAN', 'INLAND', 'ISLAND', 'NEAR BAY', 'NEAR OCEAN'],

      dtype=object)]

      这种做法的问题是,ML 算法会认为两个临近的值比两个疏远的值要更相似。显然这样不对(比如,分类 0 和分类 4 就比分类 0 和分类 1 更相似)。要解决这个问题,一个常见的方法是给每个分类创建一个二元属性:当分类是,该属性为 1(否则为 0),当分类是,另一个属性等于 1(否则为 0),以此类推。这称作独热编码(One-Hot Encoding),因为只有一个属性会等于 1(热),其余会是 0(冷)。

      Scikit-Learn 提供了一个编码器,用于将整数分类值转变为独热向量。注意用于 2D 数组,而是一个 1D 数组,所以需要将其变形:

      运行结果:

      <Compressed Sparse Row sparse matrix of dtype 'float64'

      with 16512 stored elements and shape (16512, 5)>

      注意输出结果是一个 SciPy 稀疏矩阵,而不是 NumPy 数组。当类别属性有数千个分类时,这样非常有用。经过独热编码,我们得到了一个有数千列的矩阵,这个矩阵每行只有一个 1,其余都是 0。使用大量内存来存储这些 0 非常浪费,所以稀疏矩阵只存储非零元素的位置。你可以像一个 2D 数据那样进行使用,但是如果你真的想将其转变成一个(密集的)NumPy 数组,只需调用方法:

      运行结果:

      array([[0., 1., 0., 0., 0.],

      [0., 0., 0., 0., 1.],

      [0., 1., 0., 0., 0.],

      …,

      [1., 0., 0., 0., 0.],

      [1., 0., 0., 0., 0.],

      [0., 1., 0., 0., 0.]])

      3、自定义转换器

      尽管 Scikit-Learn 提供了许多有用的转换器,你还是需要自己动手写转换器执行任务,比如自定义的清理操作,或属性组合。你需要让自制的转换器与 Scikit-Learn 组件(比如流水线)无缝衔接工作,因为 Scikit-Learn 是依赖鸭子类型的(而不是继承),你所需要做的是创建一个类并执行三个方法:(返回),,和。通过添加作为基类,可以很容易地得到最后一个。另外,如果你添加作为基类(且构造器中避免使用和),你就能得到两个额外的方法(和),二者可以方便地进行超参数自动微调。例如,一个小转换器类添加了上面讨论的属性:

      在这个例子中,转换器有一个超参数,默认设为(提供一个合理的默认值很有帮助)。这个超参数可以让你方便地发现添加了这个属性是否对机器学习算法有帮助。更一般wps的的官网下载的地方地,你可以为每个不能完全确保的数据准备步骤添加一个超参数。数据准备步骤越自动化,可以自动化的操作组合就越多,越容易发现更好用的组合(并能节省大量时间)。

      或者,你可以使用Scikit-Learn的FunctionTransformer类,它让你可以轻松地基于转换函数创建一个转换器(感谢Hanmin Qin建议了这段代码)。请注意,我们需要设置validate=False,因为数据包含非浮点值(在Scikit-Learn 0.22中,validate默认为False)。

      运行结果:

      

      4、特征缩放

      数据要做的最重要的转换之一是特征缩放。除了个别情况,当输入的数值属性量度不同时,机器学习算法的性能都不会好。这个规律也适用于房产数据:总房间数分布范围是 6 到 39320,而收入中位数只分布在 0 到 15。注意通常情况下我们不需要对目标值进行缩放。

      有两种常见的方法可以让所有的属性有相同的量度:线性函数归一化(Min-Max scaling)和标准化(standardization)。

      线性函数归一化(许多人称其为归一化(normalization))很简单:值被转变、重新缩放,直到范围变成 0 到 1。我们通过减去最小值,然后再除以最大值与最小值的差值,来进行归一化。Scikit-Learn 提供了一个转换器来实现这个功能。它有一个超参数,可以让你改变范围,如果不希望范围是 0 到 1。

      标准化就很不同:首先减去平均值(所以标准化值的平均值总是 0),然后除以方差,使得到的分布具有单位方差。与归一化不同,标准化不会限定值到某个特定的范围,这对某些算法可能构成问题(比如,神经网络常需要输入值得范围是 0 到 1)。但是,标准化受到异常值的影响很小。例如,假设一个街区的收入中位数由于某种错误变成了 100,归一化会将其它范围是 0 到 15 的值变为 0-0.15,但是标准化不会受什么影响。Scikit-Learn 提供了一个转换器来进行标准化。

      5、转换流水线

      你已经看到,存在许多数据转换步骤,需要按一定的顺序执行。幸运的是,Scikit-Learn 提供了类,来进行这一系列的转换。下面是一个数值属性的小流水线:

      运行结果:

      array([[-0.94135046, 1.34743822, 0.02756357, …, 0.01739526,

      0.00622264, -0.12112176],

      [ 1.17178212, -1.19243966, -1.72201763, …, 0.56925554,

      -0.04081077, -0.81086696],

      [ 0.26758118, -0.1259716 , 1.22045984, …, -0.01802432,

      -0.07537122, -0.33827252],

      …,

      [-1.5707942 , 1.31001828, 1.53856552, …, -0.5092404 ,

      -0.03743619, 0.32286937],

      [-1.56080303, 1.2492109 , -1.1653327 , …, 0.32814891,

      -0.05915604, -0.45702273],

      [-1.28105026, 2.02567448, -0.13148926, …, 0.01407228,

      0.00657083, -0.12169672]])

      构造器需要一个定义步骤顺序的名字/估计器对的列表。除了最后一个估计器,其余都要是转换器(即,它们都要有方法)。名字可以随意起。

      当你调用流水线的方法,就会对所有转换器顺序调用方法,将每次调用的输出作为参数传递给下一个调用,一直到最后一个估计器,它只执行方法。

      流水线暴露相同的方法作为最终的估计器。在这个例子中,最后的估计器是一个,它是一个转换器,因此这个流水线有一个方法,可以顺序对数据做所有转换(它还有一个方法可以使用,就不必先调用再进行)。

      如果不需要手动将 Pandas中的数值列转成 Numpy 数组的格式,而可以直接将输入 pipeline 中进行处理就好了。Scikit-Learn 没有工具来处理 Pandas,因此我们需要写一个简单的自定义转换器来做这项工作:

      每个子流水线都以一个选择转换器开始:通过选择对应的属性(数值或分类)、丢弃其它的,来转换数据,并将输出转变成一个 NumPy 数组。这样,你就可以很简单的写出一个以 Pandas 为输入并且可以处理数值的流水线: 该流水线从开始获取数值属性,前面讨论过的其他数据处理步骤紧随其后。 并且你也可以通过使用选择类别属性并为其写另一个流水线然后应用.

      你现在就有了一个对数值的流水线,你还需要对分类值应用:如何将这些转换写成一个流水线呢?Scikit-Learn 提供了一个类实现这个功能。你给它一列转换器(可以是所有的转换器),当调用它的方法,每个转换器的会被并行执行,等待输出,然后将输出合并起来,并返回结果(当然,调用它的方法就会调用每个转换器的)。一个完整的处理数值和类别属性的流水线如下所示:

      你可以很简单地运行整个流水线:

      运行结果:

      (16512, 16)

      作为参考,以下是基于DataFrameSelector转换器的旧解决方案(仅选择Pandas DataFrame列的一个子集)和FeatureUnion:

      现在,让我们将所有这些组件连接到一个大型管道中,它将预处理数值型和类别型特征(同样,如果愿意,我们可以使用CombinedAttributesAdder()而不是FunctionTransformer(…)):

      运行代码,查看结果

      运行结果:

      <Compressed Sparse Row sparse matrix of dtype 'float64'

      with 198144 stored elements and shape (16512, 16)>

      结果与ColumnTransformer相同:

      运行结果:

      True

      1、Scikit-Learn 设计

      Scikit-Learn 设计的 API 设计的非常好。它的主要设计原则是:

      一致性:所有对象的接口一致且简单:

      估计器(estimator)。任何可以基于数据集对一些参数进行估计的对象都被称为估计器(比如,就是个估计器)。估计本身是通过方法,只需要一个数据集作为参数(对于监督学习算法,需要两个数据集;第二个数据集包含标签)。任何其它用来指导估计过程的参数都被当做超参数(比如的),并且超参数要被设置成实例变量(通常通过构造器参数设置)。转换器(transformer)。一些估计器(比如)也可以转换数据集,这些估计器被称为转换器。API 也是相当简单:转换是通过方法,被转换的数据集作为参数。返回的是经过转换的数据集。转换过程依赖学习到的参数,比如的例子。所有的转换都有一个便捷的方法,等同于调用再(但有时经过优化,运行的更快)。预测器(predictor)。最后,一些估计器可以根据给出的数据集做预测,这些估计器称为预测器。例如,上一章的模型就是一个预测器:它根据一个国家的人均 GDP 预测生活满意度。预测器有一个方法,可以用新实例的数据集做出相应的预测。预测器还有一个方法,可用于评估测试集(如果是监督学习算法的话,还要给出相应的标签)的预测质量。

      可检验。所有估计器的超参数都可以通过实例的公共变量直接访问(比如,),并且所有估计器学习到的参数也可以通过在实例变量名后加下划线来访问(比如,)。

      类不可扩散。数据集被表示成 NumPy 数组或 SciPy 稀疏矩阵,而不是自制的类。超参数只是普通的 Python 字符串或数字。

      可组合。尽可能使用现存的模块。例如,用任意的转换器序列加上一个估计器,就可以做成一个流水线,后面会看到例子。

      合理的默认值。Scikit-Learn 给大多数参数提供了合理的默认值,很容易就能创建一个系统。

      https://github.com/XANkui/PythonMachineLearnIntermediateLevel

      Package                   Version

      ————————- ————–

      anyio                     4.4.0

      argon2-cffi               23.1.0

      argon2-cffi-bindings      21.2.0

      arrow                     1.3.0

      asttokens                 2.4.1

      async-lru                 2.0.4

      attrs                     23.2.0wps 的官网最新下载地址是什么

      Babel                     2.15.0

      beautifulsoup4            4.12.3

      bleach                    6.1.0

      certifi                   2024.7.4

      cffi                      1.16.0

      charset-normalizer        3.3.2

      colorama                  0.4.6

      comm                      0.2.2

      contourpy                 1.2.1

      cycler                    0.12.1

      debugpy                   1.8.2

      decorator                 5.1.1

      defusedxml                0.7.1

      executing                 2.0.1

      fastjsonschema            2.20.0

      fonttools                 4.53.1

      fqdn                      1.5.1

      h11                       0.14.0

      httpcore                  1.0.5

      httpx                     0.27.0

      idna                      3.7

      ipykernel                 6.29.5

      ipython                   8.26.0

      ipywidgets                8.1.3

      isoduration               20.11.0

      jedi                      0.19.1

      Jinja2                    3.1.4

      joblib                    1.4.2

      json5                     0.9.25

      jsonpointer               3.0.0

      jsonschema                4.23.0

      jsonschema-specifications 2023.12.1

      jupyter                   1.0.0

      jupyter_client            8.6.2

      jupyter-console           6.6.3

      jupyter_core              5.7.2

      jupyter-events            0.10.0

      jupyter-lsp               2.2.5

      jupyter_server            2.14.2

      jupyter_server_terminals  0.5.3

      jupyterlab                4.2.4

      jupyterlab_pygments       0.3.0

      jupyterlab_server         2.27.3

      jupyterlab_widgets        3.0.11

      kiwisolver                1.4.5

      MarkupSafe                2.1.5

      matplotlib                3.9.1

      matplotlib-inline         0.1.7

      mistune                   3.0.2

      nbclient                  0.10.0

      nbconvert                 7.16.4

      nbformat                  5.10.4

      nest-asyncio              1.6.0

      notebook                  7.2.1

      notebook_shim             0.2.4

      numpy                     2.0.1

      overrides                 7.7.0

      packaging                 24.1

      pandas                    2.2.2

      pandocfilters             1.5.1

      parso                     0.8.4

      pillow                    10.4.0

      pip                       24.1.2

      platformdirs              4.2.2

      prometheus_client         0.20.0

      prompt_toolkit            3.0.47

      psutil                    6.0.0

      pure_eval                 0.2.3

      pycparser                 2.22

      Pygments                  2.18.0

      pyparsing                 3.1.2

      python-dateutil           2.9.0.post0

      python-json-logger        2.0.7

      pytz                      2024.1

      pywin32                wps office 的官方下载网站是多少(wps官网最新下载电脑版官方下载免费版)   306

      pywinpty                  2.0.13

      PyYAML                    6.0.1

      pyzmq                     26.0.3

      qtconsole                 5.5.2

      QtPy                      2.4.1

      referencing               0.35.1

      requests                  2.32.3

      rfc3339-validator         0.1.4

      rfc3986-validator         0.1.1

      rpds-py                   0.19.1

      scikit-learn              1.5.1

      scipy                     1.14.0

      Send2Trash                1.8.3

      setuptools                70.1.1

      six                       1.16.0

      sniffio                   1.3.1

      soupsieve                 2.5

      stack-data                0.6.3

      terminado                 0.18.1

      threadpoolctl             3.5.0

      tinycss2                  1.3.0

      tornado                   6.4.1

      traitlets                 5.14.3

      types-python-dateutil     2.9.0.20240316

      typing_extensions         4.12.2

      tzdata                    2024.1

      uri-template              1.3.0

      urllib3                   2.2.2

      wcwidth                   0.2.13

      webcolors                 24.6.0

      webencodings              0.5.1

      websocket-client          1.8.0

      wheel                     0.43.0

      widgetsnbextension        4.0.11