机器学习03

几种常见的距离公式

 鸢尾花案例

from sklearn.datasets import load_iris##导入鸢尾花的sk-learn内置数据包
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier

##加载数据集
iris_data = load_iris()
##数据展示
def shujuzhanshi():
    iris_df = pd.DataFrame(iris_data['data'],columns=iris_data.feature_names)
    print(iris_df)
    iris_df['target'] = iris_data.target
    print(iris_df)
    feature_names = list(iris_data['feature_names'])
    print(feature_names)
    for i in range(len(feature_names)):
        for j in range(i + 1,len(feature_names)):
            cc1 = feature_names[i]
            cc2 = feature_names[j]
            sns.lmplot(x=cc1,y=cc2,hue='target',data=iris_df,fit_reg=False)
            plt.xlabel(cc1)
            plt.ylabel(cc2)
            plt.title(f'{cc1}VS{cc2}')
    plt.show()
##数据基本处理,数据基本划分
x_train,x_text,y_train,y_text = train_test_split(iris_data.data,iris_data.target,test_size=0.3,random_state=32)
##特征化处理,数据标准化
mydata = StandardScaler()
x_train = mydata.fit_transform(x_train)
x_text = mydata.fit_transform(x_text)
##实例化
model = KNeighborsClassifier(n_neighbors=4)
##模型训练
model.fit(x_train,y_train)
##评估
score=model.score(x_train,y_train)
##预测
ce_data = [[5, 3, 1.5, 3.2],
           [6.3, 5, 3.5, 3]]
ce_data = mydata.fit_transform(ce_data)
predata = model.predict(ce_data)
print(f'predate-->\n{predata}')
shujuzhanshi()

步骤及理解

1.加载数据集

2.数据展示

3.特征处理

这里用的是标准化,在此之前先进行了数据集划分(测试集,训练集)

4.实例化

这里的4是超参数

model = KNeighborsClassifier(n_neighbors=4)

5.模型训练

model.fit(x_train,y_train)

6.模型评估

score=model.score(x_train,y_train)##这是第一种
##第二种
from sklearn.metrics import accuracy_score
y_pre = model.predict(x_test)
score = accuracy_score(y_test,y_pre)
##第二种的原理是:将测试集中的x_test放入模型中预测y值,与对应的y_test进行比较算出正确率



##结果
##    0.9523809523809523

7.预测

predate-->
[1 1] 

 特征处理之标准化和归一化

标准化

正态分布

归一化

将各个特征最小值min设为0,最大值max设为1,将[0,1]区间等分为max-min份,其中某个特征归一化后为x(gui) = (x-min)/(max-min)

代码

from sklearn.preprocessing import MinMaxScaler##数据归一化
from sklearn.preprocessing import StandardScaler##数据标准化
def shuju_guiyi():
    data = [[90, 2, 10, 40],
            [60, 4, 15, 45],
            [75, 3, 13, 46]]
    x = MinMaxScaler()
    data = x.fit_transform(data)
    print(data)
def shuju_biaozhunhua():
    data = [[90, 2, 10, 40],
            [60, 4, 15, 45],
            [75, 3, 13, 46]]
    x = StandardScaler()
    data = x.fit_transform(data)

  • 25
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A03机器学习流程是指在进行机器学习项目时所需要遵循的一系列步骤。下面是A03机器学习流程的主要步骤: 1. 数据收集与观察:首先,需要收集与问题相关的数据,并对数据进行观察,了解数据的特征、缺失值以及异常值等情况。 2. 数据预处理:对收集到的数据进行预处理,包括数据清洗、特征选择、特征变换等操作,目的是为了提高模型的性能和准确性。 3. 模型选择与训练:选择合适的机器学习模型,并对模型进行训练。常见的机器学习模型包括决策树、支持向量机、神经网络等。 4. 模型评估与调优:通过评估模型在测试集上的性能指标(如准确率、召回率等),来判断模型的优劣。如果模型性能不佳,需要对模型进行调优,常用的调优方法包括超参数调整、交叉验证等。 5. 模型部署与应用:将训练好的模型部署到实际应用中,并对新的数据进行预测和分类。 6. 模型监控与更新:对已部署的模型进行监控,定期更新模型参数,以保证模型的准确性和稳定性。 A03机器学习流程能够帮助我们在机器学习项目中有条不紊地进行工作,并且能够提高模型的性能和准确性。每个步骤都需要认真对待,对于数据的收集与预处理要尤为重视,因为数据的质量直接关系到模型的准确性。此外,在模型选择与训练中,根据具体问题的特点选择合适的模型也是十分重要的一步。最后,对模型进行评估、调优以及部署与更新也是不可忽视的步骤,它们能够提高模型的稳定性和持续性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值