Также будьте осторожны с версией UML: уже давно существует, что & lt; использует >> и & lt; включает >> заменены на & lt; включают в себя >> и & lt; продолжается >> на & lt; простирайтесь >> И обобщение. Для меня это часто вводит в заблуждение: например, сообщение Стефани и ссылка о старой версии:
При оплате товара вы можете оплатить доставку, оплатить с помощью PayPal или платить карточкой. Все это является альтернативой варианту использования «платить за товар». Я могу выбрать любой из этих параметров в зависимости от моих предпочтений.
blockquote>На самом деле нет никакой альтернативы «платить за товар»! В настоящее время UML, «оплата при доставке» является расширением, а «платить с помощью paypal» / «платить карточкой» - это специализации.
На
hd = pd.read_csv("heart.csv", sep=",", header=None)
Вы указываете header=None
, который игнорирует метки для столбцов, создавая таким образом массив, который смешивает текст с числами. Удаление этого аргумента должно исправить вашу проблему, т.е.
hd = pd.read_csv("heart.csv", sep=",")
В качестве альтернативы вы можете явно указать индекс строки заголовка в файле csv с помощью header=0
Как показано в сообщении внизу: ValueError: could not convert string to float: 'thal'
это кажется ошибкой типа данных. StandardScaler нужны числовые (плавающие) данные, но он где-то получил строку и вернул ошибку.
Вы можете сделать несколько штук. Если у вас есть категориальные переменные, используйте One-Hot Encoding для них. Возможно, вы можете заставить столбец иметь определенный тип данных.
PS: После загрузки вашего фрейма данных pandas вы можете проверить, какие типы данных используются hd.dtypes
. Проверьте, есть ли какой-либо нечисловой столбец в IV.