机器学习——1.Sklearn:特征工程

2023-11-12

目录

scikit-learn数据集API介绍

sklearn小数据集

sklearn大数据集

sklearn数据集的使用

数据集的划分

特征工程

特征抽取/特征提取

特征提取API

字典特征提取

文本特征提取

中文文本特征值抽取

停用词

中文文本特征值抽取分词处理

文本特征抽取TfidfVevtorizer

特征预处理

归一化

标准化

特征降维

降维

特征选择

过滤式

主成分分析(PCA)

what?

API

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

步骤


scikit-learn数据集API介绍

sklearn.datasets用来加载获取流行数据集

  • datasets.load_*() :获取小规模数据集,数据包含在datasets中
  • datasets.fetch_*(data_home=None):获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/

sklearn小数据集

以鸢尾花为例

sklearn.datasets.load_iris():加载并返回鸢尾花数据集

名称 数量
类别 3
特征 4
样本数量 150
每个类别数量 50

sklearn大数据集

sklearn.datasets.fetch_20newsgroups(data_home=None,subset='train')

  • subset:'train'或者'test','all',可选,选择要加载的数据集。
  • 训练集的“训练”,测试集的“测试”,两者的“全部”

sklearn数据集的使用

sklearn数据集返回值介绍

load和fetch返回的数据类型datasets.base.Bunch(这个是字典格式的)

  • data:特征数据数组,是二维数组
  • target:标签数组,是目标值
  • DESCR:数据描述
  • feature_names:特征的名字
  • target_names:目标值的名字

可以用两种方式获取值

  1. dict["key"] = values
  2. bunch.key = values

数据集的划分

训练数据:用于训练,构建模型

测试数据:在模型检验时使用,用于评估模型是否有效

测试集:20%~30%

sklearn.model_selection.train_test_split(arrays, *options)

  • x数据集的特征值
  • y数据集的标签值
  • test_size测试集的大小,一般为float
  • random_state随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
  • return训练集特征值(x_train),测试集特征值(x_test),训练集目标值(y_train),测试集目标值(y_test)
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def  datasets_demo():
    # 获取数据集
    iris = load_iris()
    print(iris)
    print("特征数据\n", iris["data"])
    print("目标值\n", iris.target)
    print("数据描述\n", iris["DESCR"])
    print("特征的名字\n", iris.feature_names)
    print("目标值名字\n", iris.target_names)

    # 数据集的划分
    x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
    # shape是看有多少行多少列
    print("训练集的特征值:\n", x_train, x_train.shape)

if __name__ == "__main__":
    datasets_demo()

特征工程

对特征进行处理

sklearn特征工程

pandas数据清洗、数据处理

特征抽取/特征提取

有些数据不能被直接处理,所以要用一种方式将它转换

将任意数据(如文本或图像)转换为可用于机器学习的数字特征(特征值化是为了计算机更好的去理解数据)

  • 字典特征提取(特征离散化)
  • 文本特征提取
  • 图像特征提取(深度学习)

特征提取API

sklearn.feature_extraction

字典特征提取

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

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

  • DictVectorizer.fit_transform(X) X:字典或者包含字典的迭代器返回值:返回sparse矩阵(系稀疏矩阵)
  • DictVectorizer.inverse_transform(X) X:array数组或者sparse矩阵 返回值:转换之前的数据格式
  • DictVectorizer.get_feature_names() 返回类别名称

vector 数学:向量 物理:矢量

  • 矩阵 matrix 二维数组
  • 向量 vector 一维数组

父类:转换器类

from sklearn.feature_extraction import DictVectorizer
def  dict_demo():
    data = [{'city': '北京', 'temperature': 100}, {'city': '上海', 'temperature': 60}, {'city': '深圳', 'temperature': 30}]
    # 1.实例化一个转换器类
    transfer = DictVectorizer()
    # 2.调用fit_transform()
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new)
    print("特征值名称:\n", transfer.get_feature_names())
    
