C 實現線性回歸(多變數)

2021-06-28 22:46:21 字數 1322 閱讀 1633

本文主要介紹c++實現線性回歸問題,實現房價的**,可以有多個變數

1、單變數:

2、多變數:

1、測試資料:房價的估計

2、開發工具:vim+gnu+linux+make+gdb

3、執行環境:linux,g++4.9.2

4、動態庫:libmatrix.so(自己寫的矩陣包),libmyaxis.so(自己用opengl寫的座標軸包)

5、標頭檔案:matrix.h,myaxis.h,myfile.h(自己寫的操作檔案的模板類)

部分**:linearregression.h標頭檔案

/**

* @file linearregression.h

* @brief 實現線性分類器

* @author 馮佳軍

* @version 1.0

* @date 2015-03-04

*/#include "../include/matrix.h"

using namespace std;

typedef vectord_vec;

typedef vectord_d_vec;

class linearregression

private:

int n; //樣本個數

int d; //樣本維數

data samples; //樣本

d_vec y; //計算出來的目標函式值

label l; //標籤值

weigth w; //權值

double error; //錯誤

double alpha; //學習率

};

實驗結果:

最後得到的誤差:

注意:如果資料不同維度相差很大時,就要進行規範化處理,否則不能收斂到正確解上(經過實驗),在此利用標準差規範化資料的**:

直接呼叫該函式對資料進行處理即可

void scaledata(d_d_vec &data)

{ if(data.size() == 0 || data[0].size() == 0)

{cout<

多變數線性回歸

import numpy as np import pandas as pd import matplotlib.pyplot as plt import cost function import gd function path ex1data2.txt data2 pd.read csv pat...

多變數線性回歸

固定隨機數 x1 numpy.random.random 50 x2 numpy.random.random 50 y 3 0.7 x1 2.3 x2 x numpy.c x1,x2 x numpy.c numpy.ones len x x y numpy.c y m,n x.shape alpha...

多變數線性回歸

python 推理部分 1 損失函式 注意,那個第一列為1的值是插入的,不是原始資料,為了彌補theta 0 這個引數。2 特徵歸一化 3 損失函式 特徵歸一化處理 param data 特徵值 return 特徵歸一化處理後的特徵值 return data data.mean data.std d...