机器学习中各种算法的python小样例

线性模型

决策树

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

data = load_iris()

x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)#划分训练集和验证集  比例4:1


classifier=DecisionTreeClassifier(max_depth=4) #决策树最大深度,默认使用基尼指数
classifier.fit(x_train, y_train)   #训练

pred =classifier.predict(x_test)   #预测    返回预测值
score =classifier.score(x_test, y_test)   #用测试集测试正确率

print(pred, y_test)
print(score)

iris是sklearn中自带的机器学习数据集,非常容易分类。通过load_iris()函数可以加载数据集,返回的是一个对象,对象包含data,target,feature_names,target_names,DESCR,filename,分别对应 属性值,数据标签,每列属性的名字,标签类别名,数据集描述,数据文件所在位置。
基尼值:从某属性所有样本中随机抽出两个,两个样本标签不一样的概率。显然,基尼值越小,该属性数据集的纯度越大。
Gini(D)=1k=1ypk2Gini(D)=1-\sum^{|y|}_{k=1}p^2_k
基尼指数:属性a的基尼指数定义为:
Gini_index(D,a)=v=1VDvDGini(Dv)Gini\_index(D,a)=\sum^{V}_{v=1}\dfrac{|D^v|}{D}Gini(D^v)
所以,决策树在某个节点时,应选择基尼指数最小的属性划分该节点。

神经网络

支持向量机

贝叶斯分类

聚类

参考

【1】周志华 机器学习
【2】https://github.com/pgmpy/pgmpy_notebook/blob/master/notebooks/1.%20Introduction%20to%20Probabilistic%20Graphical%20Models.ipynb

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章