随机森林算法实现泰坦尼克号生存人数预测

from sklearn.feature_extraction import DictVectorizer
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
网址可以直接复制
data = pd.read_csv("http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt")
取特征值
x = data[['pclass','age','sex']]
取目标值
y = data[['survived']]
x['age'].fillna(x['age'].mean(),axis=0,inplace=True)
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2)

x_train = x_train.to_dict(orient='records')     # 加了orient="records"  以行操作
x_test = x_test.to_dict(orient='records')

from sklearn.feature_extraction import DictVectorizer
decv = DictVectorizer()
x_train = decv.fit_transform(x_train)
x_test = decv.transform(x_test)

rf = RandomForestClassifier(n_estimators=10)    # max_depth=10最大树深,
rf_model = rf.fit(x_train,y_train)
y_pred = rf.predict(x_test)
score = rf.score(x_test,y_test)
print(score)

# 打印报告
from sklearn.metrics import classification_report
print(classification_report(y_true=y_test,y_pred=y_pred))

猜你喜欢

转载自blog.csdn.net/weixin_41236295/article/details/81211024
今日推荐