if __name__ == "__main__":
    dict_demo()

ba496cbff48444679d6429cb4dede8b9.png

返回结果是一个稀疏(sparse)矩阵

  • 将非零值按位置表示出来
  • 节省内存,提高加载效率

将改为:transfer = DictVectorizer(sparse=False)返回二维数组效果为

58118d100bb84e7ea4397bdbbc810a1d.png

 第一张结果图表示的是第二张结果图的非零值的位置

应用场景

  • 数据集中类别特征比较多
  1. 将数据集的特征-->字典类型
  2. DictVectorizer转换
  • 本身拿到的数据就是字典类型

文本特征提取

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

以单词作为特征

sklearn.feature_extraction.text.CountVectorizer(stop_words=[]) 返回的是词频矩阵,统计每个样本特征值出现次数

  • CountVectorizer.fit_transform(X) X:文本或者包含文本字符串的可迭代对象,返回值:返回sparse矩阵
  • CountVectorizer.inverse_transform(X) X:array数组或者sparse矩阵,返回值:转换之前数据格
  • CountVectorizer.get_feature_names() 返回值:单词列表
from sklearn.feature_extraction.text import CountVectorizer
def  count_demo():
    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)
    print("特征值名称:\n", transfer.get_feature_names_out())

if __name__ == "__main__":
    count_demo()

b2a7387db8924572bda71543fcd79818.png

将结果转为二维数组

from sklearn.feature_extraction.text import CountVectorizer
def  count_demo():
    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)
    # CountVectorizer()不可以设置sparse矩阵
    # toarray()方法可以将sparse矩阵转成二维数组
    print("data_new:\n", data_new.toarray())
    print("特征值名称:\n", transfer.get_feature_names_out())

if __name__ == "__main__":
    count_demo()

2e012a677ab3478190e4040f510cc827.png

中文文本特征值抽取

from sklearn.feature_extraction.text import CountVectorizer
def  count_chinese_demo():
    data = ["我爱吃火锅", "我爱喝奶茶"]
    # 1.实例化一个转换器类
    transfer = CountVectorizer()
    # 2.调用fit_transform()
    data_new = transfer.fit_transform(data)
    # CountVectorizer()不可以设置sparse矩阵
    # toarray()方法可以将sparse矩阵转成二维数组
    print("data_new:\n", data_new.toarray())
    print("特征值名称:\n", transfer.get_feature_names_out())

if __name__ == "__main__":
    count_chinese_demo()

920d7daab92146d2908d712793f2a79b.png

中文自动把短句子当成了特征值,不能区分单词,要手动分割

data = ["我 爱 吃火锅", "我 爱 喝奶茶"]

1361451f243e44f5976e5cf0d072d4b3.png

停用词

stop_words停用的

可以手动写,也可以去找停用词表

