nlp——机器学习(1)

这两天是看吴恩达老师的机器学习,概念讲得是真的细致,然后跟着黑马的代码练。

稍微放上今天学习的点内容。

监督学习(Supervised Learning):有收集到的数据集以及里面包含了正确答案,算法的目的是为了给出更多的正确答案,
像回归(regression) 即我们的目标,分类(classification),离散输出。
根据所给数据集,算法预测得出”正确答案“
无监督学习(Unsupervised Learning):拥有一个数据集,但是没有其他提示语。如聚类算法(clustering),

(监督学习)
数据集(训练集)
m = 样本数量
x = 变量/特征
y = 输出变量/目标变量
(x,y):一个训练样本   上标i索引

线性回归模型(单变量线性回归):模型拟合,预测
分类:预测离散值输出

h:假设函数  x得到y得函数
h(x)

模型参数
代价函数(平方误差代价函数)
人工智能 --> 机器学习 --> 深度学习
机器学习是人工智能的一个实现途径
深度学习是机器学习的一个方法发展而来

机器学习:1.传统预测;2.图像识别;3.自然语言处理(nlp)
机器学习:从数据!中自动分析获得模型!,并利用模型对未知数据进行预测!

数据集的构成:特征值 + 目标值 
(对于每一行数据称之为样本;有些数据集可以没有目标值)

机器学习算法分类:1.目标值:类别,离散型 -->分类问题(人脸识别)
                              2.目标值:连续型数据  -->回归问题(预测天气)
				1.2是监督学习,有目标值的
	              3. 无监督学习(聚类)   无目标值

监督学习:k-近邻算法,贝叶斯分类,决策树与随机森林,逻辑回归,线性回归,岭回归
无监督学习:聚类k-means

机器学习的开发流程:1.获取数据;2.数据处理;3.特征工程;4.机器学习算法进行训练-->模型;
		 5.模型评估;6.应用。

学习框架:1.算法是核心,数据与计算是基础;2.找准定位。

数据集:训练集和测试集
可用数据集:sklearn,kaggle,UCI
API:接口

我使用的是pycharm,需要先安装好sklearn的包,在终端输入pip语句 
pip install scikit_learn-0.24.1-cp39-cp39-win_amd64.whl 
pip install numpy
pip install matplotlib
pip install scipy

分类(classification)回归(regression)聚类(clustering)

导包:from sklearn.datasets import (load_iris)
使用数据集:sklearn.datasets
示例:sklearn.datasets.load_iris()
    1.load_*():获取小规模的数据集
    2.fetch_*(data_home=None):获取大规模数据集,需要从网络上下载,参数为下载目录

数据集的返回值:继承自字典,根据索引dict['key] = values 或者 bunch.key = values

拿到的数据全部用来训练一个模型?(不行,要对数据集进行划分,用于训练(构建模型)和测试的(评估模型是否有效)
一般测试集:20%~30%

划分导包:from sklearn.model_selection import  train_test_split
sklearn.model_selection.train_test_split(array,*options)
x:数据集的特征值
y:数据集的标签值
test_size:测试集的大小,一般为float
random_state:随机数种子,不同的种子回造成不同的随机采样结果。相同的采样结果相同
return:训练集特征值(x_train),测试集的特征值(x_test),训练集的目标值(y_train),测试集目标值(y_teat)
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# data:特征数据数组,二维
# target:标签数组
# DESCR:数据描述
# feature_names:特征名
# target_names:标签名


def datasets_demo():
    # 获取数据集
    iris = load_iris()
    print('鸢尾花数据集:\n',iris)
    print('查看数据集描述\n',iris['DESCR'])
    print('查看特征值的名字\n',iris.feature_names)
    print('查看特征值\n',iris.data,iris.data.shape)

    # 数据集划分
    x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
    print('训练集的特征值\n',x_train,x_train.shape)

    return None


if __name__ == '__main__':
    datasets_demo()

你可能感兴趣的:(python,机器学习)