i got this errorValueError: could not convert string to float: '-8,01E+10'
这是我的密码
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression, RidgeClassifier
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
df = pd.read_csv('coords.csv',header=0,sep=';')
pipelines = {
'lr':make_pipeline(StandardScaler(), LogisticRegression()),
'rc':make_pipeline(StandardScaler(), RidgeClassifier()),
'rf':make_pipeline(StandardScaler(), RandomForestClassifier()),
'gb':make_pipeline(StandardScaler(), GradientBoostingClassifier()),
}
X = df.drop('class', axis=1) # features
y = df['class'] # target value
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1234)
fit_models = {}
for algo, pipeline in pipelines.items():
model = pipeline.fit(X_train, y_train)
fit_models[algo] = model
这是我的错误
回溯(最近一次呼叫最后一次): 文件“C:\Users\Apuanudin\Desktop\myProject\Pthon\everyCodepy\my.py”,第23行,在 模型=管道安装(X\U系列、y\U系列) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\sklearn\pipeline.py”,第341行 Xt=自拟合(X,y,**拟合参数步数) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\sklearn\pipeline.py”,第303行,以_-fit格式 十、 fitted_transformer=fit_transform_one_( 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\joblib\memory.py”,第352行,在调用中 返回self.func(*args,**kwargs) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python\39\Lib\site packages\sklearn\pipeline.py”,第754行,在fit\u transform\u one中 res=变换器。拟合变换(X,y,**拟合参数) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\sklearn\base.py”,第702行,在fit\u转换中 返回self.fit(X,y,**fit_参数).transform(X) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python\39\Lib\site packages\sklearn\preprocessing\u data.py”,第730行,在fit中 返回自身部分配合(X、y、样品重量) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python\39\Lib\site packages\sklearn\preprocessing\u data.py”,第766行,部分匹配 X=自身。验证数据(X,接受稀疏=('csr','csc'), 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\sklearn\base.py”,第421行,在(验证)数据中 X=检查数组(X,**检查参数) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\sklearn\utils\validation.py”,第63行,在内部 返回f(*args,**kwargs) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python39\Lib\site packages\sklearn\utils\validation.py”,第616行,在check\u数组中 array=np.asarray(array,order=order,dtype=dtype) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python\Python39\Lib\site packages\numpy\core\u asarray.py”, 第102行,在asarray中 返回数组(a,数据类型,copy=False,order=order) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python\Python39\Lib\site packages\pandas\core\generic.py”, 第1899行,在数组中 返回np.asarray(self.\u值,dtype=dtype) 文件“C:\Users\Apuanudin\AppData\Local\Programs\Python\Python39\Lib\site packages\numpy\core\u asarray.py”, 第102行,在asarray中 返回数组(a,数据类型,copy=False,order=order) ValueError:无法将字符串转换为浮点值:'-8,01E+10'
看起来您的数据中有一个逗号
,
,可能在coords.csv
中它必须是
8.0E+10
而不是8,0E+10
,才能使float()
转换工作相关问题 更多 >
编程相关推荐