from sklearn.feature_extraction.text import CountVectorizer
def  count_demo():
    data = ["life is short,i 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)
    # CountVectorizer()不可以设置sparse矩阵
    # toarray()方法可以将sparse矩阵转成二维数组
    print("data_new:\n", data_new.toarray())
    print("特征值名称:\n", transfer.get_feature_names_out())

if __name__ == "__main__":
    count_demo()

中文文本特征值抽取分词处理

用jieba进行分词

需要安装jieba库

pip install jieba

步骤

  • 利用jieba.cut进行分词
  • 实例化CountVectorizer
  • 将分词结果变成字符串当做fit_transform的输入值
from sklearn.feature_extraction.text import CountVectorizer
import jieba
def  count_demo():
    data = ["我超喜欢吃火锅,每天都去吃火锅", "我很讨厌吃芒果,我每天都不吃"]
    data_new = []
    for sent in data:
        data_new.append(cut_word(sent))
    # 1.实例化一个转换器类
    transfer = CountVectorizer()
    # 2.调用fit_transform()
    data_final = transfer.fit_transform(data_new)
    # CountVectorizer()不可以设置sparse矩阵
    # toarray()方法可以将sparse矩阵转成二维数组
    print("data_new:\n", data_final.toarray())
    print("特征值名称:\n", transfer.get_feature_names_out())

def cut_word(text):
    return " ".join(list(jieba.cut(text)))

if __name__ == "__main__":
    count_demo()

aac2b5502935442cb7384ddd7b64138a.png

文本特征抽取TfidfVevtorizer

计算词的重要程度

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

Tf-idf文本特征提取用来衡量一个词的主要程度

  • tf:词频
  • idf:逆向文档频率

idf计算公式:总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到

tf-idf计算公式:gif.latex?tf%5Ctimes%20idf

例如:有1000篇文章,有100篇文章出现了“非常”,文章A(100词):出现10次“非常”

tf:10/100 = 0.1

idf:100%7D%3D%201

tf-idf:0.1

API

sklearn.feature_extraction.text.TfidfVectorizer(stop_words=None,...)

返回词的权重矩阵

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

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

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

from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
import jieba
def  count_demo():
    data = ["我超喜欢吃火锅,每天都去吃火锅", "我很讨厌吃芒果,我每天都不吃"]
    data_new = []
    for sent in data:
        data_new.append(cut_word(sent))
    # 1.实例化一个转换器类
    transfer = TfidfVectorizer()
    # 2.调用fit_transform()
    data_final = transfer.fit_transform(data_new)
    # CountVectorizer()不可以设置sparse矩阵
    # toarray()方法可以将sparse矩阵转成二维数组
    print("data_new:\n", data_final.toarray())
    print("特征值名称:\n", transfer.get_feature_names_out())

def cut_word(text):
    return " ".join(list(jieba.cut(text)))

if __name__ == "__main__":
    count_demo()

特征预处理

sklearn.preprocessing

为什么进行归一化/标椎化

要将不同规格的数据转换到同一规格(因为可能会出现一些数据过大一些数据过小)

无量纲化

归一化

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

稳定性较差,只适用于传统精确小数据场景

公式

gif.latex?%7BX%7D%27%3D%20%5Cfrac%7Bx-min%7D%7Bmax-min%7D

gif.latex?%7BX%7D%27%27%3D%20%7BX%7D%27*%5Cleft%20%28%20mx-mi%20%5Cright%20%29+mi

作用于每一列,max为一列的最大值,min为一列的最小值,gif.latex?%7BX%7D%27%27为最终结果,mx,mi分别为指定区间值默认mx为1,mi为0

API

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

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

from sklearn.preprocessing import MinMaxScaler
import pandas as pd

def  minmax_demo():
    # 1.获取数据
    data = pd.read_csv("dating.txt")
    data = data.iloc[:, :3]
    print("data:\n", data)
    # 2.实例化一个转换器类
    transfer = MinMaxScaler()
    # 也可以自己去设定归一化范围
    # transfer = MinMaxScaler(feature_range=[2,3])
    # 3.调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new)

if __name__ == "__main__":
    minmax_demo()

609980203ac7418ab1509e9a67628512.png

标准化

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

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

公式

gif.latex?%7BX%7D%27%3D%20%5Cfrac%7Bx-mean%7D%7B%5Csigma%20%7D

作用于每一列,mean为平均值,σ为标准差

9123b4e142a94eec82aadc9d67f47835.png

API

sklearn.preprocessing.StandardScaler()

  • 处理之后,对于每列来说,所有数据都聚集在均值为0的附近,标准差为1
  • StandardScaler.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]
  • 返回值:转换后的形状相同的array
from sklearn.preprocessing import StandardScaler
import pandas as pd

def  minmax_demo():
    # 1.获取数据
    data = pd.read_csv("dating.txt")
    data = data.iloc[:, :3]
    print("data:\n", data)
    # 2.实例化一个转换器类
    transfer = StandardScaler()
    # 也可以自己去设定归一化范围
    # transfer = MinMaxScaler(feature_range=[2,3])
    # 3.调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new)

