【Python机器学习】分类向量——数字可以编码分类变量

在adult数据集的例子中,分类变量被编码为字符。一方面可能会有拼写错误,但另一方面,它明确的将一个变量标记为分类变量。无论是为了便于存储还是因为数据的手机方式,分类变量通常被编码为整数。

假设adult数据集中的人口普查数据是利用问卷收集的,workclass的回答会被记录为0、1、2、3等。现在该列包含数字0到8,而不是“private”这样的字符串。如果要观察数据集的表格,很难一眼看出这个变量应该被视为连续变量还是分类变量。但是如果知道这些数字表示的是就业状况,那么很明显它们是不同的状态,不应该用单个连续变量来建模。

pandas的get_dummies函数将所有数字看作是连续的,不会为其创建虚拟变量。为了解决这个问题,可以使用scikit-learn中的OneHotEncoder,指定哪些变量是连续的、哪些变量是离散的,也可以将数据框中的数值列转换为字符串。

为了说明这一点,我们创建一个两列的DataFrame对象,其中一列包含字符串,另一列包含数字:

demo_df=pd.DataFrame({'Tnteger Feature':[0,1,2,1],
                      'Categorical Feature':['socks','fox','socks','box']})
display(demo_df)

使用get_dummies只会编码字符串特征,不会改变整数特征:

pd.get_dummies(demo_df)

如果想为“Integer Feature”这一列创建虚拟变量,可以使用columns参数显式地给出想要编码的列,于是两个特征都会被当作分类特征处理:

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python机器学习中,支持向量机(SVM)是一种常用的分类算法,它在心脏病分类案例中有着广泛的应用。支持向量机通过构建一个决策边界,将不同类别的数据分开,并且最大化边界与最接近样本之间的距离,从而实现分类功能。 在心脏病分类案例中,首先需要准备一个带有标签的数据集,包含一些与心脏病有关的特征,如年龄、性别、血压、胆固醇水平等。然后,将数据集分成训练集和测试集,通常可以使用交叉验证的方法进行划分。 接着,使用Python中的机器学习库(如scikit-learn)导入支持向量机模型,并进行模型的训练。可以根据自己的需求选择合适的内核函数,如线性、多项式、高斯核等。训练过程将使用训练集中的数据进行模型参数的学习和优化。 模型训练完成后,可以使用测试集对模型进行评估。将测试集中的数据输入到训练好的模型中,根据模型的预测结果与真实标签对比,计算预测准确率、召回率、精确率等评价指标,以评估模型的性能。 最后,可以使用训练好的模型对新的未知数据进行预测。将新数据输入到模型中,根据模型的预测结果对其进行分类,从而实现对心脏病的分类。 总之,Python机器学习中的支持向量机是一种强大的分类算法,在心脏病分类案例中有着广泛的应用。通过合理选择特征和优化模型参数,可以构建一个准确、可靠的心脏病分类模型,为医生提供科学的辅助诊断工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值