【发布时间】:2017-01-19 04:53:50
【问题描述】:
我对机器学习技术还很陌生,我在阅读一些 scikit-learn 文档和其他 stackoverflow 帖子时遇到了麻烦。我正在尝试从一堆医疗数据中创建一个简单的模型,该模型将帮助我预测患者可能属于三个类别中的哪一个。
我通过 pandas 加载数据,将所有对象转换为整数(例如 Male = 0,Female=1),然后运行以下代码:
import numpy as np
import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import label_binarize
from sklearn.ensemble import ExtraTreesClassifier
# Upload data file with all integers:
data = pd.read_csv('datafile.csv')
y = data["Target"]
features = list(data.columns[:-1]) # Last column being the target data
x = data[features]
ydata = label_binarize(y, classes=[0, 1, 2])
n_classes = ydata.shape[1]
X_train, X_test, y_train, y_test = train_test_split(x, ydata, test_size=.5)
model2 = ExtraTreesClassifier()
model2.fit(X_train, y_train)
out = model2.predict(X_test)
print np.min(out),np.max(out)
out 的预测值介于 0.0 和 1.0 之间,但我试图预测的类是 0,1 和 2。我错过了什么?
【问题讨论】:
标签: python python-2.7 scikit-learn decision-tree