先把数值变量分别出来。这些变量不须要任何情势的处理,所以我们可以开端对其归一并应用机械进修模型。
处理分类变量有两种变法:
把分类变量转化为标签

把标签转化为二进制变量

请记住在应用OneHotEncoder之前要用LabelEncoder把分类变量转化为数值变量。

既然泰坦尼克数据琅绫擎没有好的关于文本变量的例子,我们就本身制订一个处理文本变量的一般规矩。我们可以把所有文本变量整合在一路然后用一些文本分析的算法把他们转换成数字。
文本变量可以如下如许整合:
你可以程度地堆叠所有的特点,然后经由过程应用numpy hstack或sparse hvstack进行进一步处理,具体取决于是否具有密集或稀少特点。
然后就可以应用CoutVectorizer或者TfidfVectorizer在膳绫擎啦:

或者


如不雅你在练习集上做了向量化处理(或者其他操作),请确保将其(响应的处理)转存在硬盘上,以便今后在验证集上应用。

再说一次,记得保存这些转化体:
接下来,就是堆叠器模块。堆叠器模块不是模型堆叠而是特点堆叠。上述处理步调之后获得的不合特点可以经由过程堆叠器模块整合到一路。

也可以经由过程FeatureUnion模块实现,以防万一有其他处理步调,如PCA或特点选择(我们将在后文提到分化和特点选择)。

一旦我们把特点找齐了,就可以开端应用机械进修模型了。在这个阶段,你只需用到基于树的模型,包含:
- 随机丛林分类器
- 随机丛林回归器
- ExtraTrees分类器
- ExtraTrees回归器
- XGB分类器
- XGB回归器
因为没有归一化,我们不克不及将线性模型应用到上述特点上。为了可以或许应用线性模型,可以大年夜scikit-learn中应用Normalizer或者StandardScaler。
这些归一化的办法仅限于密集特点,对稀少特点,结不雅差能人意。当然,也可以在不应用平均值(参数:with_mean=False)的情况下对稀少矩阵应用StandardScaler。
用Gradient Boosting Machine也可以实现特点选择。如不雅能用xgboost就不要用GBM,因为前者要快得多,可扩大性更好。
如不雅以上步调获得了一个“好的”模型,我们就可以进一步做超参数的优化了。得不到的情况下,可以做如下步调以改进模型。
接下来的步调包含分化模型:

简洁起见,我们跳过LDA和QDA转化。对高维数据,一般而言,PCA可以用来分化数据。对图片而言,大年夜10-15个组分肇端,在结不雅质量持续改进的前提下,逐渐增长组分数量。对其它的数据而言,我们遴选50-60个组分作为起点(对于数字型的数据,只要我们可以或许处理得了,就不消PCA)

推荐阅读
【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦! 除非你以前几年一向隐居,远离这个计算机的世界,不然你弗成能没有听过Hadoop。全名Apache Hadoop,>>>详细阅读
本文标题:解决机器学习问题有通法!看这一篇就够了
地址:http://www.17bianji.com/lsqh/37504.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示