黑马程序员---三天快速入门Python机器学习(第一天)(下)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 黑马程序员---三天快速入门Python机器学习(第一天)

2.3 特征提取


2.3.1 什么是特征提取


1 将任意数据(如文本或图像)转换为可用于机器学习的数字特征


注:特征值是为了计算机更好的去理解数据


  • 字典特征提取(特征离散化)


  • 文本特征提取


  • 图像特征提取(深度学习再介绍)


2 特征提取API


sklearn.feature_extraction


2.3.2 字典特征提取


作用:对字典数据进行特征值化


sklearn.feature_extraction.DictVectorizer(sparse=True, …)


  • DictVectorizer.fit_transform(X), X:字典或者包含字典的迭代器返回值,返回sparse矩阵


  • DictVectorizer.inverse_transform(X), X:array数组或者sparse矩阵 返回值:转换之前数据格式


  • DictVectorizer.get_feature_names():返回类别名称


1 应用


对数据进行特征提取:将类别转换为one-hot编码,节省内存,提高下载效率


from sklearn.feature_extraction import DictVectorizer
def dict_demo():
    """
    字典特征抽取
    :return:
    """
    data = [{'city':'北京', 'temperature':100},
            {'city':'上海', 'temperature':60},
            {'city':'深圳', 'temperature':30}]
    # 1、实例化一个转换器类
    #transfer = DictVectorizer() # 返回sparse矩阵
    transfer = DictVectorizer(sparse=False)
    # 2、调用fit_transform()
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new)   # 转化后的
    print("特征名字:\n", transfer.get_feature_names())
    return None
if __name__ == "__main__":
    dict_demo()


data_new:
 [[  0.   1.   0. 100.]
 [  1.   0.   0.  60.]
 [  0.   0.   1.  30.]]
 特征名字:
 ['city=上海', 'city=北京', 'city=深圳', 'temperature']


2.3.3 文本特征提取


单词作为特征


作用:对文本数据进行特征值化


sklearn.feature_extraction.text.CountVectorizer(stop_words=[]):返回词频矩阵


  • CountVectorizer.fit_transform(X),X:文本或者包含文本字符串的可迭代对象,返回值:返回sparse矩阵


  • CountVectorizer.inverse_transform(X),X:array数组或者sparse矩阵,返回值:转换之前数据格


  • CountVectorizer.get_feature_names():返回值:单词列表


sklearn.feature_extraction.text.TfidVectorizer


1 应用


英文文本分词


from sklearn.feature_extraction.text import CountVectorizer
def count_demo():
    """
    文本特征抽取:CountVectorizer
    :return:
    """
    data = ['life is short,i like like python',
            'life is too long,i dislike python']
    # 1、实例化一个转换器类
    transfer = CountVectorizer()
    # 2、调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new.toarray())  # toarray转换为二维数组
    print("特征名字:\n", transfer.get_feature_names())
    return None
if __name__ == "__main__":
    count_demo()


data_new:
 [[0 1 1 2 0 1 1 0]
 [1 1 1 0 1 1 0 1]]
特征名字:
 ['dislike', 'is', 'life', 'like', 'long', 'python', 'short', 'too']


停用词:stop_words=[]


from sklearn.feature_extraction.text import CountVectorizer
def count_demo():
    """
    文本特征抽取:CountVectorizer
    :return:
    """
    data = ['life is short,i like like python',
            'life is too long,i dislike python']
    # 1、实例化一个转换器类
    transfer = CountVectorizer(stop_words=['is', 'too'])
    # 2、调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new.toarray())  # toarray转换为二维数组
    print("特征名字:\n", transfer.get_feature_names())
    return None
if __name__ == "__main__":
    count_demo()


data_new:
 [[0 1 2 0 1 1]
 [1 1 0 1 1 0]]
特征名字:
 ['dislike', 'life', 'like', 'long', 'python', 'short']


中文文本分词


注意:不支持单个中文词!


这个方法是计算特征词出现的个数的


from sklearn.feature_extraction.text import CountVectorizer
def count_demo():
    """
    文本特征抽取:CountVectorizer
    :return:
    """
    data = ['我 爱 北京 天安门',
            '天安门 上 太阳 升']
    # 1、实例化一个转换器类
    transfer = CountVectorizer()
    # 2、调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new.toarray())  # toarray转换为二维数组
    print("特征名字:\n", transfer.get_feature_names())
    return None
