Для решения простой задачи классификации я бы предложил использовать логистическая регрессия .Это просто понять и реализовать.Существуют гораздо более сложные алгоритмы, с которыми вы можете экспериментировать, например, Машины опорных векторов , Нейронные сети и т. Д. Однако имейте в виду, что часто в машинном обучении это не тот алгоритм, которыйвыберите использование, так как важно иметь хороший набор данных с тщательно подобранными функциями.
Существует также вопрос об использовании алгоритма классификации или кластеризации.Если у вас есть набор данных, который уже помечен, я бы предложил классификацию.Однако, если ваш набор данных не помечен , алгоритмы классификации не будут работать, и вам придется использовать кластеризацию. K-означает - это простое, но широко используемое и эффективное решение.
Что касается языка / инструментов / среды / инструментов, я бы предложил Octave, R или Matlab, если выне имеет твердого фона программирования.Если вы это сделаете, попробуйте найти хорошую библиотеку на языке, на котором вы наиболее свободно говорите. Я могу предложить хорошую библиотеку машинного обучения с открытым исходным кодом для Java - ( Mahout ).
Наконец,Я рекомендую этот Стэнфордский онлайн-курс по машинному обучению.Это бесплатно, подходит для начинающих, и не требует каких-либо знаний в любой другой области науки или техники.