python - 尝试做线性线性回归分类器给我“ValueError:预期的二维数组,而不是一维数组
问题描述
我已经使用线性回归完成了 scikit-learn toturiol。当我尝试编写自己的代码来执行此操作时,我收到一条错误消息““如果它包含单个样本。”.format(array)) ValueError: Expected 2D array, got 1D array instead: “# Use only one feature: " 示例代码发送一维数组糖尿病_X = 糖尿病.data[:, np.newaxis, 2]
这是我尝试过的: 1. 使用列表而不是 numpy 数组 2. 在示例代码中打印出糖尿病_X 得到 [[ 0.06169621] [-0.05147406] .....]] 然后我尝试更改我的代码如下 xp= [ [3449] [1058] [2201]] 出现错误,提示预期语句结束。然后我尝试了 xp=[ [3449], [1058], [2201]] 同样的错误信息
我的代码
xs=np.array([ 3449 , 1058, 2201, 2500, 1953, 1637, 1400, 1836, 1400, 4677, 1639, 2094, 1491], dtype=np.float64)
ys=np.array([529000,279090,479000,319000,369000,346000,425000,380000,425000,646900,349900,384900,284900], dtype=np.float64)
xp=[ 3449 , 1058, 2201, 2500, 1953, 1637, 1400, 1836, 1400, 4677, 1639, 2094, 1491]
yp=[529000,279090,479000,319000,369000,346000,425000,380000,425000,646900,349900,384900,284900]
clf= linear_model.LinearRegression()
clf.fit(xp, yp)
g=clf.predict( 279090)
print("+++++++ guess +++++++")
print(g)
print("jjjjjjj")
解决方案
在将它们转换为 NumPy 数组后,您可以使用xp = np.array([....])
和yp = np.array([....])
xp = xp.reshape(xp.shape[0],-1)
yp = yp.reshape(yp.shape[0],-1)
clf= linear_model.LinearRegression()
clf.fit(xp, yp)
g=clf.predict( 279090)
print("+++++++ guess +++++++")
print(g)
print("jjjjjjj")
# +++++++ guess +++++++
# [[24426732.22]]
# jjjjjjj
推荐阅读
- javascript - 在 ITP (Safari) 时使用 iframe 和 postMessage 进行单点登录(静默登录)
- javascript - 在 GrandStack 中设置关系类型
- python - 如何将 pine 脚本转换为 python
- java - JPA Hibernate 流性能问题
- python-3.x - 将带有 lambda 的函数应用于 Pandas
- azure-data-factory - 无法将数据资源管理器用作数据流中的接收器
- android - Android Rooted 设备:su 命令工作不可靠错误::工作目录:null 环境:null IOException
- excel - 在允许新行/删除行的同时保护表中的公式
- mysql - 从计算的时差查询中减去时间
- java - Java 字符串内存地址