if __name__ == "__main__":
    count_demo()


data_new:
 [[1 1 0]
 [0 1 1]]
特征名字:
 ['北京', '天安门', '太阳']


例2


from sklearn.feature_extraction.text import CountVectorizer
import jieba
def count_chinese_demo2():
    """
    中文文本特征抽取,自动分词
    :return:
    """
    data = ['一种还是一种今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。',
            '我们看到的从很远星系来的光是在几百万年之前发出的,这样当我们看到宇宙时,我们是在看它的过去。',
            '如果只用一种方式了解某件事物,他就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系。']
    data_new = []
    for sent in data:
        data_new.append(cut_word(sent))
    print(data_new)
    # 1、实例化一个转换器类
    transfer = CountVectorizer()
    # 2、调用fit_transform
    data_final = transfer.fit_transform(data_new)
    print("data_final:\n", data_final.toarray())
    print("特征名字:\n", transfer.get_feature_names())
    return None
def cut_word(text):
    """
    进行中文分词:“我爱北京天安门” -> "我 爱  北京 天安门"
    :param text:
    :return:
    """
    return ' '.join(jieba.cut(text))
if __name__ == "__main__":
    count_chinese_demo2()
    #print(cut_word('我爱北京天安门'))


['一种 还是 一种 今天 很 残酷 , 明天 更 残酷 , 后天 很 美好 , 但 绝对 大部分 是 死 在 明天 晚上 , 所以 每个 人 不要 放弃 今天 。', '我们 看到 的 从 很 远 星系 来 的 光是在 几百万年 之前 发出 的 , 这样 当 我们 看到 宇宙 时 , 我们 是 在 看 它 的 过去 。', '如果 只用 一种 方式 了解 某件事 物 , 他 就 不会 真正 了解 它 。 了解 事物 真正 含义 的 秘密 取决于 如何 将 其 与 我们 所 了解 的 事物 相 联系 。']
data_final:
 [[2 0 1 0 0 0 2 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 2 0 1 0 2 1 0 0 0 1 1 0 0 1
  0]
 [0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 3 0 0 0 0 1 0 0 0 0 2 0 0 0 0 0 1 0
  1]
 [1 1 0 0 4 2 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 2 1 0 0 1 0 0
  0]]
特征名字:
 ['一种', '不会', '不要', '之前', '了解', '事物', '今天', '光是在', '几百万年', '发出', '取决于', '只用', '后天', '含义', '大部分', '如何', '如果', '宇宙', '我们', '所以', '放弃', '方式', '明天', '星系', '晚上', '某件事', '残酷', '每个', '看到', '真正', '秘密', '绝对', '美好', '联系', '过去', '还是', '这样']


关键词:在某一个类别的文章中,出现的次数很多,但是在其他类别的文章当中出现很少


5 Tf-idf文本特征提取


  • Tf-idf的主要思想是:如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分来


  • Tf-idf作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度


这种方法是计算特征词的重要程度的


TF-IDF:衡量重要程度


TF:词频


IDF:逆向文档频率,可以由总文件数目 / 包含该词语之文件的数目,再将得到的商取以10为底的对数得到


from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
import jieba
def cut_word(text):
    """
    进行中文分词:“我爱北京天安门” -> "我 爱  北京 天安门"
    :param text:
    :return:
    """
    return ' '.join(jieba.cut(text))
def tfidf_demo():
    """
    用TF-IDF的方法进行文本特征抽取
    :return:
    """
    data = ['一种还是一种今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。',
            '我们看到的从很远星系来的光是在几百万年之前发出的,这样当我们看到宇宙时,我们是在看它的过去。',
            '如果只用一种方式了解某件事物,他就不会真正了解它。了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系。']
    data_new = []
    for sent in data:
        data_new.append(cut_word(sent))
    print(data_new)
    # 1、实例化一个转换器类
    transfer = TfidfVectorizer()
    # 2、调用fit_transform
    data_final = transfer.fit_transform(data_new)
    print("data_final:\n", data_final.toarray())
    print("特征名字:\n", transfer.get_feature_names())
    return None
if __name__ == "__main__":
    tfidf_demo()
    #print(cut_word('我爱北京天安门'))


