Python 尝试对N维数组使用回归时出错
我的代码应该是读取音频文件并预测另一个音频文件我现在不关心这个错误Python 尝试对N维数组使用回归时出错,python,numpy,audio,scikit-learn,regression,Python,Numpy,Audio,Scikit Learn,Regression,我的代码应该是读取音频文件并预测另一个音频文件我现在不关心这个错误 regr = svm.SVR() print('Fitting...') regr.fit(data0, data1) clf1= regr.fit(sample_rate1,sample_rate0) clf0 = regr.fit(data,data1) print('Done!') predata = clf.predict(data2) predrate = clf1.predict(sample_rate2) wavf
regr = svm.SVR()
print('Fitting...')
regr.fit(data0, data1)
clf1= regr.fit(sample_rate1,sample_rate0)
clf0 = regr.fit(data,data1)
print('Done!')
predata = clf.predict(data2)
predrate = clf1.predict(sample_rate2)
wavfile.write('result.wav',predrate,predata)# using predicted ndarrays it saves the audio file
我得到的错误是:
Traceback (most recent call last):
File "D:\ Folder\Python\module properties\wav.py", line 10, in <module>
regr.fit(data0, data1)
File "C:\Users\Admin1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\svm\_base.py", line 169, in fit
X, y = self._validate_data(X, y, dtype=np.float64,
File "C:\Users\Admin1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\base.py", line 433, in _validate_data
X, y = check_X_y(X, y, **check_params)
File "C:\Users\Admin1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py", line 63, in inner_f
return f(*args, **kwargs)
File "C:\Users\Admin1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py", line 826, in check_X_y
y = column_or_1d(y, warn=True)
File "C:\Users\Admin1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py", line 63, in inner_f
return f(*args, **kwargs)
File "C:\Users\Admin1\AppData\Local\Programs\Python\Python39\lib\site-packages\sklearn\utils\validation.py", line 864, in column_or_1d
raise ValueError(
ValueError: y should be a 1d array, got an array of shape (8960, 2) instead.
检查自变量和因变量X和y的赋值
“fit”函数用于表单model.fitX,y,建立模型拟合并给出错误的代码似乎是:
regr.fit(data0, data1)
因此,编写的预测变量应该是X=data0,目标输出变量应该是y=data1
确保您没有将其反转,并且不应该:
regr.fit(data1, data0)
如果数据分配正确,请尝试展平阵列
您还得到了ValueError,y应该是1d数组,得到的是形状为8960的数组,而不是2
展平意味着将多维数组转换为一维数组。尝试重塑-1
data1 = data1.reshape(-1)
我希望这有帮助!如果没有关于数据集和模型代码的任何附加信息,就很难确定下一步要做什么