对于该数据先采用回归算法,再转为分类算法,这次使用聚类算法

聚类算法(无监督机器学习算法)

df = pd.read_csv("../input/Admission_Predict.csv",sep = ",")
df=df.rename(columns = {'Chance of Admit ':'ChanceOfAdmit'})
serial = df["Serial No."]
df.drop(["Serial No."],axis=1,inplace = True)
df = (df- np.min(df))/(np.max(df)-np.min(df))
y = df.ChanceOfAdmit
x = df.drop(["ChanceOfAdmit"],axis=1)

所有特征(x)均采用主成分分析法收集在一个特征中。

PCA

# for data visualization
from sklearn.decomposition import PCA
pca = PCA(n_components = 1, whiten= True )  # whitten = normalize
pca.fit(x)
x_pca = pca.transform(x)
x_pca = x_pca.reshape(400,)
dictionary = {"x":x_pca,"y":y}
data = pd.DataFrame(dictionary)
print("data:")
print(data.head())
print("\ndf:")
print(df.head())

K-means

利用肘形法确定K均值聚类的最佳聚类数是3

df["Serial No."] = serial
from sklearn.cluster import KMeans
wcss = []
for k in range(1,15):kmeans = KMeans(n_clusters=k)kmeans.fit(x)wcss.append(kmeans.inertia_)
plt.plot(range(1,15),wcss)
plt.xlabel("k values")
plt.ylabel("WCSS")
plt.show()kmeans = KMeans(n_clusters=3)
clusters_knn = kmeans.fit_predict(x)df["label_kmeans"] = clusters_knnplt.scatter(df[df.label_kmeans == 0 ]["Serial No."],df[df.label_kmeans == 0].ChanceOfAdmit,color = "red")
plt.scatter(df[df.label_kmeans == 1 ]["Serial No."],df[df.label_kmeans == 1].ChanceOfAdmit,color = "blue")
plt.scatter(df[df.label_kmeans == 2 ]["Serial No."],df[df.label_kmeans == 2].ChanceOfAdmit,color = "green")
plt.title("K-means Clustering")
plt.xlabel("Candidates")
plt.ylabel("Chance of Admit")
plt.show()df["label_kmeans"] = clusters_knn
plt.scatter(data.x[df.label_kmeans == 0 ],data[df.label_kmeans == 0].y,color = "red")
plt.scatter(data.x[df.label_kmeans == 1 ],data[df.label_kmeans == 1].y,color = "blue")
plt.scatter(data.x[df.label_kmeans == 2 ],data[df.label_kmeans == 2].y,color = "green")
plt.title("K-means Clustering")
plt.xlabel("X")
plt.ylabel("Chance of Admit")
plt.show()



层次聚类

采用树形图方法确定了层次聚类的最佳聚类数又是3

df["Serial No."] = serialfrom scipy.cluster.hierarchy import linkage, dendrogram
merg = linkage(x,method="ward")
dendrogram(merg,leaf_rotation = 90)
plt.xlabel("data points")
plt.ylabel("euclidean distance")
plt.show()from sklearn.cluster import AgglomerativeClustering
hiyerartical_cluster = AgglomerativeClustering(n_clusters = 3,affinity= "euclidean",linkage = "ward")
clusters_hiyerartical = hiyerartical_cluster.fit_predict(x)df["label_hiyerartical"] = clusters_hiyerarticalplt.scatter(df[df.label_hiyerartical == 0 ]["Serial No."],df[df.label_hiyerartical == 0].ChanceOfAdmit,color = "red")
plt.scatter(df[df.label_hiyerartical == 1 ]["Serial No."],df[df.label_hiyerartical == 1].ChanceOfAdmit,color = "blue")
plt.scatter(df[df.label_hiyerartical == 2 ]["Serial No."],df[df.label_hiyerartical == 2].ChanceOfAdmit,color = "green")
plt.title("Hierarchical Clustering")
plt.xlabel("Candidates")
plt.ylabel("Chance of Admit")
plt.show()plt.scatter(data[df.label_hiyerartical == 0 ].x,data.y[df.label_hiyerartical == 0],color = "red")
plt.scatter(data[df.label_hiyerartical == 1 ].x,data.y[df.label_hiyerartical == 1],color = "blue")
plt.scatter(data[df.label_hiyerartical == 2 ].x,data.y[df.label_hiyerartical == 2],color = "green")
plt.title("Hierarchical Clustering")
plt.xlabel("X")
plt.ylabel("Chance of Admit")
plt.show()




聚类算法比较

k-均值聚类和层次聚类是相似的。

总结

  • 任何一个数据都可以进行回归,分类,甚至聚类的算法,关键如何处理数据采用不同种类的算法

