Я пытаюсь построить простое линейное соответствие для набора данных из pandas кадра данных. Это мой код:
import numpy as np
import pandas as pd
import sklearn
import seaborn as sns
import sys
import matplotlib.pyplot as plt
df = pd.read_csv("../Machine Learning/housing.data", header=None,
delim_whitespace=True)
col_name = ['Crime', 'ZN', 'Indus', 'Chas', 'Nox','RM', 'Age', 'Dis',
'Rad', 'Tax', 'PTRatio', 'B', 'LSTAT', 'MEDV']
df.columns = col_name
X = df.RM.values.reshape(-1,1)
y = df.MEDV.values.reshape(-1,1)
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X,y)
plt.figure(figsize=(12,10))
sns.jointplot(x='RM', y='MEDV', data=df, kind='reg', height=10)
plt.show()
Я получаю следующую ошибку:
Traceback (most recent call last):
File "regression_scipy.py", line 74, in <module>
sns.jointplot(x='RM', y='MEDV', data=df, kind='reg', height=10) ...
TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
Я проверил свои массивы X и y. Они numpy.ndarrays
.
Где я иду не так?