西瓜书 习题3.3 编程实现对数几率回归,梯度下降法

最近入坑上道了,跟着周志华老师的《机器学习》,先搞个课后题练练手。

我电脑是Win10的,硬件配置不输Mac Pro,但是之前跑Kaggle上的泰坦尼克,装python的各种package装的我心累,于是这次我直接用VMware开了个Ubuntu在电脑里,给分配了4G的内存,平时就用Ubuntu了,通常遇到什么包没装上,用terminal就可以搞定了。然后我在Ubuntu里装了个pycharm,开发环境就是这样。

第一步:导入数据集,并进行可视化展示

数据集就是西瓜书89页的那个,我挂在我的git上了:https://github.com/qdbszsj/Machine-Learning-test-3.3.git

import numpy as np  # for matrix calculation
import matplotlib.pyplot as plt
# load the CSV file as a numpy matrix
#separate the data with " "(blank,\t)
dataset = np.loadtxt('/home/parker/watermelonData/watermelon3_0a.csv', delimiter="\t")

# separate the data from the target attributes
X = dataset[:, 1:3]
y = dataset[:, 3]
goodData=dataset[:8]
badData=dataset[8:]
#return the size
m, n = np.shape(X)
print(m,n)#17,2
# draw scatter diagram to show the raw data
#https://matplotlib.org/api/pyplot_summary.html
f1 = plt.figure(1)
plt.title('watermelon_3a')
plt.xlabel('density')
plt.ylabel('ratio_sugar')
"""
plt.scatter(X[y == 0, 0], X[y == 0, 1], marker='o', color='b', s=100, label='bad')
"""
plt.scatter(goodData[:,1], goodData[:,2], marker='o', color='g', s=100, label='good')
plt.scatter(X[y == 0, 0], X[y == 0, 1], marker='o', color='k', s=100, label='bad')
plt.legend(loc='upper right')
上面这段代码要注意一下,np.loadtxt的时候,分隔符用空格,也就是\t,你的文件是什么样的就用什么分隔符。

然后X就是函数输入的那两列,y就是结果,然后这里绘制一下散点图


然后这里先用偷懒的方法,用sklear

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值