最近完成了Coursera
上两门课的学习:Introduction to data science with python和Applied machine learning in Pyhon。这两门课属于技
的范畴,主要介绍了Python有关机器学习的库:sklearn
和pandas
。通过课程的学习,了解了这两个库的概要以及内部工作逻辑。其中,sklearn
不同的机器学习方法的工作逻辑很相规整,用起来比较方便;而pandas
作为sklearn
的数据容器,其工作逻辑与数据本身的的特性强烈相关。这两门课的编程作业设计地十分棒,具有一定难度,可以充分磨练技术。里面有一些数据直接来源于维基百科的文本,需要做大量的数据清洗工作才能得到比较规整的数据,推荐给需要学习这两门的同学。
Introduction to data science in python 简要总结
这门课主要讲解了pandas
库的使用。第一周课程简要介绍了Python,第二周介绍了Pandas
的基本使用,第三种介绍了Pandas
的高级使用,第四周介绍了概率相关知识以及t检验
。主要知识点有:
-
Pandas
主要提供两种数据结构,1D的Series
和2D的DataFrame
。二者在API
上有很多相似的地方。使用.loc[行标签:, 列标签]
来进行标签索引,使用iloc[行号 , 列号]
进行普通的索引,可以使用bool
索引。 - pd.merge()
-
DataFrame.groupby(分组列标签)[列标签列表].agg({列标签:处理函数})
,这种Pipeline真地非常方便 - 从一个DataFrame中去掉另一个DataFrame(From
StackOverflow
)
pd.concat([df1, df2, df2]).drop_duplicates(keep=False)# 仅对少量数据适用
- 对每三列求平均然后组合成新的DF(From
StackOverflow
)
pd.concat([df.ix[:,i:i+3].mean(axis=1) for i in range(0,len(df.columns),3)], axis=1)
scipy.stats.ttest_ind()
Appiled to machine learning with python 简要总结
课程主要介绍了监督学习的常见方法的大致原理和sklearn
接口,从KNN
入手,到linear models(linear regression,lasso,ridge,logistic)
,再到SVM
,决策树
,Bayes
, Random Forests
, GBDT
, 最后讲了简单的NN
。最后将非监督学习的内容作为选听,主要分为变换
和聚类
,变换
主要讲了PCA, MDS, t-SNE
,聚类
主要就是k-means, Agglomerative Clustering和DBSCAN
。主要知识点如下:
- train_test_split()
- fit(), predict()
- GridSearchCV()
-
通过核方法将将线性不可分转换为线性可分(数据的维度提升)
image.png