if __name__ == "__main__":
    minmax_demo()

d45702d34c3a4faf8bbf741dcbfb4a28.png


特征降维

降维

希望得到的特征是不相关的

维数:嵌套的层数

  • 0维:标量
  • 1维:向量
  • 2维:矩阵
  • n维

处理的对象是二维数组

  • 此处的降维:降低特征的个数
  • 效果:特征与特征之间不相关

方法

  • 特征选择
  • 主成分分析

特征选择

方法

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

  • 方差选择法:低方差特征过滤
  • 相关系数:特征与特征之间的相关程度

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

  • 决策树
  • 正则化
  • 深度学习

过滤式

低方差特征过滤

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

API

sklearn.feature_selection.VarianceThreshold(threshold = 0.0)

  • 删除所有低方差特征
  • Variance.fit_transform(X) X:nump array格式的数据[n_samples,n_features],返回值:训练集差异低于threshold的特征将被删除。默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征。
from sklearn.feature_selection import VarianceThreshold
import pandas as pd

def  minmax_demo():
    # 1.获取数据
    data = pd.read_csv("factor_returns.csv")
    print("data:\n", data)
    data = data.iloc[:, 1:-2]
    print("data:\n", data)
    # 2.实例化一个转换器类
    transfer = VarianceThreshold(threshold=10)
    # 3.调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new, data_new.shape)

if __name__ == "__main__":
    minmax_demo()

d1ec20258c5e4cf5bfd1d6a34814ee01.png相关系数 

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

公式

gif.latex?r%3D%5Cfrac%7Bn%5Csum%20xy-%5Csum%20x%5Csum%20y%7D%7B%5Csqrt%7Bn%5Csum%20x%5E%7B2%7D-%5Cleft%20%28%20%5Csum%20x%20%5Cright%20%29%5E%7B2%7D%7D%5Csqrt%7Bn%5Csum%20y%5E%7B2%7D-%5Cleft%20%28%20%5Csum%20y%20%5Cright%20%29%5E%7B2%7D%7D%7D

e1b844f0f91e4fc9a9d90439eceda6a2.png

特点

56775d4cc9114fe8b375af3d3fc8b8f7.png

API

from scipy.stats import pearsonr

x:(N,)array_like

y:(N,)array_like Returns:(Pearson’s correlation coefficient,p-value) 

from sklearn.feature_selection import VarianceThreshold
import pandas as pd
from scipy.stats import pearsonr

def  minmax_demo():
    # 1.获取数据
    data = pd.read_csv("factor_returns.csv")
    data = data.iloc[:, 1:-2]
    print("data:\n", data)
    # 2.实例化一个转换器类
    transfer = VarianceThreshold(threshold=10)
    # 3.调用fit_transform
    data_new = transfer.fit_transform(data)
    print("data_new:\n", data_new, data_new.shape)
    # 计算某两个变量之间的相关系数
    r = pearsonr(data["pe_ratio"], data["pb_ratio"])
    print("相关系数:\n", r)

if __name__ == "__main__":
    minmax_demo()

565bd517001d4597b7c1a6142a2edcd1.png


主成分分析(PCA)

what?

  • 定义:高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量
  • 作用:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息
  • 应用:回归分析或者聚类分析

9d9ebc71ef6b44f09f4f089eb86c922b.png

19d7f6e9ec584497b778a5d86347cf85.png

97a3951c792741d28386b6f7f2a4a40e.png

API

sklearn.decomposition.PCA(n_components=None)

  • 将数据分解为较低维数空间
  • n_components:小数:表示保留百分之多少的信息,整数:减少到多少特征(降到几维)
  • PCA.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]
  • 返回值:转换后指定维度的array
from sklearn.decomposition import PCA

def  pca_demo():
    data = [[2,0,3,9], [3,2,6,5], [7,5,1,8]]
    # 1.实例化一个转换器类
    # 意思是将4维降到2维
    transfer = PCA(n_components=2)
    # 2.调用fit_transform
    data_new = transfer.fit_transform(data)
    print("new_data:\n", data_new)

