当前位置: 首页 > news >正文

网站左侧广告代码wordpress 标题入库

网站左侧广告代码,wordpress 标题入库,wordpress媒体库相册,中国商业数据网推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 简单的数据处理脚本 我认为一个好的起点是某种数据处理脚本。由于我打算让 ChatGPT 之后使用各种 Python 库编写一些机器学习脚本,这似乎是一个合理的起点。 目标 首先,我想尝试…
推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景

简单的数据处理脚本


我认为一个好的起点是某种数据处理脚本。由于我打算让 ChatGPT 之后使用各种 Python 库编写一些机器学习脚本,这似乎是一个合理的起点。

目标


首先,我想尝试加载数据集;确保所有数据集值都是数值,或将其转换为数值;检查缺失值;并将数据集拆分为训练集和测试集。

提示


编写一个 Python 脚本来执行以下操作:
- 将数据集从磁盘上的 csv 加载到 Pandas 数据帧- 确保数据集完全是数字;将字符串值转换为数字,并在字典中跟踪此转换以供以后
引用 - 检查数据帧中的缺失值,并为具有一个缺失值的任何记录插补缺失值;完全删除具有多个缺失值
的记录 - 将数据集拆分为测试和训练集

回应

import pandas as pd# Load dataset from csv to DataFrame
df = pd.read_csv('dataset.csv')# Initialize dictionary to track string to numeric conversions
conversions = {}# Convert string values to numeric and track conversions in dictionary
for col in df.columns:if df[col].dtype == object:conversions[col] = {val: i for i, val in enumerate(df[col].unique())}df[col] = df[col].map(conversions[col])# Check for missing values
missing_values = df.isna().sum()# Impute missing values for records with one missing value
for col in missing_values[missing_values == 1].index:df[col].fillna(df[col].median(), inplace=True)# Drop records with more than one missing value
df.dropna(thresh=len(df.columns) - 1, inplace=True)# Split dataset into test and training sets
from sklearn.model_selection import train_test_split
train_df, test_df = train_test_split(df, test_size=0.2)

注意:脚本从csv文件名“dataset.csv”加载数据集,并将数据帧拆分为80/20比率的测试和训练集。如果要使用不同的文件名或比率,请相应地更改路径/比率。

分析之情


ChatGPT生成了一个有用的脚本。它决定了数据集名称以及训练/测试拆分百分比,并记录了这两个点以及如何根据需要更改它们。总的来说,任务完成了。

重构我们的代码

目标


现在我们有一个可以执行某些操作的脚本,让我们稍微重构一下。良好编码的基石是使用函数来逻辑地组织代码,促进重用,并确保您不会重复自己。

提示


重写上面的脚本以使用一系列有意义的函数

回应

import pandas as pd
from sklearn.model_selection import train_test_splitdef load_and_convert_data(file_path):# Load dataset from csv to DataFramedf = pd.read_csv(file_path)# Initialize dictionary to track string to numeric conversionsconversions = {}# Convert string values to numeric and track conversions in dictionaryfor col in df.columns:if df[col].dtype == object:conversions[col] = {val: i for i, val in enumerate(df[col].unique())}df[col] = df[col].map(conversions[col])return df, conversionsdef handle_missing_values(df):# Check for missing valuesmissing_values = df.isna().sum()# Impute missing values for records with one missing valuefor col in missing_values[missing_values == 1].index:df[col].fillna(df[col].median(), inplace=True)# Drop records with more than one missing valuedf.dropna(thresh=len(df.columns) - 1, inplace=True)return dfdef split_data(df, test_size):return train_test_split(df, test_size=test_size)# Use the functions
file_path = "dataset.csv"
df, conversions = load_and_convert_data(file_path)
df = handle_missing_values(df)
train_df, test_df = split_data(df, 0.2)

在这里,我使用了三个函数:

1. load_and_convert_data(file_path) 加载 CSV 数据集并将字符串值转换为数字。
2. handle_missing_values(df) 处理数据集中的缺失值。
3. split_data(df,test_size)将数据集拆分为测试和训练集。

主脚本使用这些函数来加载、转换和清理数据集,然后将其拆分为测试和训练集。

