AI 初学者,刚刚接触机器学习不久,记录一下自己的成长历程,希望多年之后回首,会感谢现在努力的自己。
历经 8 个星期的学习,基本学习完了西瓜书上的 10 个重要模型,首次接触机器学习比赛,选择了阿里云天池上的学习赛:测一测你的一见钟情程度来进行学习比赛流程,baseline 选择的是天池该比赛论坛中置顶的逻辑回归模型,预测准确率为 83%。
首先,引入过程中需要使用的包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sb
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
import imblearn as ibl
pandas、numpy 是机器学习中常用的数据处理包,matplotlib 是 Python 中常用的实现可视化的画图包,而 seaborn 则是基于 matplotlib 的画图包,能够画出比 matplotlib 更加丰富的可视化图像,帮助更清晰的理解数据特征,而 imblearn 包则能处理采样的不平衡,让机器学习结果更加准确。其中,pandas、numpy、matplotlib、seaborn、sklearn 已经包含在 Anaconda 环境中,而 imbalanced-learn 则需要额外安装。
使用 pandas 读入数据之后分析数据的组成,查看是否有空缺值以及空缺值占比为多少,一般来说都会有一些空缺值,空缺值占比过多的特征不太适合拿来做为学习特征
missing_percent = data.isnull().sum() * 100 / len(data)
print(missing_percent.sort_values())
查看完空缺值占比情况之后对比较明显的几个特征进行一个可视化,看一下该特征对学习结果的影响情况,这里选择了查看相亲中脱单比例与性别、年龄的相关关系并进行可视化
# 第一张图:通过该活动成功脱单的人
plt.subplot(1, 2, 1)
groupSize_matche