zoukankan      html  css  js  c++  java
  • Sklearn库例子2:分类——线性回归分类(Line Regression )例子

    线性回归:通过拟合线性模型的回归系数W =(w_1,…,w_p)来减少数据中观察到的结果和实际结果之间的残差平方和,并通过线性逼近进行预测。

    从数学上讲,它解决了下面这个形式的问题:      underset{w}{min\,} {|| X w - y||_2}^2

    LinearRegression()模型在Sklearn.linear_model下,他主要是通过fit(x,y)的方法来训练模型,其中x为数据的属性,y为所属类型。线性模型的回归系数W会保存在他的coef_方法中。

    例如:

    >>> from sklearn import linear_model
    >>> clf = linear_model.LinearRegression()
    >>> clf.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
    LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
    >>> clf.coef_
    array([ 0.5,  0.5])
    

     实例:

    使用的数据集为Sklearn.dataset.load_diabetes()一个关于糖尿病的数据集。

    为了说明这个回归技术的一个二维图,例子仅仅使用了糖尿病数据集的第一个特征。

    代码如下:

    # -*- encoding:utf-8 -*-
    """
    Line Regression Example
    DataBase:diavetes
    """
    
    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn import datasets,linear_model
    import time
    
    a=time.time()
    ####加载数据集
    diabetes=datasets.load_diabetes()
    
    ####仅仅使用一个特征:
    diabetes_X=diabetes.data[:,np.newaxis,2]
    
    ###s数据划分训练集和测试集
    diabetes_X_train=diabetes_X[:-20]
    diabetes_X_test=diabetes_X[-20:]
    
    ###目标划分为训练集和测试集
    diabetes_y_train=diabetes.target[:-20]
    diabetes_y_test=diabetes.target[-20:]
    
    ###训练模型
    regr=linear_model.LogisticRegression()
    regr.fit(diabetes_X_train,diabetes_y_train)
    
    ###回归系数
    print('Coefficients:
    ',regr.coef_)
    
    ###均方误差
    print('the mean sqare error:%.2f' %np.mean((regr.predict(diabetes_X_test)-diabetes_y_test)**2))
    print('Variance score:%.2f' %regr.score(diabetes_X_test,diabetes_y_test))
    ##散点图
    plt.scatter(diabetes_X_test,diabetes_y_test,color='black')
    plt.plot(diabetes_X_test,regr.predict(diabetes_X_test),color='blue',linewidth=3)
    plt.xticks()
    plt.yticks()
    b=time.time()
    print('the running time is %.2f' %(b-a))
    plt.show()
    

     实验结果:

    Coefficients:
     [ 938.23786125]
    Residual sum of squares: 2548.07
    Variance score: 0.47
    the running time is 0.31

    
    
     
  • 相关阅读:
    iOS resign code with App Store profile and post to AppStore
    HTTPS科普扫盲帖 对称加密 非对称加密
    appid 评价
    使用Carthage安装第三方Swift库
    AngularJS:何时应该使用Directive、Controller、Service?
    xcode7 The operation couldn't be completed.
    cocoapods pod install 安装报错 is not used in any concrete target
    xcode7 NSAppTransportSecurity
    learning uboot how to set ddr parameter in qca4531 cpu
    learning uboot enable protect console
  • 原文地址:https://www.cnblogs.com/itdyb/p/5833352.html
Copyright © 2011-2022 走看看