IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Coursera吴恩达机器学习ML-week3-ex2逻辑回归(未标准化)-python实现 -> 正文阅读

[数据结构与算法]Coursera吴恩达机器学习ML-week3-ex2逻辑回归(未标准化)-python实现

import matplotlib.pyplot as plt
import numpy as np
from sklearn.metrics import classification_report
from sklearn import preprocessing
scale = False   #是否进行标准化
data = np.genfromtxt("ex2data1.txt",delimiter = ",")
x = data[:,0:2]
y = data[:,2]

def plot():
    x0 = []
    y0 = []
    x1 = []
    y1 = []
    for i in range(len(x)):
        if(y[i]==0):
            x0.append(x[i,0])
            y0.append(x[i,1])
        else:
            x1.append(x[i,0])
            y1.append(x[i,1])
    scatter0 = plt.scatter(x0,y0,c='b',marker = 'o')
    scatter1 = plt.scatter(x1,y1,c='r',marker = 'x')
    plt.legend(handles = [scatter0,scatter1],labels = ['label0','label1'],loc = 'best')
    
plot()
plt.show()
y = y.reshape(-1,1)
X = np.concatenate((np.ones((100,1)),x),axis =1)
theta = np.zeros(3).reshape(3,1)
def sigmoid(x):
    return 1.0/(1+np.exp(-x))
def cost(xMat,yMat,theta):
    left = np.multiply(yMat,np.log(sigmoid(xMat*theta)))
    right = np.multiply(1-yMat,np.log(1-sigmoid(xMat*theta)))
    return np.sum(left+right)/-(len(xMat))

#print(cost(np.matrix(X),np.matrix(y),theta))
def gradscent(xArr,yArr,theta):
    if scale==True:
        xArr = preprocessing.scale(xArr)
    yMat = np.mat(yArr)
    xMat  = np.mat(xArr)
    lr = 0.004
    epochs = 200000
    costlist = []
    m,n = np.shape(xMat)
    theta = np.mat(theta)
    for i in range(epochs+1):
        h = sigmoid(xMat*theta)
        theta_grad = xMat.T*(h-yMat)/m
        theta = theta-lr*theta_grad
        costlist.append(cost(xMat,yMat,theta))
    return theta,costlist
theta,costlist = gradscent(X,y,theta)

print(theta)

if scale == False:
    plot()
    x_test = [[30],[100]]
    y_test = (-theta[0] - x_test*theta[1])/theta[2]
    plt.plot(x_test,y_test,'k')
def predict(x, theta):
    if scale == True:
        x = preprocessing.scale(x)
    xMat = np.mat(x)
    theta = np.mat(theta)
    return [1 if x >= 0.5 else 0 for x in sigmoid(xMat*theta)]

y_pre = np.array(predict(X, theta))
y_pre=y_pre.reshape(len(y_pre),1)
print(np.mean(y_pre==y))


  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:40:50  更:2021-08-11 12:43:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:20:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码