保定网站建设求职简历,网页设计制作网站代码,电子商务网站开发的意义,通用网站建设需求分析目录
用Python分析二手车的销售价格
用Python构建GUI应用的铅笔草图
需要的包
实现步骤
完整代码 用Python分析二手车的销售价格
如今#xff0c;随着技术的进步#xff0c;像机器学习等技术正在许多组织中得到大规模的应用。这些模型通常与一组预定义的数据点一起工作…目录
用Python分析二手车的销售价格
用Python构建GUI应用的铅笔草图
需要的包
实现步骤
完整代码 用Python分析二手车的销售价格
如今随着技术的进步像机器学习等技术正在许多组织中得到大规模的应用。这些模型通常与一组预定义的数据点一起工作以数据集的形式提供。这些数据集包含了一个特定领域的过去/以前的信息。在将这些数据点送入模型之前组织这些数据点是非常重要的。这就是我们使用数据分析的地方。如果反馈给机器学习模型的数据没有得到很好的组织它就会给出错误的或不想要的输出。这可能会给组织带来重大损失。因此利用适当的数据分析是非常重要的。 关于数据集:
在这个例子中我们要使用的数据是关于汽车的。特别是包含关于二手车的各种信息数据点如价格、颜色等。在这里我们需要明白仅仅收集数据是不够的。原始数据是没有用的。在这里数据分析在解开我们所需要的信息和获得对这些原始数据的新见解方面起着重要作用。
考虑一下这个场景我们的朋友奥蒂斯想卖掉他的车。但他不知道他的车应该卖多少钱!他想使利润最大化但他也希望它能以合理的价格卖给想拥有它的人。所以在这里我们作为一个数据科学家我们可以帮助我们的朋友奥蒂斯。
让我们像数据科学家一样思考明确定义他的一些问题。例如是否有关于其他汽车的价格及其特点的数据汽车的哪些特征会影响其价格颜色品牌马力是否也会影响售价或许还有其他方面
作为一个数据分析师或数据科学家这些是我们可以开始思考的一些问题。为了回答这些问题我们将需要一些数据。但这些数据是以原始形式存在的。因此我们需要先对其进行分析。这些数据以.csv/.data的格式提供给我们 要下载本例中使用的文件请点击这里。提供的文件是.data格式的。按照下面的过程将.data文件转换为.csv文件。
将.数据文件转换为.csv的过程
1.打开MS Excel 2.转到数据 3.选择来自文本 4.在逗号上打勾只。 5.以.csv格式保存到你的电脑上你想要的位置!
需要的模块:
pandasPandas是一个开源的库允许你在Python中进行数据操作。Pandas提供了一种简单的方法来创建、操作和处理数据。numpyNumpy是用Python进行科学计算的基本软件包。Numpy可以作为一个高效的通用数据的多维容器。matplotlibMatplotlib是一个Python二维绘图库它可以生成各种格式的出版质量的数字。seabornSeaborn是一个基于matplotlib的Python数据可视化库。Seaborn提供了一个高级接口用于绘制有吸引力的、信息丰富的统计图形。scipyScipy是一个基于Python的数学、科学和工程开源软件的生态系统。
安装这些软件包的步骤
如果你使用Anaconda-jupyter/ Syder或其他任何第三方软件来编写你的Python代码请确保在你的电脑的命令提示符中设置该软件的 “scripts文件夹 “路径。然后输入 – pip install package-name示例:
pip install numpy
然后在安装完成后。(确保你已经连接到互联网打开你的IDE然后导入这些包。要导入键入 – 导入软件包名称示例:
import numpy
以下代码中使用的步骤简短描述
导入软件包设置数据文件的路径.csv文件。查找我们的文件中是否有任何空数据或NaN数据。如果有则将其删除对你的数据进行各种数据清洗和数据可视化操作。这些步骤在每行代码旁边以注释的形式说明以便更好地理解因为最好能看到代码的侧面而不是在这里完全解释这将是毫无意义的。取得成果!
让我们开始分析数据。 第1步导入所需的模块。
# importing section
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy as sp
第二步让我们检查一下数据集的前五个条目。
# using the Csv file
df pd.read_csv(output.csv) # Checking the first 5 entries of dataset
df.head()
输出: 第3步为我们的数据集定义头文件。
headers [symboling, normalized-losses, make, fuel-type, aspiration,num-of-doors,body-style,drive-wheels, engine-location,wheel-base,length, width,height, curb-weight,engine-type,num-of-cylinders, engine-size, fuel-system,bore,stroke, compression-ratio,horsepower, peak-rpm,city-mpg,highway-mpg,price]df.columnsheaders
df.head()
输出: 第4步找到缺失的值如果有。
data df# Finding the missing values
data.isna().any()# Finding if missing values
data.isnull().any()
输出: 第4步将mpg转换为L/100km并检查每一列的数据类型。
# converting mpg to L / 100km
data[city-mpg] 235 / df[city-mpg]
data.rename(columns {city_mpg: city-L / 100km}, inplace True)print(data.columns)# checking the data type of each column
data.dtypes
输出: 第5步这里价格是对象类型字符串它应该是int或float所以我们需要改变它。
data.price.unique()# Here it contains ?, so we Drop it
data data[data.price ! ?]# checking it again
data.dtypes
输出: 第6步通过使用简单的特征缩放方法示例为其余部分做的和分组–对价值进行归一化处理。
data[length] data[length]/data[length].max()
data[width] data[width]/data[width].max()
data[height] data[height]/data[height].max()# binning- grouping values
bins np.linspace(min(data[price]), max(data[price]), 4)
group_names [Low, Medium, High]
data[price-binned] pd.cut(data[price], bins, labels group_names, include_lowest True)print(data[price-binned])
plt.hist(data[price-binned])
plt.show()
输出: 第7步对数据分类到数值做描述性分析。
# categorical to numerical variables
pd.get_dummies(data[fuel-type]).head()# descriptive analysis
# NaN are skipped
data.describe()
输出: 第8步按照基于发动机尺寸的价格绘制数据。
# examples of box plot
plt.boxplot(data[price])# by using seaborn
sns.boxplot(x drive-wheels, y price, data data)# Predicting price based on engine size
# Known on x and predictable on y
plt.scatter(data[engine-size], data[price])
plt.title(Scatterplot of Enginesize vs Price)
plt.xlabel(Engine size)
plt.ylabel(Price)
plt.grid()
plt.show()
输出: 第9步根据车轮、车身样式和价格对数据进行分组。
# Grouping Data
test data[[drive-wheels, body-style, price]]
data_grp test.groupby([drive-wheels, body-style], as_index False).mean()data_grp
输出: 步骤10使用透视法并根据透视法得到的数据绘制热图。
# pivot method
data_pivot data_grp.pivot(index drive-wheels,columns body-style)
data_pivot# heatmap for visualizing data
plt.pcolor(data_pivot, cmap RdBu)
plt.colorbar()
plt.show()
输出: 第11步获得最终结果并以图表的形式显示出来。由于斜率是沿正方向增加的所以是正的线性关系。
# Analysis of Variance- ANOVA
# returns f-test and p-value
# f-test variance between sample group means divided by
# variation within sample group
# p-value confidence degree
data_annova data[[make, price]]
grouped_annova data_annova.groupby([make])
annova_results_l sp.stats.f_oneway(grouped_annova.get_group(honda)[price],grouped_annova.get_group(subaru)[price])
print(annova_results_l)# strong corealtion between a categorical variable
# if annova test gives large f-test and small p-value# Correlation- measures dependency, not causation
sns.regplot(x engine-size, y price, data data)
plt.ylim(0, )
输出: 用Python构建GUI应用的铅笔草图
许多学科的艺术家都使用素描和绘画来保存想法、回忆和思想。从绘画和雕塑到参观艺术博物馆体验艺术提供了各种健康优势包括减少压力和提高批判性思维能力。特别是绘画、素描和油画与提高创造力、记忆力和减轻压力有关并被用于艺术治疗中。
通过这篇文章我们现在可以建立一个网络应用使用python框架Streamlit直接将图像转换成草图。用户可以上传一张图片将其转换为水彩素描或铅笔素描。用户可以进一步下载转换后的图片在此之前让我们了解一些我们将在本文中使用的定义。
Streamlit – Streamlit是Python开发者中流行的开源网络应用框架。它与一系列常用的库具有互操作性和兼容性包括Keras、Sklearn、Numpy和pandas。PIL – PIL是Python成像库的缩写。它是一个用Python编程语言进行图像处理的软件包。它包括轻量级的图像处理工具帮助进行图片编辑、创建和存储。Numpy – Numpy是一个广泛使用的Python编程库用于高级数学计算。cv2 – 这个库被用来解决计算机视觉问题
需要的包
pip install streamlit
pip install opencv-python
pip install numpy
pip install Pillow
实现步骤
第1步安装Streamlit 同样地我们将安装PIL、Numpy和cv2。 第二步测试安装是否成功。
streamlit hello 第3步现在运行streamlit网络应用程序。我们需要键入以下命令
streamlit run app.py 第四步现在网络应用已经成功启动。你可以通过本地URL或网络URL访问该网络应用。 第5步创建一个新的文件夹命名为 – 网络应用程序将图像转换成草图。 第6步将网络应用程序的代码粘贴在文件’app.py‘中并保存该文件。
最初在代码中我们导入了所有需要的框架、包、库和模块我们将利用它们来构建网络应用。此外我们必须使用用户定义的函数用于将图像转换成水彩素描和将图像转换成铅笔素描。还有一个函数是利用PIL库加载图像的。主函数中有网络应用的代码。最初我们有一些标题和副标题来引导用户上传图片。为了上传图片我们利用了streamlit的文件上传器。我们还提供了一个下拉菜单让用户选择制作水彩素描/制作铅笔素描然后根据他们的选择我们渲染结果。原始图像和应用滤镜后的图像都是并排呈现的这样用户就可以比较这两张图像的结果。最后用户还可以将图像下载到他们的本地机器上。这可以通过利用Streamlit的下载按钮来完成。
完整代码
# import the frameworks, packages and libraries
import streamlit as st
from PIL import Image
from io import BytesIO
import numpy as np
import cv2 # computer vision# function to convert an image to a
# water color sketch
def convertto_watercolorsketch(inp_img):img_1 cv2.edgePreservingFilter(inp_img, flags2, sigma_s50, sigma_r0.8)img_water_color cv2.stylization(img_1, sigma_s100, sigma_r0.5)return(img_water_color)# function to convert an image to a pencil sketch
def pencilsketch(inp_img):img_pencil_sketch, pencil_color_sketch cv2.pencilSketch(inp_img, sigma_s50, sigma_r0.07, shade_factor0.0825)return(img_pencil_sketch)# function to load an image
def load_an_image(image):img Image.open(image)return img# the main function which has the code for
# the web application
def main():# basic heading and titlesst.title(WEB APPLICATION TO CONVERT IMAGE TO SKETCH)st.write(This is an application developed for converting\your ***image*** to a ***Water Color Sketch*** OR ***Pencil Sketch***)st.subheader(Please Upload your image)# image file uploaderimage_file st.file_uploader(Upload Images, type[png, jpg, jpeg])# if the image is uploaded then execute these # lines of codeif image_file is not None:# select box (drop down to choose between water # color / pencil sketch)option st.selectbox(How would you like to convert the image,(Convert to water color sketch,Convert to pencil sketch))if option Convert to water color sketch:image Image.open(image_file)final_sketch convertto_watercolorsketch(np.array(image))im_pil Image.fromarray(final_sketch)# two columns to display the original image and the# image after applying water color sketching effectcol1, col2 st.columns(2)with col1:st.header(Original Image)st.image(load_an_image(image_file), width250)with col2:st.header(Water Color Sketch)st.image(im_pil, width250)buf BytesIO()img im_pilimg.save(buf, formatJPEG)byte_im buf.getvalue()st.download_button(labelDownload image,databyte_im,file_namewatercolorsketch.png,mimeimage/png)if option Convert to pencil sketch:image Image.open(image_file)final_sketch pencilsketch(np.array(image))im_pil Image.fromarray(final_sketch)# two columns to display the original image# and the image after applying# pencil sketching effectcol1, col2 st.columns(2)with col1:st.header(Original Image)st.image(load_an_image(image_file), width250)with col2:st.header(Pencil Sketch)st.image(im_pil, width250)buf BytesIO()img im_pilimg.save(buf, formatJPEG)byte_im buf.getvalue()st.download_button(labelDownload image,databyte_im,file_namewatercolorsketch.png,mimeimage/png)if __name__ __main__:main()
输出: