python机器学习day'2

来源:互联网 发布:淘宝陆川铁锅哪家正宗 编辑:程序博客网 时间:2024/06/07 22:07

…这是第三篇文章也是我尝试的第三个类型…[委屈状。

好嘛。我使用的学习资料是《python机器学习及实践》,感谢尚老师推荐~


简单机器学习介绍:

机器学习分监督和无监督两类。

监督学习关注预测,一般包括分类问题、回归问题。

无监督学习倾向于特征分析,常用数据降维聚类等。

分类:预测所在类别,是离散、预先知道数量的。

回复:预测联系变量。

数据降维:压缩筛选特征,如识别图像等。

聚类:把相似的数据样本划分簇。


把数据视为经验,反应数据内在规律信息叫做特征。

经验包括特征+标记或目标两部分,用一个特征向量描述数据样本;标记或目标的实现取决于监督学习的种类。


考虑性能:对于分类问题是准确性,对于回归问题,是偏差大小。


分类学习--线性分类器:二分类,多类分类,标签分类。

用一个从x1-xn的n维列向量x代表特征向量,再用一个从w1到wn的n维列向量代表对应权重,再加上截距b。【这里就是按照线性的感觉了解就行。】

所以f=w的转置x+b。

然后用逻辑函数g(z)=1/(1+e^(-z))将f∈R映射到(0,1)【这点很好理解,因为要进行二分类预测,就是0或1的判断。这里参数z被压缩在01区间内。】

整合两个函数,得出一个公式。【在这里打函数好烦,我知道就行啦。】

然后他说“希望逻辑斯蒂模型可以在这组训练集上取得最大似然估计的概率L(w,b)。”【不懂…】

利用随机梯度上升算法来确定模型的参数w和b。

然后因为这是基础章节,所以作者大佬说缺失的数据这一章节都忽略,(从他这一章节后面的做法看到他都直接舍弃了有缺失的样本数据。)所以开始预处理数据。


代码就不贴了…都照着敲的,本来想找些数据套一下,又觉得还是踏踏实实的先理解了再用吧。

然后里面用到了pandas.read_csv函数。→http://www.cnblogs.com/datablog/p/6127000.html

然后np.nan就是标准缺失值,np就是numpy。

pandas.dropna函数,删除缺失。http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html

numpy.shape可以操作矩阵的形状。


如果原始数据没提供对应的测试样本,通常是测试集:训练集=1:3。

Sklearn-train_test_split随机划分训练集和测试集 http://blog.csdn.net/cherdw/article/details/54881167

然后书中的描述是“查验数量和类别分布”,使用的是pandas.Series.value_counts,但是看官方文档我没太搞懂是什么…

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.value_counts.html

然后StandardScale()通过删除平均值和缩放到单位方差来标准化特征,http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html。

fit_transform()看样子是一个获取特征信息和目标信息之后将目标转化…我的问题是…首先,要转化成什么样子?http://www.jianshu.com/p/ddfe1909b8db一知半解。

然后使用了逻辑函数和SGD的两个fit,SGD就是随机梯度分类器,但是不知道为啥要两个都fit…懵逼。

然后又predict了一下…



原创粉丝点击