【学习笔记】利用chatGPT入门机器学习(附代码)

1. 线性回归的例子:从简单到复杂

2. 使用随机森林分类器对鸢尾花数据集进行分类

3. 使用支持向量机分类器对乳腺癌数据集进行分类

机器学习算法可以用很多方法分类,但一种常见的分类方法是根据算法是监督学习、无监督学习还是半监督学习。

监督学习算法在标记数据上训练,其中训练集中的每个例子都提供了正确的输出。监督学习的目标是通过在训练数据中找到模式来对新的、未见过的例子进行预测。监督学习的常见应用包括图像分类、语音识别和自然语言处理。

无监督学习算法没有给出任何标记训练示例。相反,它们用于通过将类似的例子分组来找到数据中的模式。聚类和降维是无监督学习的常见类型。

半监督学习算法介于监督学习和无监督学习之间。它们在标记和未标记的例子上进行训练,在标记所有数据费用或时间昂贵时可能很有用。

监督学习算法是在标记数据上训练的,其中训练集中的每个例子都提供了正确的输出。有许多不同类型的监督学习算法,包括:

  1. 线性回归:该算法用于预测连续值,例如给定房屋的特征(例如卧室数量、平方英尺数)的房屋价格。

  2. 逻辑回归:该算法用于预测二进制结果,例如客户是否会流失。

  3. 决策树:该算法用于基于一系列决策进行预测,每个决策都由树中的分支点表示。

  4. 支持向量机(SVM):该算法用于在高维空间中找到最大程度分离不同类别的超平面。

  5. 朴素贝叶斯:该算法基于贝叶斯定理,根据事件发生的可能性进行预测。

  6. 神经网络:这些算法受到大脑的结构和功能的启发,由多个“神经元”组成,这些神经元处理和传输信息。

无监督学习算法没有给出任何标记训练示例。常见的无监督学习算法包括:

  1. 聚类:该算法用于将数据分成若干组(称为簇),使得簇内的数据点相似性较大,而簇间的数据点相似性较小。

  2. 降维:该算法用于将数据映射到较低维度的空间中,以便更容易可视化或分析。常用的降维方法包括主成分分析(PCA)和线性判别分析(LDA)。

  3. 异常检测:该算法用于在数据中寻找异常值,例如网络流量中的攻击行为或医疗数据中的异常健康指标。

  4. 关联规则学习:该算法用于发现数据中的频繁项集并挖掘隐藏的关联规则,例如在购物篮数据中发现哪些商品常常一起购买。

尝试要求chatGPT给出一些入门机器学习的简单案例,结果如下。

1. 线性回归的例子:从简单到复杂

线性回归简单例子

from sklearn.linear_model import LinearRegression# training data
X = [[1, 2], [2, 4], [3, 6], [4, 8]]
y = [3, 5, 7, 9]# create and fit the model
model = LinearRegression()
model.fit(X, y)# make predictions
predictions = model.predict([[5, 10]])
print(predictions)  # output: [11.]

线性回归的例子:从简单到复杂

from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import numpy as np# training data
X = np.array([[1, 2], [2, 4], [3, 6], [4, 8]])
y = np.array([3, 5, 7, 9])# transform the data to include polynomial features
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)# create and fit the model
model = LinearRegression()
model.fit(X_poly, y)# make predictions
predictions = model.predict(poly.transform([[5, 10]]))
print(predictions)  # output: [13.5]

在第一个例子中,线性回归用于根据输入特征与目标之间的线性关系来预测连续值(目标)。模型在标记的示例数据集上训练,其中每个示例由一组输入特征和相应的正确输出(目标)组成。然后使用方程 y = wx + b 在新的例子上进行预测,其中 wb 是模型学习的系数。

在第二个例子中,线性回归用于拟合输入特征与目标之间的非线性关系。为此,输入特征被转换为包含次数最高为特定值的多项式特征(例如,x1^2x2^2x1*x2)。然后在这个转换后的数据上训练模型,并像第一个例子中一样使用它来对新的例子进行预测。

