gpt4 book ai didi

python - 处理泰坦尼克号机器学习 train.csv 中的空数据点

转载 作者:行者123 更新时间:2023-11-30 08:48:57 26 4
gpt4 key购买 nike

在泰坦尼克号机器学习项目的 train.csv 数据中,一些乘客的年龄数据丢失,因此 pandas 模块将其填充为“NaN”,并且当将其输入 sklearn 算法时,它不接受它。我尝试了 dataset.fillna('') 但现在它变成了空字符串而不是 float 。请发送帮助。

https://www.kaggle.com/c/titanic/data

import pandas as pd

from sklearn.cross_validation import train_test_split
dataset = pd.read_csv('train.csv')
#dataset = dataset.fillna()
def preprocess(df):
from sklearn.preprocessing import LabelEncoder
processed_df = df.copy()
le = LabelEncoder()
done = le.fit_transform(processed_df)
return done
survival = preprocess(dataset.Survived)

data = dataset.drop('Survived',axis= 1)
data = data.drop('PassengerId',axis=1)
data = data.drop('Embarked',axis = 1)
data = data.drop('Cabin',axis = 1)
data = data.drop('Fare',axis = 1)
data = data.drop('Ticket',axis = 1)
data = data.drop('Name',axis=1)

x_train,x_test,y_train,y_test=
train_test_split(data,survival,test_size=0.25,random_state=0)

from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
from sklearn import svm
from sklearn.metrics import accuracy_score


pipeline = make_pipeline(StandardScaler(),
svm.SVC(kernel='rbf',C=0.1))
pipeline.fit(x_train,y_train)
print(accuracy_score(pipeline.predict(x_test),y_test))

最佳答案

fillna 将 Nan 值替换为您编写的内容,因此如果您编写 '',它将是一个空字符串。只需写:

 dataset.fillna(0)

如果你需要区分0和Nan,你可以尝试将其替换为-1,这就是我们所做的。

关于python - 处理泰坦尼克号机器学习 train.csv 中的空数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47941232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com