我是python的初学者,所以请和我一起裸露。我正在尝试使用 GaussianNB 解决一个机器学习问题。我的某些字段的日期格式不正确,因此我将其转换为 UNIX 格式。例如,列state_changed_at在 csv 中的值为1449619185. 我正在将其转换为正确的日期格式。
现在的问题是,当我选择这些日期特征来训练我的模型时,它给了我一个错误:
无法将字符串转换为浮点数:'Thu Apr 16 23:58:58 2015'
import pandas as pd
import numpy as np
from sklearn import metrics
from sklearn.naive_bayes import BernoulliNB
from sklearn.naive_bayes import MultinomialNB
import time
from sklearn.naive_bayes import GaussianNB
train = pd.read_csv("datasets/train2.csv")
test = pd.read_csv("datasets/test.csv")
train.head()
import time
# state_changed_at,deadline,created_at,launched_at are date time fields
# and I'm converting it into unix format
unix_cols = ['deadline','state_changed_at','launched_at','created_at']
for x in unix_cols:
train[x] = train[x].apply(lambda k: time.ctime(k))
test[x] = test[x].apply(lambda k: time.ctime(k))
# state_changed_at,deadline,created_at,launched_at are date time fields.
cols_to_use = ['keywords_len' ,'keywords_count','state_changed_at','deadline','created_at','launched_at']
target = train['final_status']
# data for modeling
k_train = train[cols_to_use]
k_test = test[cols_to_use]
gnb = GaussianNB()
model = MultinomialNB()
model.fit(k_train, target) # this lines gives me error saying: could not convert string to float: 'Thu Apr 16 23:58:58 2015'
expected = target
predicted = model.predict(k_test)
print(model.score(k_test, predicted, sample_weight=None))
任何帮助将非常感激。谢谢