线性回归及其实现c++

     线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归中的数据呈现线性关系,其表达形式为y = w(T)x+b。其中w为系数向量组,x为特征值向量组,b为常值系数。

     我们通常将数据集分为训练集和测试集,使用训练集来确定待定系数,测试集来测试误差,通过代价函数进行优化。

  •      训练模型的一些方法:正规方程法,梯度下降法等。
  •      测试模型的一些方法:留出法,交叉验证法,自助法等。

     此次实现主要使用的是梯度下降法留一法

     代码如下,详情见注释: 

//
//main.cpp
//Created by zzx on 2018.7.16
#include <iostream>
#include<fstream>
#include<cmath>
const int sample = 28;//样本数 fish样本为44 house_price样本为28
const int feature = 13;//特征值数 fish样本为4 house_price样本为13
const int scaling = 10;//特征缩放大小 fish样本为100 house_price样本为10
double a =0.001;//学习率 fish样本为0.0002 house_price样本为0.001
#define path "D:\house_price.txt"
using namespace std;
int main()
{
	double x[sample][feature] = { 0 };
	
	ifstream i
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值