码迷,mamicode.com
首页 > 编程语言 > 详细

算法--随便写写

时间:2019-11-18 15:38:18      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:字典   森林   过程   不同的   clust   ima   idf   需要   tf-idf   

结巴分词:jieba.cut()

决策树

集成学习

无监督学习

tf-idf文本特征提取

tf 词频

idf 逆向文档频率

tf-idf 思想:一篇文章中出现多次,其他文章很少出现

TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度

词频(term frequency,tf)指的是某一个给定的词语在该文件中出现的频率

逆向文档频率(inverse document frequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到

Tf-idf的重要性:分类机器学习算法进行文章分类中前期数据处理方式

 


 

决策树

机器学习基本步骤

数据获取

数据基本处理

  缺失值处理

    补空

    确定特征值,目标值

    切割数据

特征工程

  特征提取

    需要转数据字典,才能转换one hot 编码

建立模型

模型评估

    

决策树的可视化

保存树的结构到dot文件

  • sklearn.tree.export_graphviz() 该函数能够导出DOT格式
    • tree.export_graphviz(estimator,out_file=‘tree.dot’,feature_names=[‘’,’’])

export_graphviz(estimator, out_file="./data/tree.dot", feature_names=[‘age‘, ‘pclass=1st‘, ‘pclass=2nd‘, ‘pclass=3rd‘, ‘女性‘, ‘男性‘])

 

集成学习

bagging 过拟合问题 N个模型 投票 同一个问题,互相遏制变壮

boosting 欠拟合,分段拟合

最终结果

只要单分类器的效果表现不太差,集成学习的结果总要优于单分类器的

所以说 集成学习好

 

bagging

解决 过拟合问题

集成原理:

  采集不同子样本

  n个子样本分别构建模型

  n个模型对一个问题平权投票

随机森林构造过程

bagging + 决策树

随机森林是一个包含多个决策树的分类器

1.选取m个样本数据(m<<M)

2.随机选取k个特征(k<K)

3.

随机森林api

bagging优点

在原算法的基础上提高2%泛化正确率

简单 方便 实用


 

boosting 集成学习

通过学习从弱到强的过程,分段拟合

1.Adaboost

2.GBDT

3.XGBoots

实现Adaboost

注意力放到错误的数据上

  1. 放大错误数据的权重
  2. 缩小预测正确数据的权重

1.雪莲一个模型

2.更具模型结果放大错误数据,缩小正确数据

3.在训练一个模型

4.然后是迭代很多次

5.加却投票

如何确认投票权重

如何调整数据分布

通过投票权重调整数据分布

预测正确缩小

预测错误 放大

bossting和bagging 的区别

数据方面

bagging 有放回随机采样

boosting 根据前一轮结果调整数据重要性

投票方面

bagging 平权投票

boosting 加权投票

学习顺序

bogging 并行的 独立训练互相没任何关系

bossting 串行 学习有先后顺序

主要作用

bogging 过拟合问题

bossting  欠拟合问题

 

????????????

GBDT

????????????

XGBoost【了解】

XGBoost= 二阶泰勒展开+boosting+决策树+正则化



 

聚类算法

认识聚类算法

无监督学习 找到数据内部规律和结构的过程

规则

使用不同的据类准则,产生的聚类结构不同

现实中的应用

推荐系统 用户画像,广告推荐.....

聚类算法的概念

典型 的 无监督学习  主要用于将相似的样本自动归到一个类别

聚类算法和分类算法区别

一个是无监督学习,一个是有监督学习

API:

sklearn.cluster.KMeans(n_clusters=8)

  • 参数:
    • n_clusters:开始的聚类中心数量
      • 整型,缺省值=8,生成的聚类数,即产生的质心(centroids)数。
  • 方法:
    • estimator.fit(x) -
    • estimator.predict(x) -
    • estimator.fit_predict(x)
      • 计算聚类中心并预测每个样本属于哪个类别,相当于先调用fit(x),然后再调用predict(x)

流程

  • 构造数据
  • 建立模型
  • 模型评估

寻找最优初始点

’‘肘’‘方法

轮廓系数法

Canopy算法配合初始聚类

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

算法--随便写写

标签:字典   森林   过程   不同的   clust   ima   idf   需要   tf-idf   

原文地址:https://www.cnblogs.com/mujun95/p/11882396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!