在这两个例子中,线性回归的目标是找到最适合训练数据的系数 wb,以便模型能够对新的例子进行准确预测。

2. 使用随机森林分类器对鸢尾花数据集进行分类

这是一个使用 scikit-learn 库的机器学习示例。它加载了鸢尾花数据集,该数据集用于分类任务。数据集包含 150 个鸢尾花的数据,每个数据有四个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度。每个数据都有一个标签:山鸢尾(0)、变色鸢尾(1)或维吉尼亚鸢尾(2)。

示例代码使用随机森林分类器训练模型。然后使用该模型对新的鸢尾花进行预测。

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris# Load the iris dataset as an example
iris = load_iris()
X = iris["data"]
Y = iris["target"]# Create a random forest classifier
clf = RandomForestClassifier()# Train the classifier on the iris data
clf.fit(X, Y)# Test the classifier on a new example
prediction = clf.predict([[5.1, 3.5, 1.4, 0.2]])# The prediction should be 0, corresponding to the setosa species
print(prediction)

关于使用的数据集的属性

from sklearn.datasets import load_irisiris = load_iris()
X = iris["data"]
Y = iris["target"]print(X.shape)  # (150, 4)
print(Y.shape)  # (150,)
print(iris["target_names"])  # ['setosa' 'versicolor' 'virginica']

下面这段代码导入了脚本所需的库和模块。RandomForestClassifier 类用于创建随机森林分类器模型。load_iris 函数用于加载鸢尾花数据集。train_test_split 函数用于将数据分成训练数据和测试数据。accuracy_score 函数用于计算模型预测的准确度。

load_iris 函数加载鸢尾花数据集并将其作为字典返回。字典的 data 键包含鸢尾花示例的特征(花萼长度、花萼宽度、花瓣长度和花瓣宽度)作为二维数组。字典的 target 键包含鸢尾花示例的标签(品种)作为一维数组。这些值分别存储在变量 XY 中。

train_test_split 函数用于将数据分成训练数据和测试数据。变量 XY 分别包含鸢尾花示例的特征和标签。test_size 参数指定用于测试集的数据比例(在这种情况下为 20%)。函数返回四个数组:X_trainY_train 包含训练集中示例的特征和标签,而 X_testY_test 包含测试集中示例的特征和标签。

这段代码使用 RandomForestClassifier 类创建了一个随机森林分类器对象。n_estimators 参数指定了分类器应使用的决策树数量。

简单来说,这个代码创建了一个使用 100 棵决策树的随机森林分类器。

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score# Load the iris dataset
iris = load_iris()
X = iris["data"]
Y = iris["target"]# Split the data into a training set and a test set
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2)# Create a random forest classifier
clf = RandomForestClassifier(n_estimators=100)# Train the classifier using the training data
clf.fit(X_train, Y_train)# Make predictions on the test data
Y_pred = clf.predict(X_test)# Calculate the accuracy of the predictions
accuracy = accuracy_score(Y_test, Y_pred)print(f"Test accuracy: {accuracy:.2f}")

这个例子使用了鸢尾花数据集,并使用随机森林分类器模型对其进行分类。它首先导入了所需的库和模块,然后加载了数据集并将其分别存储在 XY 中。然后,它使用 train_test_split 函数将数据拆分成训练数据和测试数据,并使用 RandomForestClassifier 类创建了一个随机森林分类器模型。最后,它使用训练数据训练模型,并使用测试数据测试模型。它计算并打印出模型的准确度,并在最后一行中对结果进行了断言。

3. 使用支持向量机分类器对乳腺癌数据集进行分类

下面这段代码使用支持向量机 (SVM) 分类器对乳腺癌数据集中的示例进行分类。它遵循与前一个例子类似的过程:加载数据,将其拆分为训练数据和测试数据,在训练数据上训练分类器,并在测试数据上计算模型的准确度。

首先,我们需要导入所需的库和数据集:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score# 加载乳腺癌数据集
data = pd.read_csv('breast_cancer.csv')# 将数据集分为特征和标签
X = data.drop('label', axis=1)
y = data['label']# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

