![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
兴安仓鼠
LEARN BY DOING!
展开
-
机器学习实战——美国疫情数据
题目要求所谓“看花容易绣花难”,学了近一个月机器学习,实战(完全靠自己的项目)还是第一次做,尽管头有点大,但还是很有信心做好的!原创 2020-09-06 16:00:11 · 4549 阅读 · 6 评论 -
图像识别实战——天气分类
首先来看一下题目要求①收集数据,并标注数据来源与方式:在百度上进行搜索,发现了和鲸社区搜索:天气图片数据集进入,点击进入@article{RSCM2017,title = {RSCM: Region Selection and Concurrency Model for Multi-class Weather Recognition},author = {Di Lin and Cewu Lu and Hui Huang and Jiaya Jia},journal = {IEEE T原创 2020-09-06 15:59:58 · 10503 阅读 · 18 评论 -
CS231N课程笔记学习一——图像分类
不得不说,cs213n课程是真的难,开始小哥哥讲损失函数,回归模型,我还勉强跟上,后来小姐姐讲课,我真的——人傻了/(ㄒoㄒ)/~~,但是斯坦福大学的课程不能不上啊(尽管对牛弹琴),所以在网上寻找资源,开始“自学”。。。1.图像分类图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。计算机视觉领域中很多看似不同的问题(比如物体检测和分割),都可以被归结为图像分类问题。一个图片例子:猫的图像大小是宽248像素,高400像素,原创 2020-08-23 22:49:59 · 282 阅读 · 0 评论 -
keras 初步学习
1.keras 实现线性回归模型import tensorflowimport kerasfrom keras.models import Sequentialimport numpy as npimport matplotlib.pyplot as pltx = np.linspace(0,100,30)y = 3*x +7 +np.random.randn(30)*6plt.scatter(x,y)plt.show()model = keras.Sequential() # 建立顺序原创 2020-08-20 12:22:33 · 526 阅读 · 0 评论 -
scikit-learn 算法的通用形式
1.knn算法# 1.数据准备from sklearn import datasetsfrom sklearn.model_selection import train_test_splitiris = datasets.load_iris()x = iris.datay = iris.target# x,y = datasets.load_iris(return_X_y=Ture)x_train, x_test ,y_train, y_test = train_test_split(x,y原创 2020-08-18 20:32:45 · 308 阅读 · 0 评论 -
Matplotlib 入门(详看注释)
一.matplotlib 画线(基本用法)import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-1,1,50)y = 2*x+1z = x**2plt.plot(x,y)# 坐标轴,画成线plt.plot(x,z)plt.show()(两条不同的曲线画在同一张图里了~)分别画在两张图上plt.figure()plt.plot(x,y)# 坐标轴,画成线plt.figure()plt.plot(x,z原创 2020-08-17 13:52:42 · 2549 阅读 · 0 评论 -
pandas 入门(详看注释)
一.pandas 简介numpy 相当于列表,那么pandas 相当于字典,就是比numpy 高级了一点点~import numpy as npimport pandas as pds = pd.Series([1,3,6,np.nan,44,1])print(s)看一下输出,自动加上序号,还有数据类型创建一个行索引dates = pd.date_range('20200816',periods=6)print(dates)创建一个有名字的numpy数组df = pd.Data原创 2020-08-17 10:34:21 · 1091 阅读 · 0 评论 -
Numpy入门(详看注释)
一.列表转数组import numpy as nparray = np.array([[1,2,3],[2,3,4]])print(array)print('number od dim',array.ndim) #查看数组的维数print('shape',array.shape)# shape:行数和列数print('size',array.size)#总共会有多少个元素原创 2020-08-16 23:00:21 · 522 阅读 · 0 评论 -
Machine Learning ——Homework 8
# 机器学习练习8 异常检验算法import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sbfrom scipy.io import loadmatdata = loadmat('E:\PyCharm\数据\ex8data1.mat')X = data['X']fig, ax = plt.subplots(figsize=(12,8))ax.scatter(X[:,0],X原创 2020-08-12 16:30:53 · 183 阅读 · 0 评论 -
Machine Learning——Homework 7
# 机器学习练习7import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sbfrom scipy.io import loadmatdef find_closest_centroids(X,centrois): m = X.shape[0] k = centrois.shape[0] idx = np.zeros(m) for i in range原创 2020-08-12 16:01:35 · 187 阅读 · 0 评论 -
Machine Learning——Homework 6
# 机器学习练习6 SVMimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sbfrom scipy.io import loadmatraw_data = loadmat('E:\PyCharm\数据\ex6data1.mat')data = pd.DataFrame(raw_data['X'],columns=['X1','X2'])data['y'] = raw_d原创 2020-08-11 18:09:26 · 190 阅读 · 0 评论 -
机器学习第六回(完结篇)
一.异常检测算法设定一个阈值,如果训练数据出现的概率大于阈值,说明该点正常二.高斯分布(正态分布)常见高斯分布的图例参数估计问题使用高斯分布构建异常检测系统例子:如何估计(计算)x的概率划分数据集(训练集、测试集、验证集)何时用异常检测算法与监督学习算法二者区别在于:异常检验算法通常只有很少的正确数据,让算法去学习异常数据处理如何设计和选择异常检测算法的特征(1)如果图像不是严格的高斯分布,需要使用对数变换变成高斯分布(2)创建一个新特征计算概率区分异常样本多元高斯原创 2020-08-10 19:24:50 · 150 阅读 · 0 评论 -
机器学习第六回——无监督学习
一.K-Means算法(1)随机生成两个点(聚类中心)(2)簇分配(3)移动聚类中心原创 2020-08-09 22:06:41 · 106 阅读 · 0 评论 -
Machine Learning ——Homework5
# 机器学习练习5 偏差与方差import numpy as npimport scipy.io as sioimport scipy.optimize as optimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsdef load_data():# 接收数据并把它们展平 d = sio.loadmat('E:\PyCharm\数据\ex5data1.mat') return map(n原创 2020-08-07 17:48:06 · 172 阅读 · 0 评论 -
机器学习第五回——支持向量机SVM
一.SVM代价函数与图形关于如何得到决策边界当C很大时,拟合效果未必很好,会被异常数据影响二.两个向量内积转化为P*θ的范式形式支持向量机产生大间隔的原因三.核函数(kernel)(1)使用fx替代x的多项式(2)核函数的构造过程相似度函数=核函数=高斯核函数(3)核函数中关于欧式距离的讨论(4)核函数绘制边界的雏形(5)参数对SVM的影响(6)不同情况下使用不同的算法...原创 2020-08-07 14:41:18 · 155 阅读 · 0 评论 -
机器学习第五回——学习方法与学习曲线
一.线性回归步骤(1)使用test 数据集训练学习率,(2)计算J(θ)的最小值二.逻辑回归步骤比照上面,多了一步错误分类三.高偏差与高方差高偏差:训练数据和交叉验证数据的错误都很大(左侧方框)高方差:训练集的错误很少,交叉验证错误很多加入正则化项后的结果(和上面的刚好相反)...原创 2020-08-07 08:37:14 · 186 阅读 · 0 评论 -
sklearn——决策树基础概念
一.信息增益划分数据集前后信息发生的变化叫做信息增益熵:n是分类的数目二.熵的计算from math import logdef calcShannonEnt(dataSet): numEntries = len(dataSet) labelCounts = {} for fearVec in dataSet: currentLabel = fearVec[-1] if currentLabel not in labelCounts.k原创 2020-08-04 13:37:31 · 158 阅读 · 0 评论 -
Machine Learning——Homework4
作业每次都讲得很详细~一.onehot 代码使用from sklearn.preprocessing import OneHotEncoderencoder = OneHotEncoder(sparse=False)y_onehot = encoder.fit_transform(y)二.前向传播函数def forward_propagate(X, theta1, theta2): m = X.shape[0] a1 = np.insert(X, 0, values=np.on原创 2020-08-02 17:05:55 · 225 阅读 · 0 评论 -
Machine Learning ——Homework3
可以用于实践的一次演习~# 机器学习练习3# 手写数字识别——逻辑回归的算法实现import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy.io import loadmatdata = loadmat('E:\PyCharm\数据\ex3data1.mat')# 获取图像特征def sigmoid (z): return 1/(1+np.exp(-z))def cost(theta,原创 2020-08-02 13:40:54 · 195 阅读 · 0 评论 -
机器学习第四回——神经网络
模型展示(一)x为输入项,a为隐藏层的激活项,θ是参数矩阵,g仍然是sigmoid函数模型展示(二)这张图蛮不错的,较为清晰的阐述了激活项和权重的含义实例:使用神经网络来区分下列四类事物的基本思路...原创 2020-08-02 12:22:54 · 124 阅读 · 0 评论 -
Machine Learning——Homework2
今日开始Logistic的补作业之旅~一.逻辑回归数据准备阶段# 机器学习练习2import numpy as npimport pandas as pdimport matplotlib.pyplot as pltpath = 'E:\PyCharm\数据\ex2data1.txt'data = pd.read_csv(path,header=None,names=['Exam 1','Exam 2','Admitted'])print(data.head())positive = d原创 2020-07-30 17:43:28 · 216 阅读 · 0 评论 -
knn——model celection&&preprocessing
一.cross_val_score 调参import numpy as npfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn import datasetsfrom sklearn.model_selection import cross_val_score #交叉验证X,y = datasets.load_iris(True)# 演示了交叉验证如何使用knn = KNeighborsClassifier()scor原创 2020-07-30 13:20:32 · 463 阅读 · 0 评论 -
Machine Learning——Homework1
今天终于开启了机器学习的实践之路,还是作业香啊,让我终于在纸上摸到了算法~一.单变量线性回归首先是数据准备阶段,先来一张准备好数据的截图(第一次用代码搞出图像+表格,很有成就感)算法实现传送门:其中的computeCost 函数可以参看第一回的视频总结,嘿嘿# 机器学习练习一# 准备数据阶段import numpy as npimport pandas as pdimport matplotlib.pyplot as pltpath = 'E:\PyCharm\数据\ex1data1.原创 2020-07-29 15:47:02 · 212 阅读 · 0 评论 -
机器学习第三回——正则化部分
防止过度拟合的方法:使θ3,θ4非常小,增加惩罚,来加大两个参数所带来的效果正则化思想:缩小每一个参数带来的影响在线性回归模型中的表示正则方程在逻辑回归中的表示高级优化算法我觉得好难,理解了就去硅谷工作,嘿嘿!...原创 2020-07-28 14:30:00 · 146 阅读 · 0 评论 -
sklearn——model_selection——knn手写识别系统+iris分类
X,y划分成训练和验证数据# 模型选择,可以打乱顺序,按照比例进行划分from sklearn.model_selection import train_test_split# test_size = 0.2 ,train_size =0.8;训练:测试 = 4:1X_train ,X_test ,y_train,y_test = train_test_split(X,y,test_size=0.2)算法训练和预测(验证)import numpy as npfrom sklearn.nei原创 2020-07-28 11:57:52 · 196 阅读 · 0 评论 -
机器学习第三回——logistic回归算法
一.算法概述原创 2020-07-26 17:37:30 · 136 阅读 · 0 评论 -
sklearn ——Classification——knn
我想先说说我初学scikit-learn 的感受吧。刚进入网站,全是英文。本来看汉语时一些专业的词汇都那么晦涩难懂,再全是英文,我就有了一种窒息的感觉,连基础的代码都看不懂,感觉自己什么都学不会,难受。后来使用谷歌浏览器翻译了一下网页,感觉好多了,又去B站上搜索视频教程,才重新燃起对自己的希望。k近邻算法(nearest neighbors classfication)k 定义了多少个邻居教会计算机根据邻居分类邻居:距离比较近距离公式:欧氏距离d=(x1−y1)2+(x2−y2)2+(x3−y3原创 2020-07-25 14:16:14 · 422 阅读 · 0 评论 -
机器学习第二回总结——多变量线性回归
一.多特征量情况下的假设形式对图片上的知识点进行剖析:x与θ都是向量,将x0设为1,便可以用θ的转置与x向量的内积来简单表示h(x)——>多元线性回归二.如何设定假设的参数【使用梯度下降法来处理多元线性回归】将θ和J(θ)都看作向量...原创 2020-07-23 21:30:18 · 376 阅读 · 0 评论 -
机器学习第二回——矩阵部分总结
感觉这一回的前半部分还很简单,属于矩阵的基本操作,所以进行一个简单的总结,可能随着学习的深入还会补充~一.矩阵和向量矩阵:通常用大写字母表示,(而数字的表示通常使用小写字母)在本课程中,下标都从1开始。向量:单列矩阵,通常是n*1阶,向量的行数也称为维数。二.矩阵加法(标量相加)对应序号位置的元素相加即可(做加法的两个矩阵的维数必须相同)三.矩阵的标量乘法(数乘)满足交换律,即矩阵的每一个元素分别与该数相乘四.矩阵乘法和我们之前学的一样啊,只不过我发现了一个更好的用法升级版可以用来计原创 2020-07-22 14:48:59 · 1844 阅读 · 0 评论 -
机器学习——第一回视频总结
一.监督学习(supervised learning)是一种回归问题,可以用函数进行拟合。eg:根据房子大小预测房价是一种分类问题,预测离散值的输出。eg:用肿瘤大小来预测良性肿瘤或者恶性肿瘤的概率有一个数据集m 样本数量;x:输入;y:输出;上标表示索引单变量线性回归模型MSE(均方差)二。无监督学习(Unsupervised learning)在一堆数据中找到某种数据结构,即聚类算法,eg:谷歌新闻,检测基因的表达程度...原创 2020-07-21 15:58:51 · 142 阅读 · 0 评论 -
机器学习初体验
在经过了24小时(稍微有点夸张,但真的很久)的安装与配置PyCharm,我终于开始了机器学习第一课~这个课程真的令我震撼!老师竟然用全英文授课!看来学习前沿技术的同时还能提高英语水平(忍不住笑起来๑乛◡乛๑)下面进入正题,前两个视频中,老师简单清晰地告诉我们:机器学习是什么,它是让计算机在数以万计的实验中对人的行为进行学习,进而超越人类本身,获得更强的技术能力;机器学习的使用维度:计算机、生物、医疗、自动化等方面。我们还会学习机器学习中的算法,来改善人类的生存条件与环境。机器学习作为最受欢迎的行业之一,原创 2020-07-09 00:24:20 · 192 阅读 · 1 评论