我是靠谱客的博主 秀丽大象,最近开发中收集的这篇文章主要介绍《机器学习》西瓜书课后题6.3《机器学习》课后题6.3,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

《机器学习》课后题6.3

iris线性可分所以肯定正确率会分的很高
pybrain一直安装报错不清楚为什么,C4.5之前的还没写完,先继续往下写,欠着吧

python代码

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
from sklearn import metrics
from sklearn import svm


def create_data():
    iris = load_iris()
    df = pd.DataFrame(iris.data, columns=iris.feature_names)
    df['label'] = iris.target
    df.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']
    data = np.array(df.iloc[:100, [0, 1, -1]])
    for i in range(len(data)):
        if data[i, -1] == 0:
            data[i, -1] = -1
    # print(data)
    return data[:, :2], data[:, -1]


X, y = create_data()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)
plt.scatter(X[:50, 0], X[:50, 1], label='0')
plt.scatter(X[50:, 0], X[50:, 1], label='1')
plt.xlabel(load_iris().feature_names[0])
plt.ylabel(load_iris().feature_names[1])
plt.legend()
plt.show()


for kernel in ['linear', 'rbf']:
    clf = svm.SVC(C=1000, kernel=kernel)
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    accuracy = metrics.accuracy_score(y_test, y_pred)

    print('accuracy of %s kernel SVM: %.3f' % (kernel, accuracy))


运行结果

数据初始化

accuracy of linear kernel SVM: 1.000
accuracy of rbf kernel SVM: 1.000

最后

以上就是秀丽大象为你收集整理的《机器学习》西瓜书课后题6.3《机器学习》课后题6.3的全部内容,希望文章能够帮你解决《机器学习》西瓜书课后题6.3《机器学习》课后题6.3所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部