zoukankan      html  css  js  c++  java
  • 使用SKlearn(Sci-Kit Learn)进行SVR模型学习

    今天了解到sklearn这个库,简直太酷炫,一行代码完成机器学习。

    贴一个自动生成数据,SVR进行数据拟合的代码,附带网格搜索(GridSearch, 帮助你选择合适的参数)以及模型保存、读取以及结果绘制。

    from sklearn.svm import SVR
    from sklearn.externals import joblib
    from sklearn.model_selection import GridSearchCV
    import numpy as np
    import matplotlib.pyplot as plt
    
    rng = np.random
    # svr = joblib.load('svr.pkl')        # 读取模型
    
    x = rng.uniform(1, 100, (100, 1))
    y = 5 * x + np.sin(x) * 5000 + 2 + np.square(x) + rng.rand(100, 1) * 5000
    
    # 自动选择合适的参数
    svr = GridSearchCV(SVR(), param_grid={"kernel": ("linear", 'rbf'), "C": np.logspace(-3, 3, 7), "gamma": np.logspace(-3, 3, 7)})
    svr.fit(x, y)
    # joblib.dump(svr, 'svr.pkl')        # 保存模型
    
    xneed = np.linspace(0, 100, 100)[:, None]
    y_pre = svr.predict(xneed)# 对结果进行可视化:
    plt.scatter(x, y, c='k', label='data', zorder=1)
    # plt.hold(True)
    plt.plot(xneed, y_pre, c='r', label='SVR_fit')
    plt.xlabel('data')
    plt.ylabel('target')
    plt.title('SVR versus Kernel Ridge')
    plt.legend()
    plt.show()
    print(svr.best_params_)

  • 相关阅读:
    屏幕适配-使用autoLayout
    linux下activemq安装与配置
    1
    java多线程之ForkJoinPool
    Java中线程的使用
    彻底理解数据库事务
    Java中的事务——全局事务与本地事务
    SpringMVC中的几种事务管理器
    Solr5.0.0定时更新索引
    Solr通过配DIH对数据库数据做索引
  • 原文地址:https://www.cnblogs.com/zinyy/p/9535069.html
Copyright © 2011-2022 走看看