李宏毅机器学习Lesson2——Logistic Regression实现收入预测

该博客介绍了如何利用Logistic Regression对Kaggle上的美国公民收入数据集进行预测。首先,数据集被加载并标准化。然后,定义了用于梯度下降的函数,并通过交叉验证来选择损失函数的惩罚项系数。最终,通过三折交叉验证展示了不同系数下模型在训练集和验证集上的平均精度,均在87%左右。

数据集介绍

数据集来源于Kaggle,是一个美国公民收入的数据集,本次任务的目标是根据多个特征准确区分样本的收入属于哪一个类别(大于50k美元/小于50k美元),从网上下载的数据集中有六个文件在这里插入图片描述
前三个是原始数据集,本次任务使用后三个,这是助教已经根据原始数据集进行一定数据清洗后可以直接拿来建模的数据。

加载数据集、标准化

X_train_fpath = '/Users/weiyubai/Desktop/学习资料/机器学习相关/李宏毅数据等多个文件/数据/hw2/data/X_train'
Y_train_fpath = '/Users/weiyubai/Desktop/学习资料/机器学习相关/李宏毅数据等多个文件/数据/hw2/data/Y_train'


with open(X_train_fpath) as f:
    next(f)
    X_train = np.array([line.strip('\n').split(',')[1:] for line in f], dtype = float)
with open(Y_train_fpath) as f:
    next(f)
    Y_train = np.array([line.strip('\n').split(',')[1] for line in f], dtype = float)

def normalize_feature(df):
#     """Applies function along input axis(default 0) of DataFrame."""
    return df.apply(lambda column: (column - column.mean()) / (column.std() if column.std() else 1))#特征缩放函数定义

X_train_no = normalize_feature(pd.DataFrame(X_train))#标准化
X_train_no = np.concatenate((np.ones(len(X_train)).reshape(len(X_train),1),</
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值