kaggle研究生招生(下)相关推荐

  1. kaggle研究生招生(上)

    每天逛 kaggle https://www.kaggle.com/mohansacharya/graduate-admissions 看来这个也是非常出名的数据集 GRE分数(290至340) 托福 ...

  2. kaggle研究生招生(中)

    上次将数据训练了模型 由于数据中的大多数候选人都有70%以上的机会,许多不成功的候选人都没有很好的预测. df["Chance of Admit"].plot(kind = 'hi ...

  3. 海南大学2020年申请考核博士研究生招生工作办法

    海南大学2020年申请考核博士研究生招生工作办法 时间: 2020/6/19 18:14:00 来源:研究生处 为建立与国际接轨的博士研究生招生选拔制度,鼓励拔尖创新型人才脱颖而出,进一步提高海南大学 ...

  4. 川大计算机考研2020招生数,四川大学等大学,2020年研究生招生简章发布,这3个信息很重要!...

    随着考研预报名临近,各个大学都相继发布了<2020年硕士研究生招生简章>(以下简称招生简章),可能很多同学觉得这个只是走一个流程,没什么用,或者还不知道如何利用好它,其实,招生简章在我们报 ...

  5. 温州大学计算机与人工智能学院2022年硕士研究生招生复试咨询开始啦!

    咨询对象与方式 咨询对象:考生第一志愿为学硕,初试成绩达到教育部统一规定的工科复试分数线,考试科目须为英语一.数学一.408计算机学科专业基础综合. 咨询方式:可扫二维码进行咨询登记 温州大学硕士研究 ...

  6. 【学术相关】翻倍!研究生招生规模持续扩张!

    来源:青塔Pro(ID:Cingta-Pro) 编辑:学妹 3月1日,教育部发布了2021年全国教育事业统计主要数据.数据显示,与2012年相比,近十年里,我国研究生招生规模几乎翻倍. 研究生招生规模 ...

  7. 基于oracle设计与实现,基于Oracle的高校研究生招生系统设计与实现.doc

    基于Oracle的高校研究生招生系统设计与实现 第 6 卷第 7 期 (2010 年 3 月) Computer Knowledge and Technology 电脑知识与技术 E-mail: HY ...

  8. 2019贵州大学计算机研究生,贵州大学2019年硕士研究生招生拟录取名单公示(一)...

    贵州大学2019年硕士研究生招生拟录取名单公示(一) 院系 所码院系所名称录取专 业代码录取专业名称学习 方式考生编号 姓名初试 总分复试 成绩录取总 成绩备注 102 外国语学院 045300 汉语 ...

  9. tstringlist怎么查看是否存在该数据_注意!研究生招生信息只公开1个月!应该怎么用?...

    请注意!全国硕士研究生招生信息公开平台(以下简称"研招信息公开平台")已于2019年7月1日开放-2019年7月30日结束. 招生信息怎么看?老师在线教你看懂研究生招生信息! 本篇 ...

最新文章

  1. 测序数据学习笔记:bcl2fastq 安装
  2. Mybatis打印调试sql的两种方式
  3. Python Module_os_操作系统
  4. Java-Shiro(三):Shiro与Spring MVC集成
  5. 计算机系统结构总概,计算机系统结构概论
  6. linux sed在容器中怎么用,概述LFCS 基础之sed用法
  7. 解决windows 2003无法远端登录windows 2008
  8. dart系列之:时间你慢点走,我要在dart中抓住你
  9. Linux文件属性4——读取目录文件
  10. 联想微型计算机电脑黑屏怎么做系统,联想电脑黑屏怎么办 5种方法轻松排除黑屏故障...
  11. day6常用模块,数据库操作
  12. 身居乱世之中,重新审视“活法
  13. VPX视频叠加板卡学习资料第199篇:基于Xilinx FPGA XC5VFX100T的6U VPX视频叠加板卡
  14. 【服务器数据恢复】StorNext文件系统数据恢复案例
  15. Visio 与 office 不兼容问题
  16. linux-xsell、xftp连接虚拟机
  17. 微软小冰的“体面告别”
  18. 苹果手机怎么在照片上添加文字_要给照片快速添加文字、图框、印章,用这款手机软件比较方便...
  19. 小A与欧拉路 (树加边求最小权值欧拉路+树的直径)
  20. 吸顶那个叫什么_吸顶空调吊顶区别到底是什么

热门文章

  1. sublime python运行快捷键_SublimeREPL执行Python快捷键
  2. linux内核定时唤醒,Linux内核时钟与定时器的实现
  3. mysql 5.7 循环语句_MySQL循环语句|mysql|loop|delimiter|procedure|调用_网易订阅
  4. python神经网络多元函数_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
  5. 英伟达账号登录邮箱验证收不到_【硬核教学】解决登录230锁定
  6. Linux安装无法运行install,linux 无法 安装swoole
  7. 基于android的条码识别技术,基于Android手机的条码识别系统研究
  8. WPF- 模拟触发Touch Events
  9. Azure虚拟机网站部署 防火墙设置
  10. 用IIS怎样在局域网内建网站