之前任务中将训练集和测试集一起处理,数据处理完成后需要将训练集和测试集分离开来。前边并没有做过排序,因此顺序没有改变,直接取前891行就是训练集。
#训练集:特征
X_train = integDF_X.loc[:890,:]
#训练集:标签
Y_train = integDF.loc[:890,'Survived']
#测试集:特征
X_test = integDF_X.loc[891:,:]
#观察行是否正确
print(X_train.shape)
print(X_test.shape)
from sklearn.model_selection import train_test_split #拆分数据集
x_train,x_test,y_train,y_test =train_test_split(X_train,Y_train,test_size=0.3,random_state=42) #随机种子数
x_train.head()
现在我们已经做好了训练模型的准备,我们希望找出输出(即Survived)与所挑选出来的特征(即Gender,Age等)之间的关系,是一个分类的问题。选择以下模型:
1.逻辑回归
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(x_train, y_train)
Y_pred = logreg.predict(x_test)
acc_log = round(logreg.score(x_train, y_train) * 100, 2)
print( '准确率:',acc_log,'%')
#输出 准确率:83.73%
<