IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习基础知识 -> 正文阅读

[人工智能]机器学习基础知识


基本数值分析

平均数

numpy.mean()

中位数

numpy.median()

众数

from scipy import stats
stats.mode()

标准差

numpy.std()

方差

numpy.var()

百分位数

什么是 75 百分位数?答案是 43,这意味着 75% 的人是 43 岁或以下。

numpy.percentile()
# input:变量,百分值
# 小于百分值的那个数

数据分布

生成随机浮点数组

numpy.random.uniform()

绘制直方图

plt.hist(x,5)  #绘制5个直方,代表0-1,1-2,2-3,3-4,4-5
plt.show()#展示

正态分布

numpy.random.normal() #生成正态分布数据

散点图

绘制散点图需要两个长度相同的数组,一个用于x,一个用于y

plt.scatter(x,y)

线性回归

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZEIE5L9-1627991353398)(D:\A大学\python\pics\3.png)]

线性回归是使用所有数据点的关系在所有数据点直接画一条直线,可以用来预测未来的值。

x9 = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y1 = [99,86,87,88,111,86,103,87,94,78,77,85,86]
slope,intercept,r,p,std_err=stats.linregress(x9,y1)
def func(X):
    return slope*X+intercept
mymodel=list(map(func,x9))
plt.plot(x9,mymodel)

r平方

衡量x轴与y轴的关系的值,如果没有关系就不能用来预测

x9 = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y1 = [99,86,87,88,111,86,103,87,94,78,77,85,86]
slope,intercept,r,p,std_err=stats.linregress(x9,y1)
print(r)

多项式回归

如果数据点不适合线性回归(穿过点的直线),那么多项式回归可能是最理想的选项。

#建立多项式模型
mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wttIT6YJ-1627991353400)(D:\A大学\python\pics\4.png)]

r平方

from sklearn.metrics import r2_score
r2_score(y,mymodel(x))

多元回归

基于两个或多个变量来预测一个值

import pandas
df=pandas.read_csv("D:/A大学/python/data/cars.csv")

y=df['CO2']
x=df[['Weight','Volume']]
from sklearn import linear_model
reger=linear_model.LinearRegression()
reger.fit(x,y)
predictCO2=reger.predict([[2300,1300]])
print(predictCO2)

系数

系数是描述与未知变量关系的因子。

import pandas
df=pandas.read_csv("D:/A大学/python/data/cars.csv")

y=df['CO2']
x=df[['Weight','Volume']]
from sklearn import linear_model
reger=linear_model.LinearRegression()
reger.fit(x,y)
predictCO2=reger.predict([[2300,1300]])
print(predictCO2)
print(reger.coef_)
  • output

[0.00755095 0.00780526]

这些值告诉我们,如果重量增加 1g,则 CO2 排放量将增加 0.00755095g。

如果发动机尺寸(容积)增加 1 ccm,则 CO2 排放量将增加 0.00780526g。

例子

import numpy
from scipy import stats
import matplotlib.pyplot as plt
speed=[99,86,87,111,86,103,87,94,78,77,85,86]
x1=numpy.mean(speed)  #平均数
x2=numpy.median(speed) #中位数
x3=stats.mode(speed) #众数
x4=numpy.std(speed)  #标准差
x5=numpy.var(speed)   #方差
x6=numpy.percentile(speed,80)  #百分位数

#直方图
x7=numpy.random.uniform(0.0,5.0,250)   #生成随机浮点数组
plt.hist(x7,5)
plt.show()

#正态数据分布
x8=numpy.random.normal(5.0,1.0,1000)
plt.hist(x8,100)
plt.show()

#散点图
x = numpy.random.normal(5.0, 1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000) #长度相同
plt.scatter(x,y)
plt.show()

# 线性回归
x9 = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y1 = [99,86,87,88,111,86,103,87,94,78,77,85,86]
slope,intercept,r,p,std_err=stats.linregress(x9,y1)
print(r)
def func(X):
    return slope*X+intercept
mymodel=list(map(func,x9))
plt.plot(x9,mymodel)
plt.scatter(x9, y1)
plt.show()

# 多项式回归
from sklearn.metrics import r2_score
x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]
mymodel=numpy.poly1d(numpy.polyfit(x,y,3))
print(r2_score(y, mymodel(x)))
myline = numpy.linspace(1, 22, 100)
plt.plot(myline,mymodel(myline))
plt.scatter(x, y)
# plt.show()

# 多元回归
import pandas
df=pandas.read_csv("D:/A大学/python/data/cars.csv")

y=df['CO2']
x=df[['Weight','Volume']]
from sklearn import linear_model
reger=linear_model.LinearRegression()
reger.fit(x,y)
predictCO2=reger.predict([[2300,1300]])
print(predictCO2)
print(reger.coef_)

print(x1)
print(x2)
print(x3)
print(x4)
print(x5)
print(x6)
print(x7)
print(x8)

特征缩放

当你的数据拥有不同的度量单位,这样很难进行比较,所以我们要进行特征缩放

缩放数据有多种方法,在本教程中,我们将使用一种称为标准化(standardization)的方法。

标准化方法使用以下公式:

z = ( x ? u ) / s z = (x - u) / s z=(x?u)/s

其中 z 是新值,x 是原始值,u 是平均值,s 是标准差。

Python sklearn 模块有一个名为 StandardScaler(),该方法返回带有数据集转换方法的scaler对象。

from sklearn.preprocessing import StandardScalerscale=StandardScaler()ScaleX=scale.fit_transform(x)
#特征缩放import pandasdf=pandas.read_csv("D:/A大学/python/data/cars.csv")y=df['CO2']x=df[['Weight','Volume']]from sklearn import linear_modelfrom sklearn.preprocessing import StandardScalerscale=StandardScaler()ScaleX=scale.fit_transform(x)regr=linear_model.LinearRegression()regr.fit(ScaleX,y)scaled=scale.transform([[2300,1.3]])predictedCO2=regr.predict([scaled[0]])print(predictedCO2)

测试/训练

# 测试/训练from scipy import statsimport matplotlib.pyplot as pltfrom sklearn.metrics import r2_scoreimport pandasfrom sklearn import linear_modelfrom sklearn.preprocessing import StandardScalerimport numpyimport matplotlib.pyplot as pltnumpy.random.seed(2)x = numpy.random.normal(3, 1, 100)y = numpy.random.normal(150, 40, 100) / xtrain_x = x[:80]train_y = y[:80]test_x = x[80:]test_y = y[80:]mymodel = numpy.poly1d(numpy.polyfit(train_x, train_y, 4))r2 = r2_score(test_y, mymodel(test_x))print(r2)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:12:44  更:2021-08-04 11:15:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:29:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码