我正在训练一个人工智能来预测足球比赛的结果。但我总是得到以下错误:
ValueError: could not convert string to float: '2023-09-30T14:00Z'
该图片是CSV文件,包含(日期,比赛名称,短名称,季节_年,季节_名称,季节_类型_名称,季节_类型_缩写,主页,客场,主页_结果,客场_结果)作为列:
以下是我尝试过的:
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn import preprocessing
df = pd.read_csv("fulldata.csv")
x = df.drop(columns=['Home_Results', 'Away_Results'])
y = df['Home_Results']
z = df['Away_Results']
model = LogisticRegression()
model.fit(x, y)
下面是traceback:
ValueError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_14808\2162871695.py in ?()
8 y = df['Home_Results']
9 z = df['Away_Results']
10
11 model = LogisticRegression()
---> 12 model.fit(x, y)
c:\Users\threa\anaconda3\Lib\site-packages\sklearn\base.py in ?(estimator, args, kwargs)
1148 skip_parameter_validation=(
1149 prefer_skip_nested_validation or global_skip_validation
1150 )
1151 ):
-> 1152 return fit_method(estimator,args, kwargs)
c:\Users\threa\anaconda3\Lib\site-packages\sklearn\linear_model_logistic.py in ?(self, X, y, sample_weight)
1204 _dtype = np.float64
1205 else:
1206 _dtype = [np.float64, np.float32]
1207
-> 1208 X, y = self._validate_data(
1209 X,
1210 y,
1211 accept_sparse="csr",
...
2085 if (
2086 astype_is_view(values.dtype, arr.dtype)
2087 and using_copy_on_write()
ValueError: could not convert string to float: '2023-09-30T14:00Z'
我在互联网上看了看,我发现通过编码的CSV与OneHotEncoder,它会工作.但是我已经尝试了sklearn.preprocessing.OneHotEncoding和pandas.get_dummies,显示了很多错误,我不知道。所以我来问你。
1条答案
按热度按时间lc8prwob1#
我不知道你的问题是什么。
你的意思是,你在处理OneHotEncoding或训练模型时得到了一个错误
ValueError: could not convert string to float: '2023-09-30T14:00Z'
?下面是使用这两种方法的OneHotEncoding示例。
我使用了与您类似的虚拟数据。
注意,OneHotEncoding和get_dummies可以应用于分类数据。
我使用Season_Name作为例子之一。
结果将是
自己一步一步地努力。
例如,您可以创建一个更简单的数据集,然后尝试检查OneHotEncoding的结果。