导入包
import pandas as pd
import matplotlib as plt
from pandas import DataFrame
from sklearn.preprocessing import OneHotEncoder
from sklearn.preprocessing import LabelEncoder #用于Label编码
from sklearn.preprocessing import OneHotEncoder #用于one-hot编码
from sklearn.preprocessing import StandardScaler #用于标准化处理
from sklearn import preprocessing
import numpy as np
import csv
导入数据表
data = pd.read_excel('user_info.xlsx')
查看前五条数据
data.head()
将Gender 列表 男、女生进行 转换为数值型
data_class={"男":1,"女":0}
data['Gender'] =data['Gender'].map(data_class) #将列转换为数值型
查看前五条数据
data.head()
将Gender 转化为one-hot 编码
le = LabelEncoder()
data['Gender'] = le.fit_transform(data['Gender']) #转化为one-hot编码
查看前五条数据
data.head()
检查缺失值
#检查缺失值
data.isnull().sum()
均值补充缺失值
#均值补充缺失值
data["Occupation"] = data['Occupation'].replace(np.NaN,data['Occupation'].mean())
data["Occupation"][:10] #查看前十行
标准化处理
data =data.iloc[:,:8]
transfer = StandardScaler
data_new = transfer().fit_transform(data)
查看
data_new
查看
data.head()
将修改好的文件 保存到 purchase.csv 里面
data.to_csv('purchase.csv',index=False,header=None) #将数据存进表中,最左侧,不导出列头
模型建立 线性回归、决策树回归
import pandas as pd
# 读取数据
df = pd.read_excel('Data.xlsx')
#查看数据
df.head()
df.describe()
#第一种方法,使用线性回归
from sklearn.linear_model import LinearRegression
X = df[['feature1', 'feature2']]
y = df['target']
model = LinearRegression()
model.fit(X, y)
predictions = model.predict(X)
accuracy = model.score(X, y)
print(f'Accuracy: {accuracy:.2f}')
#第二种算法:决策树回归
from sklearn.tree import DecisionTreeRegressor
model = DecisionTreeRegressor()
model.fit(X, y)
predictions = model.predict(X)
accuracy = model.score(X, y)
print(f'Accuracy: {accuracy:.2f}')
#使用一下代码来计算平均值绝对误差和均方差
from sklearn.metrics import mean_absolute_error, mean_squared_error
mae = mean_absolute_error(y, predictions)
mse = mean_squared_error(y, predictions)
print(f'Mean Absolute Error: {mae:.2f}')
print(f'Mean Squared Error: {mse:.2f}')
#这一步参数调优
parameters = {'max_depth': [2, 4, 6, 8, 10],
'min_samples_split': [2, 4, 6, 8, 10],
'min_samples_leaf': [2, 4, 6, 8, 10]
}
from sklearn.model_selection import GridSearchCV
model = DecisionTreeRegressor()
grid_search = GridSearchCV(model, parameters, cv=5)
opencv 图像翻转-图像灰度图-图像放大缩小-图像轮廓-图像rgb通道。![](https://img-blog.csdnimg.cn/2e9672b273134a2a8adf1f8813b2782b.png)
import cv2
# 读取灰度图像
img1 = cv2.imread('1.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('image', img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 图片上下颠倒(翻转180度)
imgfilp = cv2.flip(img1, -1)
cv2.imshow('image2', imgfilp)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 显示图片轮廓
def cv_show(img, name):
cv2.imshow(name, img)
cv2.waitKey()
cv2.destroyAllWindows()
# 轮廓图
img = cv2.imread('2.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
cv_show(thresh, 'thresh')
# 缩小图片
image3 = cv2.imread('2.jpg', cv2.IMREAD_GRAYSCALE)
rest1 = cv2.resize(image3, None, fx=0.5, fy=0.3, interpolation=cv2.INTER_AREA)
cv2.imshow('name', rest1)
cv2.waitKey(0)
# 放大图片
image4 = cv2.imread('2.jpg', cv2.IMREAD_GRAYSCALE)
rest2 = cv2.resize(image4, None, fx=1.5, fy=1.3, interpolation=cv2.INTER_AREA)
cv2.imshow('name', rest2)
cv2.waitKey(0)
opencv rgb 通道实现
# 5,图像通道分离与合并
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
def split_Image(image):
plt.title("Saber")
plt.imshow(image)
b, g, r = cv.split(image)
cv.imshow("b", b)
cv.imshow("g", g)
cv.imshow("r", r)
return b, g, r
def merge_Image(b, g, r):
# merge三通道拼接
mergedImage = cv.merge([b, g, r])
print(mergedImage.shape)
cv.imshow("mergedImage", mergedImage)
srcImage3 = cv.imread(r'C:\Users\Administrator\Desktop\f.png')
cv.namedWindow("Saber", 1)
cv.imshow("Saber", srcImage3)
b, g, r = split_Image(srcImage3)
merge_Image(b, g, r)
cv.waitKey(0)
cv.destroyAllWindows()
'''------------------------------------------------------------------'''
#图像通道像素值操作
import cv2 as cv
import numpy as np
srcImage3=cv.imread(r'C:\Users\Administrator\Desktop\f.png')
#B,G,R三通道分别赋值为0:
#srcImage3[:,:,0]=0
#srcImage3[:,:,1]=0
srcImage3[:,:,2]=0
cv.namedWindow("Saber",1)
cv.imshow("Saber",srcImage3)
cv.waitKey(0)
cv.destroyAllWindows()
https://blog.csdn.net/KID_yuan/article/details/89495557?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89495557-blog-122386324.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89495557-blog-122386324.pc_relevant_default&utm_relevant_index=1