机器学习-Kaggle入门泰坦尼克号任务

 这段代码是一个使用随机森林分类器进行泰坦尼克号乘客生存预测的例子。

首先,代码使用`pandas`库读取了训练集和测试集的CSV文件,并使用`info()`方法打印出这些数据集的信息,包括每列的名称、非空值数量和数据类型等。

然后,根据所选的特征列,将训练集和测试集中的对应列提取出来,分别赋值给`X_train`和`X_test`。同时,将训练集的"Survived"列作为目标变量,赋值给`y_train`。

接下来,通过调用`value_counts()`方法,打印出训练集和测试集中"Embarked"列的不同取值及其频次。

为了处理缺失值,代码使用`fillna()`方法将训练集和测试集中"Embarked"列的缺失值填充为"S","Age"列的缺失值填充为平均年龄,"Fare"列的缺失值填充为平均票价。

然后,通过`DictVectorizer`类将特征列转换为数值型特征。首先,调用`to_dict()`方法将`X_train`和`X_test`转换为字典形式的数据,然后使用`fit_transform()`方法对训练集进行转换,使用`transform()`方法对测试集进行转换。

接下来,导入随机森林分类器`RandomForestClassifier`。代码使用`cross_val_score()`函数对训练集进行交叉验证,并计算平均准确率作为模型的性能评估指标。

然后,使用`fit()`方法将训练集的特征和目标变量传递给随机森林分类器进行训练。

接着,使用训练好的模型对测试集进行预测,得到结果`rfc_y_predict`。

最后,将预测结果保存为CSV文件,并命名为"rfc_submission.csv",包括乘客ID和预测的生存结果。

这段代码展示了一个完整的机器学习流程,包括数据的读取、预处理、特征工程、模型训练和预测结果的保存等步骤。

import pandas as pd
train=pd.read_csv('F:/桌面/Datasets/Titanic/train.csv')
test=pd.read_csv('F:/桌面/Datasets/Titanic/test.csv')
print(train.info())
print(test.info())
selected_feature=['Pclass', 'Sex', 'Age', 'Embarked', 'SibSp', 'Parch', 'Fare']
X_train=train[selected_feature]
X_test=test[selected_feature]
y_train=train['Survived']
print(X_train['Embarked'].value_counts())
print(X_test['Embarked'].value_counts())
X_train['Embarked'].fillna('S', inplace=True)
X_test['Embarked'].fillna('S',inplace=True)
X_train['Age'].fillna(X_train['Age'].mean(), inplace=True)
X_test['Age'].fillna(X_test['Age'].mean(), inplace=True)
X_test['Fare'].fillna(X_test['Fare'].mean(), inplace=True)
print(X_train.info())
print(X_test.info())
from sklearn.feature_extraction import DictVectorizer
dict_vec=DictVectorizer(sparse=False)
X_train=dict_vec.fit_transform(X_train.to_dict(orient='records'))
print(dict_vec.feature_names_)
X_test=dict_vec.transform(X_test.to_dict(orient='records'))
from sklearn.ensemble import RandomForestClassifier
rfc=RandomForestClassifier()
from sklearn.model_selection import cross_val_score
cross_val_score(rfc, X_train, y_train, cv=5).mean()
rfc.fit(X_train, y_train)
rfc_y_predict=rfc.predict(X_test)
rfc_submission=pd.DataFrame({'PassengerId':test['PassengerId'], 'Survived':rfc_y_predict})
rfc_submission.to_csv('F:/桌面/Datasets/Titanic/rfc_submission.csv', index=False)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值