['一种 还是 一种 今天 很 残酷 , 明天 更 残酷 , 后天 很 美好 , 但 绝对 大部分 是 死 在 明天 晚上 , 所以 每个 人 不要 放弃 今天 。', '我们 看到 的 从 很 远 星系 来 的 光是在 几百万年 之前 发出 的 , 这样 当 我们 看到 宇宙 时 , 我们 是 在 看 它 的 过去 。', '如果 只用 一种 方式 了解 某件事 物 , 他 就 不会 真正 了解 它 。 了解 事物 真正 含义 的 秘密 取决于 如何 将 其 与 我们 所 了解 的 事物 相 联系 。']
data_final:
 [[0.30847454 0.         0.20280347 0.         0.         0.
  0.40560694 0.         0.         0.         0.         0.
  0.20280347 0.         0.20280347 0.         0.         0.
  0.         0.20280347 0.20280347 0.         0.40560694 0.
  0.20280347 0.         0.40560694 0.20280347 0.         0.
  0.         0.20280347 0.20280347 0.         0.         0.20280347
  0.        ]
 [0.         0.         0.         0.2410822  0.         0.
  0.         0.2410822  0.2410822  0.2410822  0.         0.
  0.         0.         0.         0.         0.         0.2410822
  0.55004769 0.         0.         0.         0.         0.2410822
  0.         0.         0.         0.         0.48216441 0.
  0.         0.         0.         0.         0.2410822  0.
  0.2410822 ]
 [0.12826533 0.16865349 0.         0.         0.67461397 0.33730698
  0.         0.         0.         0.         0.16865349 0.16865349
  0.         0.16865349 0.         0.16865349 0.16865349 0.
  0.12826533 0.         0.         0.16865349 0.         0.
  0.         0.16865349 0.         0.         0.         0.33730698
  0.16865349 0.         0.         0.16865349 0.         0.
  0.        ]]
特征名字:
 ['一种', '不会', '不要', '之前', '了解', '事物', '今天', '光是在', '几百万年', '发出', '取决于', '只用', '后天', '含义', '大部分', '如何', '如果', '宇宙', '我们', '所以', '放弃', '方式', '明天', '星系', '晚上', '某件事', '残酷', '每个', '看到', '真正', '秘密', '绝对', '美好', '联系', '过去', '还是', '这样']


2.4 特征预处理



2.4.1 什么是特征预处理


通过一些转换函数,将特征数据转换成更适合算法模型的特征数据的过程


数值数据的无量纲化


  • 归一化


  • 标准化


2 特征预处理API


sklearn.preprocessing


为什么要进行归一化/标准化?


特征的单位或者大小相差较大,或者某特征的方法相比其他的特征要大出几个数量级,容易影响(支配)目标结果使得一些算法无法学习到其它的特征



2.4.2 归一化


1 定义


通过对原始的数据进行变换把数据映射到(默认为[0,1]之间)


2 公式



3 API


sklearn.preprocessing.MinMaxScaler(feature_range=(0,1)…)


MinMaxScaler.fit_transform(X),X:numpy array格式的数据[n_samples,n_features],返回值:转换后的形式相同的array


4 数据计算


import pandas as pd
from sklearn.preprocessing import MinMaxScaler
def minmax_demo():
    """
    归一化
    :return:
    """
    # 1、获取数据
    data = pd.read_csv("datingTestSet2.txt", sep='\t')
    data = data.iloc[:, :3]
    print("data:\n", data)
    # 2、实例化一个转换器类
    transform = MinMaxScaler()
    #transform = MinMaxScaler(feature_range=[2,3])
    # 3、调用fit_transform
    data_new = transform.fit_transform(data)
    print("data_new:\n", data_new)
    return None
if __name__ == "__main__":
    minmax_demo()



问题:如果有异常值会有什么影响


异常值:最大值,最小值



5 归一化总结


注意最大值最小值是变化的,另外,最大值与最小值非常容易受到异常值影响,


所以这种方法鲁棒性较差,只适合传统精确小数据场景


2.4.3 标准化


1 定义


通过对原始数据进行变换把数据变换到均值为0,标准差为1的范围内


2 公式




  • 对于归一化来说:如果出现异常点,影响了最大值和最小值,name结果显然会发生改变


  • 对于标准化来说,如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响不大,从而方差改变较小


4 代码


sklearn.perprocessing.StandradScaler()


处理之后,对每列来说,所有数据都聚集在均值为0附近,标准差为1


StandardScaler.fit_transform(X),X;numpy array格式的数据

[n_samples,n_features],返回值:转化后的形状相同的array


