Tensorflow实现岭回归
岭回归可以看作是线性回归的一种增强版,实现的时候无非就是加入一个二范数正则化项,但是应当注意,这里只对于权重进行惩罚,偏置项是不加入正则化的,具体理论可以参见相关的论文和blog,在此不赘述。
这里还是使用tf实现了岭回归算法,并实际应用在了一个真实数据集而非人工数据集上,数据及规模相比于之前的数据也大了很多。
本次代码从数据读入,到建立计算图,到模型训练、模型评估,实际上是对前面几篇博客的小总结,至此,一般情况下的数据训练问题都可以套用这个模板来写。
我所使用的数据格式为最后一列是label,其余列是特征,label是二类,分别用1,-1表示。
目前版本只有岭回归,之后会加入logstic回归已经tensorboard显示的功能。
import tensorflow as tf
import numpy as np
import pandas as pd
train = pd.read_csv("./data/dataset1-a9a-training.txt", encoding="utf-8")
print(train.describe())
columnNum = train.values.shape[1] # 获取数据的列数,其中最后一列是label
# 使用pandas获取全部数据,评估效果用
def getAll(filename):
data =