• AdaBoost


    coding=utf-8

    python 3.5

    '''
    Created on 2017年11月27日

    @author: Scorpio.Lu
    '''

    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.ensemble import AdaBoostClassifier
    from sklearn.tree import DecisionTreeClassifier
    参考网址:https://louisscorpio.github.io/2017/11/28/代码实战之AdaBoost/
    from sklearn.datasets import make_gaussian_quantiles
    from sklearn.model_selection import train_test_split
    from sklearn import metrics
    import pandas as pd

    用make_gaussian_quantiles生成多组多维正态分布的数据

    这里生成2维正态分布,设定样本数1000,协方差2

    x1,y1=make_gaussian_quantiles(cov=2., n_samples=200, n_features=4, n_classes=2, shuffle=True, random_state=1)

    #为了增加样本分布的复杂度,再生成一个数据分布

    x2,y2=make_gaussian_quantiles(mean=(3,3,3,3), cov=1.5, n_samples=300, n_features=4, n_classes=2, shuffle=True, random_state=1)

    #合并

    X=np.vstack((x1,x2))

    y=np.hstack((y1,1-y2))

    第一步构建数据

    candidates = {'gmat': [780,750,690,710,680,730,690,720,740,690,610,690,710,680,770,610,580,650,540,590,620,600,550,550,570,670,660,580,650,660,640,620,660,660,680,650,670,580,590,690],
    'gpa': [4,3.9,3.3,3.7,3.9,3.7,2.3,3.3,3.3,1.7,2.7,3.7,3.7,3.3,3.3,3,2.7,3.7,2.7,2.3,3.3,2,2.3,2.7,3,3.3,3.7,2.3,3.7,3.3,3,2.7,4,3.3,3.3,2.3,2.7,3.3,1.7,3.7],
    'work_experience': [3,4,3,5,4,6,1,4,5,1,3,5,6,4,3,1,4,6,2,3,2,1,4,1,2,6,4,2,6,5,1,2,4,6,5,1,2,1,4,5],
    'admitted': [1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1] }
    df = pd.DataFrame(candidates,columns= ['gmat', 'gpa','work_experience','admitted'])
    X = df[['gmat', 'gpa','work_experience']]
    y = df['admitted']

    设定弱分类器CART

    weakClassifier=DecisionTreeClassifier(max_depth=1)
    X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=0)

    构建模型。

    clf=AdaBoostClassifier(base_estimator=weakClassifier,algorithm='SAMME',n_estimators=1000,learning_rate=0.01)
    clf.fit(X_train, y_train)
    y_pred=clf.predict(X_test)
    print(y_pred)
    print('精度: ',metrics.accuracy_score(y_test, y_pred))

  • 相关阅读:
    省选测试42
    省选测试41
    省选测试40
    省选测试39
    python海龟画图生成星星
    Python-列表简介
    Linux系统中设置默认的Java版本
    虚拟机无线网卡桥接失败
    pycharm设置启动图标
    禁用vscode硬件加速
  • 原文地址:https://www.cnblogs.com/131415-520/p/11776317.html
Copyright © 2020-2023  润新知