【发布时间】:2020-04-18 01:27:37
【问题描述】:
该任务要求您加载糖尿病数据集的一个特征并编写您自己的最适合训练数据的行。
我已经编写了所需的最佳拟合算法行,但是在尝试向其中添加训练数据时,我收到此错误:
"TypeError: 无法将类型 'ndarray' 转换为分子/分母"
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from statistics import mean
diabetes = datasets.load_diabetes()
diabetes_X = diabetes.data[:, np.newaxis, 2]
diabetes_X_train = diabetes_X[:-20] #creating the testing and training data
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]
## The below code is where the issue is occurring
xs = np.array(diabetes_X_train, dtype=np.float64)
ys = np.array([diabetes_y_train, dtype=np.float64)
##the algorithm to calculate the line of best
def best_fit_slope_and_intercept(xs,ys):
m = (((mean(xs)*mean(ys)) - mean(xs*ys)) /
((mean(xs)*mean(xs)) - mean(xs*xs)))
b = mean(ys) - m*mean(xs)
return m, b
m, b = best_fit_slope_and_intercept(xs,ys)
print(m,b)
我了解将所需数据转换为正确格式是个问题,但经过研究,我无法找到正确的方法。
感谢所有有关如何根据需要正确连接或转换训练数据的意见。
【问题讨论】:
标签: python machine-learning scikit-learn dataset linear-regression