数据挖掘(二)

系列文章目录

数据挖掘之线性回归(二),转自educoder


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、相关知识

(一)线性回归

线性回归假设特征和结果满足线性关系
一元线性回归问题函数关系可表示:
y = a ∗ x + b y=a*x+b y=ax+b
根据上式,在确定a、b的情况下,给定一个 x 值,我们就能够得到一个确定的 y 值,通常根据上式预测的 y 值与实际的 y 值存在一个误差。a、b 为参数(parameters)或称回归系数(regression coefficients)。

(二)最小二乘法

基本思想

保证回归直线与所有训练样本点都近。
若有 n 个样本点:(x1,y1),… ,(xn,yn),可以用下面的表达式来刻画这些样本点与回归直线 y=a+bx 的接近程度:
在这里插入图片描述
求该值最小时的直线的方法称为最小二乘法
在这里插入图片描述
多元线性回归 原理类似

在这里插入图片描述

二、实现代码

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split


def data_astype(x):
    """数据类型转换"""
    x['hour'] = x['hour'].astype('float32')
    x['DEWP'] = x['DEWP'].astype('float32')
    x['TEMP'] = x['TEMP'].astype('float32')
    x['PRES'] = x['PRES'].astype('float32')
    x['Iws'] = x['Iws'].astype('float32')
    x['Is'] = x['Is'].astype('float32')
    x['Ir'] = x['Ir'].astype('float32')
    x['cbwd_NE'] = x['cbwd_NE'].astype('float32')
    x['cbwd_NW'] = x['cbwd_NW'].astype('float32')
    x['cbwd_SE'] = x['cbwd_SE'].astype('float32')
    x['cbwd_cv'] = x['cbwd_cv'].astype('float32')
    x['year'] = x['year'].astype('float32')
    x['month'] = x['month'].astype('float32')
    x['day'] = x['day'].astype('float32')
    x['week'] = x['week'].astype('float32')



if __name__ == "__main__":
    # 加载数据
    x = pd.read_csv('src/step1/data/pm25_data.csv', encoding='utf-8')
    data_astype(x)
    # 加载标签
    y = pd.read_csv('src/step1/data/result.csv')['pm2.5']

    # 对数据进行线性回归预测
    #####Begin#####
    reg=LinearRegression().fit(x,y)
    #####End#####

    # 加载未来18天的数据
    x_val = pd.read_csv('src/step1/data/test_1.csv')
    # 预测
    y_val_pre = reg.predict(x_val)
    print('未来18天的pm25预测值:', y_val_pre)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值