if __name__ == "__main__":
    pca_demo()

92eea38f151c4fb6a4ca959118ebeae2.png


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

a353a625106b4226b95a90d0d336a14a.png

步骤

  1. 需要将user_id和aisle放在同一张表中---合并
  2. 找到user_id和aisle---交叉表和透视表
  3. 特征冗余过多---PCA降维
from sklearn.decomposition import PCA
import pandas as pd

def  pca_demo():
    # 1.读取文件
    order_products = pd.read_csv("order_products__prior.csv")
    products = pd.read_csv("products.csv")
    orders = pd.read_csv("orders.csv")
    aisles = pd.read_csv("aisles.csv")

    # 2.合并表
    tb1 = pd.merge(order_products, products, on=["product_id", "product_id"])
    tb2 = pd.merge(tb1, orders, on=["order_id", "order_id"])
    tb3 = pd.merge(tb2, aisles, on=["aisle_id","aisle_id"])

    # 3.找到user_id和aisle之间的关系,用到交叉表
    table = pd.crosstab(tb3["user_id"], tab3["aisle"])
    data = table[:1000]

    # 4.PCA消除冗余
    transfer = PCA(n_components=0.95)
    data_new = transfer.fit_transform(data)
    print("new_data:\n",data_new)

if __name__ == "__main__":
    pca_demo()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习——1.Sklearn:特征工程 的相关文章

  • (discord.py) 尝试更改成员角色时,“用户”对象没有属性“角色”

    因此 我正在尝试编写一个机器人 让某人在命令中指定的主持人指定的一段时间内暂停角色 我知道该变量称为 小时 即使它目前以秒为单位 我稍后会解决这个问题 基本上 它是由主持人在消息 暂停 personmention numberofhours
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 人脸识别技术成熟加速终端设备技术扩展

    脸支付的应用 已经对我们的生活带来了很多便利 除了金融 现在商超等场景 也大多添加了刷脸支付设备 无需拿出手机 不用担心手机没电 刷脸即可支付 人脸识别技术的成熟 也加速了在终端设备的技术扩展速度 现在的刷脸设备 除了基本的支付功能 还融合
  • xxx.jar中没有主清单属性解决办法

    在springboot中的pom xml文件中引入
  • MyEclipse下配置WebLogic10(转)

    MyEclipse下配置WebLogic10 转 安装 WebLogic 比较容易 在这里就不再累述了 大家可以参阅相关文档 现在着重讲一下 WebLogic 的配置 因为后面在配置 MyEclipse 时将用到这里的配置信息 运行开始 g
  • 【Bug记录】Fail to create pixmap with Tk_GetPixmap in TkImgPhotoInstanceSetSize

    Bug记录 项目场景 问题描述 解决方案 项目场景 绘图代码出现Fail to create pixmap with Tk GetPixmap in TkImgPhotoInstanceSetSize 问题描述 在测试网络时出现此Bug 可
  • 机器数的原码、反码、补码、移码表示以及浮点数的二进制表示

    初学计算机组成原理时 有点儿搞不清楚机器数的各种表示方法 今天在这里总结一下 希望对大家有帮助 首先明确两个概念 机器数是指将 和 数字化的数 其中用 0 表示 1 表示 而对应的有 和 的数则称为真值 机器数的表示方法 1 原码表示法 符
  • debug模式下,一个30的for循环直接从i=1跳到你想要的数字(i=10)

    废话不多说 直接上图 1 先创建一个for循环 debug模式运行 在for循环中间打断点 我们可以看出刚运行的时候i 0 2 点击 debug 下一步 或者F6 直到他显示这个variables 这时 我们可以对i进行任意的修改你想要的数
  • 【Python】 14-CVS文件操作

    1 CVS文件 值没有类型 所有东西都是字符串 没有字体大小或颜色的设置 没有多个工作表 不能指定单元格的宽度和高度 不能合并单元格 不能嵌入图像或图表 CSV 文件中的每个单元格 有逗号分割 也许你可以只是对每行文本调用 split 方法
  • Google Pixel 3玩机教程

    说到谷歌的亲儿子Pixel系列 你一定就会想到安卓原生系统 现在我将会教你如何使用pixel去root并且破解电信 第一步 解锁手机 1 打开手机的开发者选项 选择OEM解锁 打开它 再把USB调试打开 2 在电脑上的google deve
  • GPIO的开漏和推挽

    GPIO的开漏和推挽 简单来说推挽输出可以自由输出高低电平 开漏输出只能在关闭时配合上拉提高高电平 打开时漏掉电流形成低电平 操作单片机点亮一个LED的时候我们需要操作GPIO输出一个高电平来点亮一个LED 当我们打开用户手册时会发现GPI
  • OR-Tool 报INFEASIBLE

    OR Tool 使用Minimum Cost Flows报 There was an issue with the min cost flow input Status Status INFEASIBLE 这是因为node的编号需要是连续的
  • 肺炎疫情攻防战--肺炎X光病灶识别 Pytorch baseline

    肺炎疫情攻防战 肺炎X光病灶识别 Pytorch baseline 刚从Keras转Pytorch没多久 一边看着文档一边Google完成这比赛的baseline 比赛地址 比赛简介 本次由2019 nCoV病毒引发的肺炎疫情仍在持续 AI
  • 使用Hugging Face管道轻松应用NLP预训练模型

    这一段时间在研究自然语言处理 一直想找一些预训练模型 发现这个非常全 就收藏好好研究 作者 Robin van Merle 编译 VK 来源 Towards Data Science 原文链接 https towardsdatascienc
  • VMware中NET模式无法获取IP地址

    0x00 打开我的kali尝试运行脚本时 发现无论是桥接还是NET都无法获取到IP地址 经过各种百度以及尝试 最终解决 因此在此写下文章来记录一下 如果你也遇到相同问题 希望可以帮助到你 0x01 先看一下在NET下无法获取到地址的情况 此
  • react-create-app 基于 react-app-rewired scss设置全局变量全局函数

    目录 重写react脚手架配置 使用 scss 引用全局 scss 文件中的变量和函数应用全局 测试 重写react脚手架配置 customize cra 合并配置 react app rewired 重写react脚手架配置 安装依赖 n
  • 镜头桶形失真校正算法

    短焦镜头通常会产生桶形失真 以下是校正算法的matlab代码 cpp view plain copy 镜头桶形失真校正 短焦镜头 img origin1 imread Still001 bmp img origin rgb2gray img
  • day01fs模块

    一 文件操作 一 文件删除 1 异步 fs unlink path callback fs unlink hello txt err gt console lo err 回调函数参数err返回错误信息或者null 2 同步 fs unlin
  • 计算机enter代表什么意思,enter是什么意思

    手机评站网今天精心准备的是 enter是什么意思 下面是详解 电脑上键盘上enter是什么意思 在电脑键盘上带有 Enter 字样并有一弯箭头的按键 被叫做 回车键 其形状如下图所示 其位置在引号键的右边 另一个位置在数字键盘的右下角 在文
  • vue结合Waterfall做图片瀑布流展示

    一 安装Waterfall npm install vue waterfall plugin s 二 在组件中引入并使用
  • winform 程序的配置文件——App.config

    winform 程序的配置文件 App config Posted on 2005 09 26 17 11 sashow 阅读 668 评论 3 编辑 收藏 引用 网摘 所属分类 c 编程 在做 web 项目的时候 我一直在用 web co
  • 机器学习——1.Sklearn:特征工程

    目录 scikit learn数据集API介绍 sklearn小数据集 sklearn大数据集 sklearn数据集的使用 数据集的划分 特征工程 特征抽取 特征提取 特征提取API 字典特征提取 文本特征提取 中文文本特征值抽取 停用词