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))
随机森林算法实现泰坦尼克号生存人数预测
最新推荐文章于 2024-10-19 23:28:54 发布