接下来,我们可以使用SVC函数创建一个支持向量机分类器,并将其训练到训练集上:

# 创建支持向量机分类器
classifier = SVC(kernel='linear')# 训练分类器
classifier.fit(X_train, y_train)

最后,我们可以使用我们的模型对测试数据进行预测,并使用accuracy_score函数来评估模型的准确度:

# 在测试集上进行预测
y_pred = classifier.predict(X_test)# 计算准确度
accuracy = accuracy_score(y_test, y_pred)print('Accuracy:', accuracy)

这是一个简单的机器学习示例,但它演示了如何使用支持向量机分类器对数据进行训练和测试。如果你想了解更多关于支持向量机分类器的信息,可以继续搜索相关资料。

下面是将上述代码合并在一起的版本:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score# 加载乳腺癌数据集
data = pd.read_csv('breast_cancer.csv')# 将数据集分为特征和标签
X = data.drop('label', axis=1)
y = data['label']# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建支持向量机分类器
classifier = SVC(kernel='linear')# 训练分类器
classifier.fit(X_train, y_train)# 在测试集上进行预测
y_pred = classifier.predict(X_test)# 计算准确度
accuracy = accuracy_score(y_test, y_pred)print('Accuracy:', accuracy)

参考资料

https://chat.openai.com/chat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8164.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chatgpt提升工作效率的7种用法

Chatgpt在人工智能领域越来越受到重视。以前我们只能通过专业的工具来完成各种任务,但现在我们可以通过Chatgpt来解决一些日常任务,提高工作效率。下面是Chatgpt如何提升工作效率的7种用法。 ​ 1.写周报 写周报是很多打工人甚至研究深每周都要完成的任…

GPT-4 VS ChatGPT:训练、性能、能力和限制的探索

GPT-4是一种改进,但是应该适当降低期望 当OpenAI在2022年末推出ChatGPT时,震惊了全世界。这个新的生成式语言模型预计将彻底改变包括媒体、教育、法律和技术在内的整个行业。简而言之,ChatGPT听起来可以颠复一切。甚至在我们没有时间真正设想…

摆脱网络限制:用Vercel打造属于你的ChatGPT网站

摆脱网络限制:用Vercel打造属于你的ChatGPT网站 前言 上一篇分享了如何用自己的服务器搭建chatgpt服务器,但是需要你有一个服务器,还是有点成本的。今天我带来一个无需自备服务器的方式,让你也能搭建属于自己的chatgpt专属助手&a…

oa人员导入模板_巧用OA系统模板办公,让重复的事情简单做

是什么让我们的工作变得低效? 机械的重复绝对算得上一项。有时候,我们不得不花费大量的时间去进行信息的重复填写、格式的重复校对,却没有进行相应模板的总结,让简单的事情变得复杂。 那么,如何才能告别低效工作&#…

​如何高效开发一个OA办公系统​?

如何才能高效开发一个OA办公系统?这篇教你使用零代码工具从0-1搭建一个OA办公系统,无需代码基础,只要你懂业务,只需3步即可搭建! 先来看看效果—— 系统模板>> https://www.jiandaoyun.com/ 整个系统包含物资管…

通达OA工作流程-使用方法

第3章 工作流使用 3.1 新建工作 进入工作流新建工作,选择需要的流程即可新建。如果用户没有流程第一步的经办权限,那么用户在新建界面看不到这个流程;相应的,如果用户没有流程分类所有流程的经办权限,那么用户…

ChatGPT与OA平台:办公效率提升的最佳组合

OA平台,是企业办公自动化的一种重要形式。在这个信息化时代,OA平台已经成为企业必不可少的一部分,对企业的管理和生产效率起着重要的作用。而ChatGPT则是一种基于自然语言处理技术的人工智能模型,它能够自主学习并进行语言生成。那…

离谱!美国教授用ChatGPT「证实」论文抄袭,半个班学生惨遭挂科

