Как построить регрессию на данных типа string (машинное обучение)?
Можно попробовать сделать следующее. Берем каждую колонку, по сути категорию. Смотрим сколько значений она имеет. Пусть это будет k. Заводим k переменных, которые будут принимать значения либо 0, либо 1.
Если, скажем, дом был построен из кирпича, то ставим переменной x_кирпич = 1, а x_бетон и x_дерево равным 0. Ну и обучаем веса.
P.S. Можно сделать k - 1 переменную, проставляя нули всем переменным для одного из значений.
Подозреваю, то, что вам нужно, умеют некоторые алгоритмы деревьев решений (decision trees).
Если я правильно помню, то скорее всего CART, но скорее всего не только он.
На питоне посмотрите библиотеки scikit, spark, но ими мне пользоваться не приходилось. 
На всякий случай, точно знаю, что этот и много других алгоритмов деревьев есть в WEKA (отдельная программа для дата майнинга со своими форматами и т.д.).