数据集的路径和测试比率是这些函数的输入。

分析之情


如果你看一下 ChatGPT 输出的第一个脚本,你可能会看到一些相当明显的线条,你会画出哪些功能将被分成函数。我当然做到了。在这方面,ChatGPT 完全按照我的预期做了。同样,已经生成了一个称职的脚本。

扩展我们的代码

目标


好的,我们的脚本现在看起来好一点,因为它使用了一些函数进行组织。接下来,让我们稍微扩展脚本,以便用户可以在运行脚本时指定一些参数。

提示


重写上述程序,以参数的形式从命令行请求以下内容,并在程序中使用它们:
- 数据集 CSV 文件的
路径/名称 - 训练/测试拆分大小
- 每条记录要丢弃的缺失值数的阈值,之后删除整个记录,而不是插补缺失值

回应

import pandas as pd
import argparse
from sklearn.model_selection import train_test_splitdef load_and_convert_data(file_path):# Load dataset from csv to DataFramedf = pd.read_csv(file_path)# Initialize dictionary to track string to numeric conversionsconversions = {}# Convert string values to numeric and track conversions in dictionaryfor col in df.columns:if df[col].dtype == object:conversions[col] = {val: i for i, val in enumerate(df[col].unique())}df[col] = df[col].map(conversions[col])return df, conversionsdef handle_missing_values(df, threshold):# Check for missing valuesmissing_values = df.isna().sum()# Impute missing values for records with one missing valuefor col in missing_values[missing_values == 1].index:df[col].fillna(df[col].median(), inplace=True)# Drop records with more than threshold missing valuedf.dropna(thresh=len(df.columns) - threshold, inplace=True)return dfdef split_data(df, test_size):return train_test_split(df, test_size=test_size)if __name__ == '__main__':parser = argparse.ArgumentParser()parser.add_argument("file_path", help="path/name of the dataset csv file")parser.add_argument("test_size", help="train/test split size", type=float)parser.add_argument("threshold", help="threshold for the number of missing values per record", type=int)args = parser.parse_args()# Use the functionsdf, conversions = load_and_convert_data(args.file_path)df = handle_missing_values(df, args.threshold)train_df, test_df = split_data(df, args.test_size)

在此版本中,我使用 argparse 模块将文件路径、测试/训练拆分大小和每条记录缺失值数的阈值的输入作为命令行参数。用户必须使用正确的参数运行脚本,例如:


python script.py dataset.csv 0.2 1

这将使用“dataset.csv”文件运行脚本,test_size为 0.2,缺失值的阈值为 1。

主脚本在函数中使用这些参数来加载、转换和清理数据集,然后将其拆分为测试和训练集。

还值得一提的是,运行脚本时,应从命令行运行脚本,而不是从 IDE 运行脚本。

分析之情


老实说,这里不需要太多分析,因为 ChatGPT 解释了它做得很好的地方。我实际上会在这里注意到一些我以前没有的东西,并拍拍 ChatGPT 的后背,因为它的评论富有表现力和简洁。

将我们的代码转换为流光应用程序

目标


现在,假设我们想使这段代码“生产”准备就绪(幽默我)。让我们让 ChatGPT 将这些功能包装在 Streamlit 应用程序中。

提示


将上述程序重写为 Streamlit 应用程序,允许用户提供与上述命令行参数相同的参数

回应

