zoukankan      html  css  js  c++  java
  • 吴裕雄 python 机器学习——Lasso回归

    import numpy as np
    import matplotlib.pyplot as plt
    
    from sklearn import datasets, linear_model
    from sklearn.model_selection import train_test_split
    
    def load_data():
        diabetes = datasets.load_diabetes()
        return train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0)
    
    #Lasso回归
    def test_Lasso(*data):
        X_train,X_test,y_train,y_test=data
        regr = linear_model.Lasso()
        regr.fit(X_train, y_train)
        print('Coefficients:%s, intercept %.2f'%(regr.coef_,regr.intercept_))
        print("Residual sum of squares: %.2f"% np.mean((regr.predict(X_test) - y_test) ** 2))
        print('Score: %.2f' % regr.score(X_test, y_test))
        
    # 产生用于回归问题的数据集
    X_train,X_test,y_train,y_test=load_data()
    # 调用 test_Lasso
    test_Lasso(X_train,X_test,y_train,y_test)
    
    def test_Lasso_alpha(*data):
        X_train,X_test,y_train,y_test=data
        alphas=[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500,1000]
        scores=[]
        for i,alpha in enumerate(alphas):
            regr = linear_model.Lasso(alpha=alpha)
            regr.fit(X_train, y_train)
            scores.append(regr.score(X_test, y_test))
        ## 绘图
        fig=plt.figure()
        ax=fig.add_subplot(1,1,1)
        ax.plot(alphas,scores)
        ax.set_xlabel(r"$alpha$")
        ax.set_ylabel(r"score")
        ax.set_xscale('log')
        ax.set_title("Lasso")
        plt.show()
    
    # 调用 test_Lasso_alpha
    test_Lasso_alpha(X_train,X_test,y_train,y_test)

  • 相关阅读:
    Memcached
    sleep和wait的区别
    基于.net Core+EF Core项目的搭建(一)
    .net Core中使用AutoMapper
    发布.net core应用程序并部署到IIS上
    IoC原理-使用反射/Emit来实现一个最简单的IoC容器
    浅谈(IOC)依赖注入与控制反转(DI)
    使用MD5加密字符串
    C#中HttpWebRequest的用法详解
    学习memcached的一个网站
  • 原文地址:https://www.cnblogs.com/tszr/p/10790205.html
Copyright © 2011-2022 走看看