编辑回复: 对的,Kaggle里很多数据集都不错,另外在专栏里也会讲到关于信用卡违约率分析和信用卡欺诈分析。下面整理了一些数据集,更多数据集,可以通过https://www.kaggle.com/datasets 查找
Titanic: Machine Learning from Disaster
Titanic乘客生存预测
https://www.kaggle.com/c/titanic
House Prices-Advanced Regression Techniques
预测房价
https://www.kaggle.com/c/house-prices-advanced-regression-techniques
MNIST手写数字识别
https://www.kaggle.com/scolianni/mnistasjpg
Passenger Satisfaction
乘客满意度,提供了美国航空公司US Airline乘客满意度数据
https://www.kaggle.com/johndddddd/customer-satisfaction
Bike Sharing Demand
自行车共享数据库,用于预测自行车的共享需求
https://www.kaggle.com/lakshmi25npathi/bike-sharing-dataset
San Francisco Building Permits
5年时间,三藩市20万的建筑许可
https://www.kaggle.com/aparnashastry/building-permit-applications-data
San Francisco Crime Classification
12年时间的三藩市的犯罪记录
https://www.kaggle.com/kaggle/san-francisco-crime-classification
编辑回复: 首先十个经典算法代表了十种数据挖掘思想,基于他们都有不少算法的变种和改进,对数据挖掘的影响是非常深远的。
另外这十大经典算法,解决的问题也不同,按照解决问题来划分的话:
分类算法:C4.5,朴素贝叶斯(Naive Bayes),SVM,KNN,Adaboost,CART
聚类算法:K-Means,EM
关联分析:Apriori
连接分析:PageRank
所以这十大算法要解决的问题也不同,比如分类是一种有监督的学习方式,事先知道样本的类别,通过数据挖掘可以将不同类别的样本进行区别,从而对未知的物体进行分类。而聚类是一种无监督的学习方式,事先不知道样本的类别,而是通过相关属性分析,将具有类似属性的物体聚成一类。
所以对十大算法的理解,想要知道他们解决的是哪类问题。然后针对同一类问题,比如分类问题,也有不同种解法,比如C4.5,朴素贝叶斯,SVM,KNN等。
不同的算法实际上都有自己对这个问题分析的方式,很难说哪种算法更优,哪个算法不好。实际上这和我们的样本有很大关系,不同的样本属性,样本分布,特征值等,采用不同的算法结果都会有差别,最好的方式就是都做一遍,然后选择针对这个训练集/测试集最优的算法。所以你能看到,在后面的练习中,我们往往都在采用多种算法。
另外我想说的是,关于算法的研究,这十大算法是根基,很多人都会在这些算法基础上提出自己的模型,就类似于研究生期间发表论文,都是在这些算法(会有这个算法相应的参考文献)的基础上进行的改进。同时,也会给出自己所采用的的数据集,然后针对这个数据集,采用传统方法和改进方法进行对比,得出结论。所以:算法是可以改进的,采用哪个适合和数据集也有关系,很多时候都会做一遍然后选择适合的。
作者回复: 很好的总结 感谢
编辑回复: 整理的不错 可以看看 https://www.kaggle.com/learn/overview
作者回复: kaggle给数据分析师提供了非常好的数据集
编辑回复: 完整代码在https://github.com/cystanford/text_classification
作者回复: 不错 加油
作者回复: 可以使用picke工具
import pickle
# fp_lr_model 是模型保存的文件位置
pickle.dump(lr_model, open(fp_lr_model, 'wb'))
lr_model = pickle.load(open(fp_lr_model, 'rb'))
作者回复: 对 有不少优质的kernel可以参考和学习
编辑回复: 这里想说明的是KMeans计算的中心点,实际上是这个类别里所有点的 属性值的平均值。然后作为这个新的中心点的属性值。如果还不理解的话,可以加数据分析的微信群
编辑回复: 哈哈 需要和知识反复交朋友,其实很多需要推导的知识,往往需要学习多次,所以也很正常。
编辑回复: 首先特征选择是数据挖掘(机器学习)中的重要问题之一,一般来说对于数据特征空间大的数据集来说,我们需简要对特征进行选择,也就是选取有代表性的特征,来降低特征空间的冗余度,提升算法的效率。
特征选择的过程,你可以理解是从m个特征中选择n个特征的过程,文章中从三个相关性大的特征只选择一个,目的是在于降低冗余信息,缩减特征维数。