运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

机器学习开篇小菜

运维开发网 https://www.qedev.com 2021-04-11 17:19 出处:51CTO 作者:mb5ffd6eef9281a
预计更新机器学习十几篇开篇小菜本教程是本人尝试使用scikit-learn的一些经验,scikit-learn真的超级容易上手,简单实用。5分钟学会用调用基本的回归方法和集成方法应该是够了。基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)数据集的生成import numpy as npimport matplotlib.pyplot as pltdef

预计更新机器学习十几篇

开篇小菜

本教程是本人尝试使用scikit-learn的一些经验,scikit-learn真的超级容易上手,简单实用。5分钟学会用调用基本的回归方法和集成方法应该是够了。

基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)

数据集的生成

import numpy as np

import matplotlib.pyplot as plt

def get_data():

    # 捏造的数据集

    x1 = np.linspace(0,100,50).reshape(-1,1)

    x2 = np.linspace(0,100,50).reshape(-1,1)

    y = 10*np.sin(x1)+ 10*np.cos(x2) +x1+x2 +np.random.randn(1)+ 0.1

    # data.shape = (50, 3)

    data = np.concatenate((x1,x2,y),axis=1)

    return data

data = get_data()

x, y = data[:,:2], data[:,2] 

测试评分

def try_different_method(clf):

    clf.fit(x,y)

    score = clf.score(x, y)

    result = clf.predict(x)

    plt.figure(figsize=(10,8))

    plt.plot(np.arange(len(result)), y,'ro-',label='true value')

    plt.plot(np.arange(len(result)),result,'go-',label='predict value')

    plt.title('score: %f'%score)

    plt.legend()

    plt.show()

线性回归

from sklearn.linear_model import LinearRegression

line = LinearRegression()

try_different_method(line)

效果如下:

机器学习开篇小菜

回归树

# 回归树

from sklearn.tree import DecisionTreeRegressor

tree = DecisionTreeRegressor()

try_different_method(tree)

效果如下:

机器学习开篇小菜

KNN

# KNN

from sklearn import neighbors

knn = neighbors.KNeighborsRegressor()

try_different_method(knn)

效果如下

机器学习开篇小菜

随机森林

# 随机森林

from sklearn import ensemble

rf =ensemble.RandomForestRegressor(n_estimators=20)#这里使用20个决策树

try_different_method(rf)

效果如下

机器学习开篇小菜

集成学习

# 集成学习

from sklearn import ensemble

ada = ensemble.AdaBoostRegressor(n_estimators=50)

try_different_method(ada)

效果如下:

机器学习开篇小菜

梯度提升

# 梯度提升

from sklearn import ensemble

gbrt = ensemble.GradientBoostingRegressor(n_estimators=100)

try_different_method(gbrt)

效果如下

机器学习开篇小菜

SVR

 # SVR

from sklearn.svm import SVR

svr = SVR(kernel='rbf', C=1e3, gamma=0.1)

try_different_method(svr)

效果如下

机器学习开篇小菜

熟悉如何导包即可

机器学习开篇小菜

一直原创,从未转载

请认准我,将我置标

机器学习开篇小菜

转发,好看支持一下,感谢

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号