我是机器学习领域的新手,我有一个这种结构的excel表:
Columns = {date, ..., Inflation}
第一列是日期,接下来的列是数字,最后一列是十进制的通货膨胀。
date ... Inflation
01/06/2016 ... -0.07363739
01/07/2016 ... -0.07363741
问题是,我被要求对这些预测数据应用一些分类算法,比如(朴素贝叶斯,kNN,支持向量机,也许还有其他算法),并比较这些算法的准确性。
我不明白的是如何从分类的角度来对待这些数据?
我用R对数据做了一些时间序列,它起作用了,但我仍然不能应用分类算法:
dft <- read_excel("./data.xlsx",
sheet = 1)
df <- ts(dft$inflation, frequency=12, start=c(2016,6))
plot.ts(df)
fit <- HoltWinters(df, beta=FALSE, gamma=FALSE)
在如何使用这些数据进行R分类方面有什么帮助吗?任何帮助我们都将不胜感激
数据示例:https://drive.google.com/open?id=0B1gJg-F8Gb76a1N3NVBXNFd1bjg
发布于 2017-07-09 10:48:30
您可以共享一些数据的采样线。所以基本上你所遇到的是一个回归问题。因此,要么将其分类,例如将其归入特定类别,要么使用回归方法,例如线性回归/惩罚回归、支持向量回归等。
在R中,您可以手动对变量(也有包)进行分类,如下所示:
cut_off_high = 0.88
cut_off_low = 0.55
high_inflation = sample_dataframe[which(sample_dataframe$inflation > cut_off),]
medium_inflation = sample_dataframe[which(sample_dataframe$inflation > cut_off_low & sample_dataframe$inflation <= cut_off_high),]
low_inflation = sample_dataframe[which(sample_dataframe$inflation < cut_off_low),]
high_inflation$inflation = "High"
medium_inflation$inflation = "Medium"
low_inflation$inflation = "Low"
现在这只是一个例子,这样你就理解了装箱的概念,实际上你会想要使用像这样的东西,例如Categorize continuous variable with dplyr。
我希望这回答了您的问题,即如何在数据集上使用分类。然而,由于你似乎不太了解ML,我建议你坚持使用一些简单的回归算法,这样你也可以避免多类分类问题。
一个简单的开始应该是:
linear_regression_model = lm(inflation ~ variable_name_1 + variable_name_2 + .. + variable_name_n, data = your_data_frame)
然而,如果你超越了简单的模型,你将不得不面对超参数,交叉验证等,在应用它们之前你应该了解它们(你还应该了解某个模型做了什么,以便知道要应用哪个模型)。
我猜stackoverflow不会取代教育,我强烈建议你在摆弄模型和你根本不理解的东西之前,合理地教育自己。
如果你有什么特别的问题,尽管问吧。
https://stackoverflow.com/questions/44991778
复制相似问题