from sklearn.preprocessing import MinMaxScaler, StandardScaler
def stand_demo():
    """
    标准化
    :return:
    """
    # 1、获取数据
    data = pd.read_csv("datingTestSet2.txt", sep='\t')
    data = data.iloc[:, :3]
    print("data:\n", data)
    # 2、实例化一个转换器类
    transform = StandardScaler()
    #transform = StandardScaler(feature_range=[2,3])
    # 3、调用fit_transform
    data_new = transform.fit_transform(data)
    print("data_new:\n", data_new)
    return None
if __name__ == "__main__":
    stand_demo()



5 标准化总结


在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景


2.5 特征降维


2.5.1 降维


降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程


2.5.2 降维的两种方式


  • 特征选择


  • 主成分分析(可以理解一种特征提取的方式)


2.5.3 什么是特征选择


1 定义


数据中包含冗余或相关变量(或称特征、属性、指标等),旨在从原有特征中找出主要特征



2 方法


Filter过滤式:主要探究特征本身特点、特征与特征和目标值之间关联


  • (1)方差选择法:低方差特征过滤


  • (2)相关系数:特征与特征之间的相关程度


Embedded嵌入式:算法自动选择特征(特征与目标值之间的关联)


  • (1)决策树:信息熵、信息增益


  • (2)正则化:L1,L2


  • (3)深度学习:卷积等


3 模块


sklearn.feature_selection


4 过滤式


4.1 低方差特征过滤


删除低方差的一些特征


  • 特征方差小:某个特征大多样本的值比较相近


  • 特征方差大:某个特征很多样本的值都有差别


4.1.1 API


sklearn.feature_selection.VArianceThreshold(threshold=0.0)


删除所有低方差特征


Variance.fit_transform(X)X:numpy array格式的数据


[m_sample,n_features],返回值:训练集差异低于threadshold的特征将被删除。默认值是保留非零方差特征,即删除所有样本中具有相同值的特征


4.1.2 数据计算


from sklearn.feature_selection import VarianceThreshold
def variance_demo():
    """
    低方差特征过滤
    :return:
    """
    # 1、获取数据
    data = pd.read_csv('factor_returns.csv')
    print('data:\n', data)
    data = data.iloc[:,1:-2]
    print('data:\n', data)
    # 2、实例化一个转换器类
    #transform = VarianceThreshold()
    transform = VarianceThreshold(threshold=10)
    # 3、调用fit_transform
    data_new = transform.fit_transform(data)
    print("data_new\n", data_new, data_new.shape)
    return None
if __name__ == "__main__":
    variance_demo()



4.2 相关系数


皮尔逊相关系数(Pearson Correlation Coefficient):反映变量之间相关关系密切程度的统计指标


公式:



计算过程




4.2.3 特点


相关系数的值介于-1与+1之间,即-1<=r<=+1。其性质如下:


  • 当r>0时,表示两变量正相关;r<0时,两变量为负相关


  • 当|r|=1时,表示两变量为完全相关;当r=0时,表示两变量间无相关关系


  • 当0<|r|<1时,表示两变量存在一定程度的相关。且|r|越接近1,两变量间线性关系越密切;|r|越接近0,表示两变量的线性相关越弱


  • 一般可按三级划分:|r|<0.4为低度相关;0.4<=|r|<0.7为显著相关;0.7<=|r|<1为高维线性相关


4.2.4 API


from scipy.stats import pearsonr


  • x:(N.)array_like


  • y:(N.)array_like Returns:(Perason’s correlation coefficient, p-value)


from sklearn.feature_selection import VarianceThreshold
from scipy.stats import pearsonr
def variance_demo():
    """
    低方差特征过滤
    :return:
    """
    # 1、获取数据
    data = pd.read_csv('factor_returns.csv')
    print('data:\n', data)
    data = data.iloc[:,1:-2]
    print('data:\n', data)
    # 2、实例化一个转换器类
    #transform = VarianceThreshold()
    transform = VarianceThreshold(threshold=10)
    # 3、调用fit_transform
    data_new = transform.fit_transform(data)
    print("data_new\n", data_new, data_new.shape)
    # 计算两个变量之间的相关系数
    r = pearsonr(data["pe_ratio"],data["pb_ratio"])
    print("相关系数:\n", r)
    return None
if __name__ == "__main__":
    variance_demo()


相关系数看前面那个



如果特征与特征相关性很高:


