Вы можете использовать один из алгоритмов классификатора в scikit-learn
. Если ваша группа данных уже помечена, вы знаете, кто является и не является вампиром, и вы просто хотите классифицировать новые, самый простой подход для кого-то нового для машинного обучения и scikit-learn
использует алгоритм дерева решений для постройте классификатор из ваших примерных данных и примените его к новым.
http://scikit-learn.org/stable/modules/tree.html
>>> from sklearn import tree
>>> clf = tree.DecisionTreeClassifier()
>>> clf = clf.fit(X, Y)
Где X это список (или массив Numpy) со всеми вашими полями данных, для логического is_vampire кроме:
>>> X = [[v0_height, v0_weight, v0_stake_aversion, v0_garlic_aversion,
v0_reflectance, v0_shiny],
[v1_height, v1_weight, v1_stake_aversion, v1_garlic_aversion,
v1_reflectance, v1_shiny],
...
]
И Y представляет собой список с тем же длина, соответствующая этикетке для каждого из них:
>>> Y = [v0_is_vampire, v1_is_vampire, ...]
После установки дерево может быть использована для проверки, если новые один вампир по следующему вызову, где new
является Подсписком как и в X:
>>> clf.predict(new)
array([1])
В зависимости от того, как диапазон значений распределяются по вашим данным, вы можете или возможно, не нужно кормить все значения, которые вы должны получить, чтобы получить достойную классификацию. Вам придется экспериментировать с этим.
Имейте в виду, что если ваш массив Y содержит только 1 и 0 значений метки is_vampire, тогда этот подход даст вам один и тот же двоичный ответ. Если ваш массив Y имеет значения с плавающей точкой и вы хотите количественно оценить вероятность того, что новый будет вампиром со значением от 0 до 1, просто используйте класс tree.DecisionTreeRegressor
вместо tree.DecisionTreeClassifier
.
Кстати, это, вероятно, не самый лучший алгоритм для выполнения того, что вы просите, но это довольно просто и вам нужно начать. Если вы получаете неправильные результаты или проблемы с производительностью, просто получите больше информации о том, что лучше подходит для вашего дела. Эта ссылка может быть очень полезной: http://peekaboo-vision.blogspot.com.br/2013/01/machine-learning-cheat-sheet-for-scikit.html
У вас есть логическое значение, которое сообщает вам да/нет, зачем вам что-нибудь еще? – roippi
Возможно, вы заинтересованы в использовании 'scikit-learn' или' pandas' для построения логистической регрессии. См. [Это сообщение в блоге] (например, http://blog.yhathq.com/posts/logistic-regression-and-python.html). –
Чего вы хотите достичь? Каковы твои цели? –