本文用一个机器学习的实例,让大家看一下其实机器学习没有那么难学,希望大家看后可以增加自信,坚持把人工智能的知识学好。
本实例的数据集来自kaggle网站,用来预测泰坦尼克号沉船事件的幸存者。采用的模型是xgboost。 该问题属于监督学习中的二分类问题
- import xgboost as xgb
- from xgboost.sklearn import XGBClassifier
- train_data = pd.read_csv("/kaggle/input/titanic/train.csv") # 导入训练数据
- train_data.head()
- test_data = pd.read_csv("/kaggle/input/titanic/test.csv") # 导入测试数据
- test_data.head()
-
- y = train_data["Survived"] # 获取训练标签
- features = ["Pclass", "Sex", "SibSp", "Parch"]
- X = pd.get_dummies(train_data[features]) # 获取训练特征
- X_test = pd.get_dummies(test_data[features]) #获取测试特征
-
- xlf = xgb.XGBClassifier(max_depth=3, #树的深度,越大越容易过拟合
- learning_rate=0.1,
- n_estimators=1000,
- objective='binary:logistic',
- nthread=8,
- gamma=0,
- min_child_weight=1,
- max_delta_step=0,
- subsample=0.7,
- colsample_bytree=0.7,
- colsample_bylevel=1,
- reg_alpha=1, #控制模型复杂程度的权重值的 L1 正则项参数,参数值越大,模型越不容易过拟合
- reg_lambda=1, # 控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。
- scale_pos_weight=1,
- seed=50)
-
- predictions=xlf.predict(X_test) # 模型预测
- output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
代码的关键部分都加了注释,如果实在看不到也没有关系, 这个例子只是让大家感受一下其实机器学习没有那么难学。后续我们会一步一步的学习相关的知识,大家不能着急。