为什么在应用任何机器学习算法之前需要将python中的列表转换为数组(如numpy数组)?
答案 0 :(得分:1)
它不是必须,但它非常方便,因为Numpy / SciPy模块提供了大量方便且快速(矢量化)的功能/方法
实际上,大多数机器学习方法(至少在sklearn
模块中)会尝试将输入数组转换为Numpy数组,以便能够使用Numpy的函数/方法。 / p>
考虑以下演示,其中我不使用Numpy数组,但是" Vanilla" Python列表:
from sklearn.linear_model import LinearRegression
X = [[1,2,3], [4, 5, 6], [7,8,9]]
y = [30, 20, 10]
lr = LinearRegression().fit(X, y)
pred = lr.predict([[13,14,15], [16,17,18]])
print(pred)
print(type(pred))
输出:
[-10. -20.]
<class 'numpy.ndarray'>