zoukankan      html  css  js  c++  java
  • LR-demo

    from __future__ import print_function
     
    # 导入相关python库
    import os
    import numpy as np
    import pandas as pd
     
    #设定随机数种子
    np.random.seed(36)
     
    #使用matplotlib库画图
    import matplotlib
    import seaborn
    import matplotlib.pyplot as plot
     
    from sklearn import datasets
     
     
    #读取数据
    housing = pd.read_csv('kc_train.csv')
    target=pd.read_csv('kc_train2.csv') #销售价格
    t=pd.read_csv('kc_test.csv') #测试数据
     
    #数据预处理
    housing.info() #查看是否有缺失值
     
    #特征缩放
    from sklearn.preprocessing import MinMaxScaler
    minmax_scaler=MinMaxScaler()
    minmax_scaler.fit(housing) #进行内部拟合,内部参数会发生变化
    scaler_housing=minmax_scaler.transform(housing)
    scaler_housing=pd.DataFrame(scaler_housing,columns=housing.columns)
     
    mm=MinMaxScaler()
    mm.fit(t)
    scaler_t=mm.transform(t)
    scaler_t=pd.DataFrame(scaler_t,columns=t.columns)
     
     
     
    #选择基于梯度下降的线性回归模型
    from sklearn.linear_model import LinearRegression
    LR_reg=LinearRegression()
    #进行拟合
    LR_reg.fit(scaler_housing,target)
     
     
    #使用均方误差用于评价模型好坏
    from sklearn.metrics import mean_squared_error
    preds=LR_reg.predict(scaler_housing) #输入数据进行预测得到结果
    mse=mean_squared_error(preds,target) #使用均方误差来评价模型好坏,可以输出mse进行查看评价值
     
    #绘图进行比较
    plot.figure(figsize=(10,7)) #画布大小
    num=100
    x=np.arange(1,num+1) #取100个点进行比较
    plot.plot(x,target[:num],label='target') #目标取值
    plot.plot(x,preds[:num],label='preds') #预测取值
    plot.legend(loc='upper right') #线条显示位置
    plot.show()
     
     
    #输出测试数据
    result=LR_reg.predict(scaler_t)
    df_result=pd.DataFrame(result)

    df_result.to_csv("result.csv")

    # 兼容 pythone2,3
  • 相关阅读:
    java---随机点名
    java实现窗体JFrame加载动态图片
    微信小程序--登陆页面
    java基础--随机数 猜数字游戏
    jQuery表单验证
    js获取Id,标签,类的几种选择器封装
    轮播图
    关于mysql安全
    PHP5.4开启zend opcache缓存
    ccs3中icon转换为字体的方法
  • 原文地址:https://www.cnblogs.com/hrnn/p/13404248.html
Copyright © 2011-2022 走看看