我是机器学习领域的新成员,我有一个这种结构的excel表:
Columns = {date, ..., Inflation}
第一列是日期,下一列是数字,最后一列是通货膨胀,即十进制。
date ... Inflation
01/06/2016 ... -0.07363739
01/07/2016 ... -0.07363741
问题在于我被要求对这些预测数据应用一些分类算法,例如(朴素贝叶斯,kNN,SVM,也可能是其他的),并比较这些算法的准确性。
我不明白的是如何从分类角度处理这些数据?
我使用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
答案 0 :(得分:0)
您可以共享数据的一些示例行。所以基本上你所拥有的是一个回归问题。所以你要么对它进行分类,例如将其分类到某些类别或使用回归方法,例如线性回归/惩罚回归,支持向量回归等。
在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不能替代教育,我强烈建议你在弄乱你根本不了解的模型和事情之前先合理地教育自己。
如果您有特定问题,请随时询问。