机器学习-第二章的学习代码

本文通过代码展示了机器学习中感知机的学习过程,包括数据读取、使用自定义感知机进行训练、绘制色度图、增加激励单元、调整不同学习率的影响,以及数据归一化后的训练效果。
摘要由CSDN通过智能技术生成

 

 

读取数据:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
df =  pd.read_csv("./iris.data")
y = df.iloc[0:100, 4].values
y = np.where(y == "Iris-setosa", 1, -1)
x = df.iloc[0:100, [0,2]].values
plt.scatter(x[y==1,[0]], x[y==1, [1]], color='red', marker="o", label="Iris-setosa") # 散点图
plt.scatter(x[y==-1,[0]], x[y==-1, [1]], color='blue', marker="o", label="setosa")
plt.xlabel("sepal length [cm]")
plt.ylabel("petal length [cm]")
plt.legend(loc="upper left")
plt.show()

采用自定义的感知机进行训练:

class perception:
    def __init__(self, X, Y, lr = 0.01, Iter = 50):
        self.lr = lr
        self.Iter = Iter
        self.X = X
        self.Y = Y
        np.random.seed(10)
        self.w = np.random.normal(loc=0.0, scale=0.01, size=X.shape[1]+1)
    def prediction(self, x):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值