为了以后找到好工作,好实习。我决定自己也写一写博客,记录自身的新的体会,也为每周一次的讨论班打下基础。
其实基于机器学习的话,现在我觉得数据挖掘最有效的方法就是集成了,有bagging和boosting俩种思想。普通的单一用一个svm,或者决策树什么的已经几乎被淘汰了。最新的武器就只有GBDT、Adaboost、LightGbm,Xgboost,随机森林这些思想。
adaboost其实在做人脸识别,好像用harr分类器做集成的效果比较好。今天我就基于李航的统计学习方法,写了一个adaboost,具体的原理请参照李航统计学习方法138-139页
我这里贴上的代码是严格按照李航的统计学习方法的算法8.1部分来的,相互结合,食用效果更佳,这是对svm进行的一个简单决策树分类,这里的一个小trick是,sklearn分类器的sample_weight,很好的为我们进行了一个迭代的过程,如果想自己造分类器,可以继承sklearn.base.Estimator 造轮子,具体怎么造,我打算深入阅读一下sklearn的api,然后写一篇新得
import numpy as np from sklearn.model_selection import train_test_split from sklearn import svm import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import make_hastie_10_2 '''