【发布时间】:2017-03-26 16:34:51
【问题描述】:
我是机器学习算法的新手。我广泛阅读了 scikit learn 网站和其他 SO 帖子,这使我使用 RandomForestClassifier 和 LinearSVC 构建了我的第一个机器学习算法。
我正在写病历。患者的每次住院都与(或不)与并发症(出血、感染、心脏病发作......)相对应的代码相关联(或不相关)
使用注释,使用 Countvectorizer 和 tfidfTransformer 进行拟合和转换,我可以准确地预测大部分代码。但是,我想在我的训练数据集中添加更多数据:住院时间、手术次数、手术名称、ICU 住院时间……等等……
在解析网络和 SO 之后,我最终将所有连续/二进制/缩放值添加到我的词频数组中。
例如:[0,0,0.34,0,0.45,0, 2, 45](最后 2 个数字是相加数据,而前一个数字匹配 countvectorizer 和 tfdif.fit_transform(train_set)
但是,在我看来,这似乎是一种粗略的数据组合方式,大量的单词可能会掩盖其他数据。
我尝试将我的数据设置为:[[0,0,0.34,0,0.45,0],[2],[45]],但它不起作用。
我搜索了网络,但没有真正的线索,即使我可能不是第一个遇到这个问题的人......:p
感谢您的帮助
编辑:
感谢您提供详细的宝贵答案。我真的很感激。但是,0-1 的范围究竟是什么:它是 {predict_proba} 值 (http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.predict) 吗?我明白分数是预测模型的准确性。然后,当您根据每个变量进行所有预测时,您是否对所有预测进行平均?最终,我正在处理多个输出,我想这不是问题,因为我可以得到每个输出的预测(顺便说一句 predict_proba(X) 给我一个像 [array([[0.,1.]] ), array ([[0.2,0.8]]).....] 带有随机森林树分类器。我猜其中一个数字是输出的概率,但我还没有探索过这个!)
【问题讨论】:
标签: python machine-learning scikit-learn