python-3.x - 逻辑回归 SKLEARN 无法将字符串转换为浮点数:“DailyReturns”
问题描述
尝试运行逻辑回归但我收到此错误could not convert string to float: 'DailyReturns'
我已检查我的数据DailyReturns
是列名。
另外:apple['DailyReturns'].dtype
给予dtype('float64')
和apple['_lortrain'].dtype
给予dtype('float64')
错误:
ValueError: could not convert string to float: 'DailyReturns'
代码:
_lortrain = np.sign(apple['DailyReturns'])
apple['_lortrain'] = _lortrain
_data_train, _data_test, = train_test_split(apple,test_size = 0.2)
X_train = _data_train.columns[4:9].values.reshape(-1,1)
y_train = _data_train['_lortrain'].values.reshape(-1,1)
#X_train = X_train.apply(pd.to_numeric, errors='coerce')
#y_train = y_train.apply(pd.to_numeric, errors='coerce')
X_test = _data_test.columns[4:9].values.reshape(-1,1)
y_test = _data_test['_lortrain'].values.reshape(-1,1)
_LogR = lor(C = 1e6, penalty='l2', tol=0.01, solver='saga')
_LogR.fit(X_train,y_train)
_logr = _LogR.predict(X_test)
数据:
apple.columns[4:9]
:
Index(['DailyReturns', 'Lag_Returns_1', 'Lag_Returns_2', 'Lag_Returns_3',
'Lag_Returns_4'],
dtype='object')
Close DailyReturns Lag_Returns_1 Lag_Returns_2 Lag_Returns_3 Lag_Returns_4 Lag_Returns_5
Date
1980-12-22 0.53 0.058269 0.040822 0.042560 0.021979 -0.085158 -0.040005
1980-12-23 0.55 0.037041 0.058269 0.040822 0.042560 0.021979 -0.085158
1980-12-24 0.58 0.053110 0.037041 0.058269 0.040822 0.042560 0.021979
1980-12-26 0.63 0.082692 0.053110 0.037041 0.058269 0.040822 0.042560
1980-12-29 0.64 0.015748 0.082692 0.053110 0.037041 0.058269 0.040822
解决方案
_data_train.columns[4:9].values
是列名(字符串)的列表,而不是列数据。你应该使用_data_train.iloc[:,4:9].values
. 或者,更好的是:
X_train = _data_train.iloc[:,4:9] # No values or reshape
推荐阅读
- reactjs - 反应 browserhistory.push 第一次不起作用
- c++ - 我在使用 boost::serialization 时遇到了一个问题,我的代码在 linux 中运行良好,但在 windows 中遇到了异常
- java - 我将我的 Eclipse 更新为 Photon 并建议这是一个错误吗?
- r - RQuantLib 提前日期函数的问题
- javascript - 在正则表达式中强制使用严格的字符顺序
- laravel - 当我应用 sneek/laravel-xss-middleware 时,ckeditor 中的数据不会插入到 db
- collections - 如何获取一系列列作为集合?
- angular - Angular 6 使用 angular2-jwt
- python - 使用 python 拆分抓取的数据的问题
- javascript - Angularjs 指令性能 - 传递数组与传递单个对象