import pandas as pd
import streamlit as st
from sklearn.model_selection import train_test_splitdef load_and_convert_data(file_path):# Load dataset from csv to DataFramedf = pd.read_csv(file_path)# Initialize dictionary to track string to numeric conversionsconversions = {}# Convert string values to numeric and track conversions in dictionaryfor col in df.columns:if df[col].dtype == object:conversions[col] = {val: i for i, val in enumerate(df[col].unique())}df[col] = df[col].map(conversions[col])return df, conversionsdef handle_missing_values(df, threshold):# Check for missing valuesmissing_values = df.isna().sum()# Impute missing values for records with one missing valuefor col in missing_values[missing_values == 1].index:df[col].fillna(df[col].median(), inplace=True)# Drop records with more than threshold missing valuedf.dropna(thresh=len(df.columns) - threshold, inplace=True)return dfdef split_data(df, test_size):return train_test_split(df, test_size=test_size)def main():st.set_page_config(page_title="Data Preprocessing", page_icon=":guardsman:", layout="wide")st.title("Data Preprocessing")file_path = st.text_input("Enter the path/name of the dataset csv file: ")test_size = st.number_input("Enter the train/test split size (decimal between 0 and 1): ", step=0.01, value=0.2)threshold = st.number_input("Enter the threshold for the number of missing values per record: ", step=1, value=1)if st.button("Process Data"):df, conversions = load_and_convert_data(file_path)df = handle_missing_values(df, threshold)train_df, test_df = split_data(df, test_size)st.success("Data preprocessing completed!")if __name__ == '__main__':main()

此版本是一个 Streamlit 应用,允许用户提供与命令行参数相同的参数。它使用 Streamlit 库创建一个交互式 Web 应用,允许用户输入文件路径、测试/训练拆分大小和每条记录缺失值数的阈值。然后,用户可以单击“处理数据”按钮来运行脚本并预处理数据。它使用与以前版本的脚本相同的函数来加载、转换和清理数据集,然后将其拆分为测试和训练集。

要运行脚本,您需要安装 Streamlit,您可以在终端中运行命令 pip install streamlit。安装后,使用命令运行脚本。streamlit run script.py

分析之情


它做了它应该做的事情。ChatGPT采取了我们的功能...函数,并用它们构建了一个简单的 Streamlit 网络应用程序。

使用 ChatGPT 生成的脚本创建的 Streamlit Web 应用程序的屏幕截图


使用 ChatGPT 生成的脚本创建的 Streamlit Web 应用程序

总结


ChatGPT 在创建、重构、扩展和添加一个简单的数据预处理 Python 脚本的包装器方面做得非常称职,我们希望它根据我们提供的规范为我们编写。虽然它不是最复杂的程序,但它是朝着让 ChatGPT 作为编程助手真正有用的方向迈出的一步。结果在每一步都达到了目标。

下一次,我们将构建一个不太简单的程序,增加一些复杂性和额外的要求。我很高兴看到ChatGPT在压力下的表现如何。希望你也是。

原文链接:ChatGPT 作为 Python 编程助手 (mvrlink.com)

http://www.yayakq.cn/news/380660/

相关文章:

  • 做好网站建设wordpress html 静态化
  • 广西水利电力建设集团网站手机网站建设宣传好
  • 佛山网站搭建个人网站logo图片
  • 鲸影视官方网站下载如何在自己的电脑上做网站
  • me域名网站菏泽做网站推广
  • 网站架构设计师待遇怎么样 最新版地址在线
  • ddns做网站建筑设计公司有哪些部门
  • 运城市住房和城乡建设部网站品牌推广网站设计
  • 昆山市建设局招投标网站网页设计基础课程教学目标
  • 沣东新城开发建设集团有限公司网站浙江网站建设广告语
  • 晋州建设规划局网站佛山短视频拍摄
  • 云上的网站怎么做等保米拓网站建设步骤
  • 网站常用文件夹设计图室内效果图
  • 摄影师个人网站怎么做广州网站建设出售
  • 微网站建设微网站建设西安网站建设交易
  • 网站找谁做中国外包加工网
  • 电子商务网站首页专业做网站公司济南
  • 网站提交网址dede模板网站如何搭建
  • 中山市建网站公司黄骅港船舶动态计划表
  • 建设申请网站做网站的语
  • 如何学好网站建设用DW 做响应式网站
  • 南昌哪里有网站建设快三免费直播app
  • 怎么查看网站是否做静态化处理知名网站制作公司有哪些
  • 优惠券网站怎么做的网站开发投标书
  • 济源网站建设的公司海口财务
  • 杭州网站推广方式点石关键词排名优化软件
  • 巩义网站建设价格商城用什么系统做网站
  • 成都网站建设那家好六安商务网站建设电话
  • 商城购物网站建设wordpress透明插件
  • 汉阳网站建设wordpress移动端可视化