【导读】天下苦GPT检测器久矣!用AI的怕被揪出来,没用AI的怕被冤枉。最近,又发生了一起被AI误判的冤假错案。 离了个大谱! 辛辛苦苦码出的毕业论文,居然被教授拿去放在ChatGPT里检测,然后就被判定为抄袭&a…

【ChatGPT】一个凭借两百多年历史的公式崛起的巨星

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言A…

原美团联合创始人欲打造中国版 OpenAI ;ChatGPT 爆红惊动谷歌退隐创始人布林;Gradle 8.0 发布|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

ChatGPT2论文解读《Language Models are Unsupervised Multitask Learners》(2019)

论文总结 以下是我阅读完整篇论文做的个人总结,包含了ChatGPT-2文章的主要内容,可以仅看【论文总结】章节。 数据集 自制了一个网页爬虫,被抓取的网页部分来自于社交平台,这些网页由人工进行过滤。最终生成WebText数据集&#…

ChatGPT风头正劲,Sam Altman透露发展新动态

引语:大家好我们是权知星球,开启你独特的知识星际之旅 目录 RazaHabib的完整记录 1.目前,OpenAI的发展受到GPU的严重限制。 2.OpenAI的发展路线图 3.「没有PMF」这个插件短时间内可能不会在API中出现。 4.除了与「类ChatGPT」竞争之外&…

警惕!ChatGPT爆火下的能耗危机,数据中心运营商挑战巨大

即使是数字产品也需要能源来开发和消耗,ChatGPT也不例外,据估计,机器学习工作中推理处理占算力消耗的80-90%,粗略计算,自ChatGPT于2022年11月30日上线以来,碳排放已超过814.61吨。 ——摘要 近期&#xff0…

云端需求助力跑赢周期,金山办公有望借助ChatGPT加速腾飞

与微软在办公领域“搏杀”了三十年的金山办公,或许正在迎来自己的“第二春”。 2月25日,金山办公(688111)发布2022年度业绩快报,全年营收38.85亿元人民币(单位下同),同比增加18.44%&…

「从零入门推荐系统」21:chatGPT、大模型介绍

作者 | gongyouliu 编辑 | gongyouliu 自2022年11月30日OpenAI发布chatGPT以来,大模型技术掀起了新一轮人工智能浪潮。chatGPT在各个领域(包括对话、摘要、内容生成、问题解答、识图、数学计算与推理、代码编写等)取得了比之前算法好得多的成…

ChatGPT、Claude和Bard,三足鼎立之势已成

由前OpenAI研究人员创立的人工智能公司Anthropic推出了其更新版的聊天机器人Claude 2,与 ChatGPT和Google Bard等竞争对手正面硬刚。 由于国内的大模型基于不在一个能量量级,AI界大模型三足鼎立之势已经形成,背后的技术都在是谷歌Transformer…

ChatGPT 关闭 Plus 付费;首批因 AI 失业的人出现,某游戏公司裁掉半数原画师;Slint 1.0 发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

Kyligence Zen 产品体验 — 迈入云办公

一、前言: 本人在一家净水器行业的公司做售后助理的岗位,平时80%的主要工作,就是跟excel报表打交道,以下为本人的岗位职责: 由于也是初创几年的公司,领导在下班时候,也会经常有统计报表的需求&…

基于低成本CNC和热转印技术的双面PCB制备流程详解

基于低成本CNC和热转印技术的双面PCB制备 材料准备基本概念机械加工基本概念数控机床(CNC)机床加工刀具及其种类 PCB制造基本概念热转印铺铜 软件安装嘉立创EDA软件下载PCB绘制时的注意事项 FlatCAM(用作将Gerber制版文转换成NC刀路文件&…

从0到1:如何使用AI工具提升工作效率?

目录 1.chatPPT 2.GitHub Copilot 3.AUto.GPT 4.newBing 5.Microsoft Designer 6.ChatDOC 7.Excel Formularizer 8.ChatMind. chatGPT国内镜像网站 1.chatPPT 链接地址 : ChatPPT_AI一键对话生成PPT_智能排版美化 (chat-ppt.com) ChatPT是必优科技旗下…