对于具有一个特征的数据集,我应该使用哪个分类器?

人工智能 机器学习 人工智能设计 分类
2021-11-08 16:42:27

我有一个由 3000 个数据组成的标记数据集。它的唯一特征是房子的价格,它的标签是卧室的数量。

哪个分类器是对这些数据进行分类的好选择?

4个回答

这并不是真正的模型,而是完全可以预测您要预测的内容。让我们从 kaggle 中获取一个类似的数据集:加州房价

该数据集包含房价和其他信息,其中包括每间房屋的卧室数量。正如 Oliver 在评论中所建议的,我们可以计算 Person 系数来估计两个变量之间的相关性。

import pandas as pd
from scipy.stats import pearsonr

df = pd.read_csv('housing.csv')
df = df.apply(lambda row: row[df['total_bedrooms'] <= 20]) # select subset of dataframe for sake of clarity
df.dropna(inplace=True)

x = df['median_house_value'] # our single feature  
y = df['total_bedrooms'] # target labels

print('Correlation: \n', pearsonr(x,y))

出去:

>>Correlation: 
>>(-0.14015312664251944, 0.12362969210761204)

相关性非常低,这意味着价格和卧室数量基本不相关。我们还可以绘制点来检查确实没有相关性。

df.plot(x='total_bedrooms',y='median_house_value',kind='scatter')

出去:

在此处输入图像描述

训练一个模型来根据价格唯一地预测卧室数量意味着找到一个可以插入所有这些点的函数,这是一项不可能完成的任务,因为对于具有相同卧室数量的房屋,我们有几个不同的价格。

解决此类问题的唯一方法是扩展数据的维度,例如使用具有非线性内核的支持向量机。但即使使用非线性内核,您也无法创造奇迹,因此如果您的数据集看起来像这样,唯一的解决方案是扩展您的数据集以包含额外的特征。

可以对结构化或非结构化数据执行分类。分类是一种技术,我们将数据分类为给定数量的类。

根据我的价格分类项目,当我比较 5 个模型时,与决策树、SVM、朴素贝叶斯、逻辑回归相比,我在随机森林分类器上的得分更高。

我的项目:https ://github.com/khaifagifari/Classification-and-Clustering-on-Used-Cars-Dataset

来源:https ://github.com/f2005636/Classification https://www.kaggle.com/vbmokin/used-cars-price-prediction-by-15-models

如果您的数据已标记,但数量有限,则应使用具有高偏差的分类器(例如,朴素贝叶斯)。我猜这是因为较高偏差的分类器将具有较低的方差,这很好,因为数据量很小

来源:https ://stackoverflow.com/questions/2595176/which-machine-learning-classifier-to-choose-in-general/15881662

如果您只对数据集使用一个特征,我推荐使用算法朴素贝叶斯分类器,因为朴素贝叶斯是一种使用概率和统计方法的方法。我们还可以通过使用得到总的数据序列及其准确度值。