1)选取其中一个


2)加权求和


3)主成分分析


2.6 主成分分析


2.6.1 什么是主成分分析(PCA)


定义:高维数据转换为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量


作用:是数据维数的压缩,尽可能降低原数据的维数(复杂度),损失少量信息


应用:回归分析或者聚类分析中



1 计算案例理解


二维降到一维


2 代码


sklearn.decomposition.PCA(n_components=None)


  • 将数据分解为较低维度空间


  • n_components:


  • 小数:表示保留百分之多少的信息


  • 整数:减少到多少特征


PCA.fit_transform(X),X:numpy array格式的数据[N_samples, n_features],返回值:转换后指定维度的array


3 数据计算


from sklearn.decomposition import PCA
def pca_demo():
    """
    PCA降维
    :return:
    """
    data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]
    # 1、实例化一个转换器类
    transform = PCA(n_components=2)  # 4个特征降到2个特征
    # 2、调用fit_transform
    data_new = transform.fit_transform(data)
    print("data_new\n", data_new)
    transform2 = PCA(n_components=0.95)  # 保留95%的信息
    data_new2 = transform2.fit_transform(data)
    print("data_new2\n", data_new2)
    return None
if __name__ == "__main__":
    pca_demo()


data_new
 [[ 1.28620952e-15  3.82970843e+00]
 [ 5.74456265e+00 -1.91485422e+00]
 [-5.74456265e+00 -1.91485422e+00]]
data_new2
 [[ 1.28620952e-15  3.82970843e+00]
 [ 5.74456265e+00 -1.91485422e+00]
 [-5.74456265e+00 -1.91485422e+00]]


2.6.2 案例:探究用户对物品类别的喜好细分降维


数据:


1)order_prodects_prior.csv:订单与商品信息


  • 字段:order_id, product_id, add_to_cart_order, reordered


2)products.csv:商品信息


  • 字段:product_id, product_name, aisle_id, department_id


3)order.csv:用户的订单信息


  • 字段:order_id, user_id, eval_set, order_number, …


4)aisles.csv:商品所属具体物品类别


  • 字段:aisle_id, aisle


处理成这个样子



需求


1)需要将user_id和aisle放在同一个表中—合并


2)找到user_id和aisle----交叉表和透视表


# 1、获取数据
# 2、合并表
# 3、找到suer_id和aisle之间的关系
# 4、PAC降维
import pandas as pd
# 1、获取数据
order_products = pd.read_csv('./instacart/order_products__prior.csv') #32434489× 4 
products = pd.read_csv('./instacart/products.csv')  # (49688,4)
orders = pd.read_csv('./instacart/orders.csv')     #3421083 rows × 7 columns
aisles = pd.read_csv('./instacart/aisles.csv')  #(134,2)
# 2、合并表'
# 合并aisles和products
tab1 = pd.merge(aisles, products, on=["aisle_id", "aisle_id"]) #49688 × 5 c
tab2 = pd.merge(tab1, order_products, on=["product_id", "product_id"])#32434489 ,8 
tab3 = pd.merge(tab2, orders, on=["order_id", "order_id"])#32434489 ,14 
# tab3.head()
# 3、找到suer_id和aisle之间的关系
table = pd.crosstab(tab3["user_id"], tab3["aisle"]) #206209 rows × 134 columns
data = table[:10000] #10000 rows × 134 columns
# 4、PAC降维
from sklearn.decomposition import PCA
# 1)实例化一个转换器类
transfer = PCA(n_components=0.95)  # 保留95%的信息
# 2)调用fit_transform
data_new = transfer.fit_transform(data)  #(10000, 42),由134个特征降维到42个



2.7 机器学习第一天总结


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
97 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
44 0
|
1月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
54 0
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
Python在数据科学中的应用:从数据处理到模型训练
Python在数据科学中的应用:从数据处理到模型训练
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
448 0
|
7月前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】K-Means对文本聚类和半环形数据聚类实战(附源码和数据集)
【Python机器学习】K-Means对文本聚类和半环形数据聚类实战(附源码和数据集)
216 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧1
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
70 5
|
2月前
|
机器学习/深度学习 数据采集 分布式计算
【Python篇】深入机器学习核心:XGBoost 从入门到实战
【Python篇】深入机器学习核心:XGBoost 从入门到实战
215 3
|
2月前
|
机器学习/深度学习 算法 数据可视化
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧2
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
48 1