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

网站设计的就业和发展前景自助建站平台

网站设计的就业和发展前景,自助建站平台,二级建造师报名入口官网,外包做的网站可以直接去收录吗一些自存的机器学习函数和详细方法记录,欢迎指错。 前言:读取数据方法 import pandas as pd import pandas as pddf pd.read_csv(数据集.csv, header0) # header是从哪一行开始读起,一般是0,也可以取infer 一、数据处理&#…

一些自存的机器学习函数和详细方法记录,欢迎指错。

前言:读取数据方法

import pandas as pd

import pandas as pddf = pd.read_csv('数据集.csv', header=0)
# header是从哪一行开始读起,一般是0,也可以取'infer'

一、数据处理(基本)

数据编码:

from sklearn.preprocessing import LabelEncoder

用于为非数值数据编码

使用例子:

from sklearn.preprocessing import LabelEncoder #用于将分类变量转换为数字形式。
#对非数值类型数据编码
for i in df.columns: #遍历df中每一列if df[i].dtypes == "object": #若该列为非数值数据,则对其编码lable = LabelEncoder() #创建新的LabelEncoder()lable = lable.fit(df[i]) #训练LabelEncoder(),使其适用于数据df[i] = lable.transform(df[i].astype(str)) #将原数据用训练好的LabelEncoder()替换

缺失值处理:

删除缺失值函数:pandas库里的dropna

df["year"] = df["year"].replace("N.V.", np.nan)
df = df.dropna(how='any')
#any表示只要有空缺就删除,还可选'all'

也可以采用平均值/中位数/knn填补法:

from sklearn.impute import KNNImputer # sklearn自带knn填补模型"""
# 平均值填补
pj = np.nanmean(X_train, axis=0)
for i in range(X_train.shape[0]):for j in range(X_train.shape[1]):if math.isnan(X_train[i][j]):X_train[i][j] = pj[j]
for i in range(X_test.shape[0]):for j in range(X_test.shape[1]):if math.isnan(X_test[i][j]):X_test[i][j] = pj[j]"""
"""
# 中位数填补
zw = np.nanmedian(X_train, axis=0)
print(zw)
for i in range(X_train.shape[0]):for j in range(X_train.shape[1]):if math.isnan(X_train[i][j]):X_train[i][j] = zw[j]"""
# KNN填补
imputer = KNNImputer(n_neighbors=5)
X_train = pd.DataFrame(imputer.fit_transform(X_train))

数据类型转换:

df['year'] = df['year'].astype(np.int64)
#将year这一列转化为int数据类型

文本类型转数值:

from sklearn.feature_extraction.text import CountVectorizer

from sklearn.feature_extraction.text import CountVectorizerver = CountVectorizer()
X = ver.fit_transform(df['text']).toarray()

二、标准化特征

from sklearn.preprocessing import StandardScaler

#用于标准化特征,使其均值为0,方差为1。

from imblearn.over_sampling import RandomOverSampler

#用于处理类别不平衡问题(长尾分布),随机增加少数类样本的数量。

下面是数据挖掘课一个处理长尾分布的实验中对长尾分布数据预处理的一部分

from sklearn.preprocessing import StandardScaler
from imblearn.over_sampling import RandomOverSampler 
import pandas as pdros = RandomOverSampler(sampling_strategy='minority')
# 初始化RandomOverSampler,samping_strategy='minority'表示要增加少数类样本的数量
X, y = ros.fit_resample(X, y)
# 执行RandomOverSampler,平衡特征X和标签yscaler = StandardScaler()
# 初始化StandardScaler
X_standardized = scaler.fit_transform(X)
# 使用StandardScaler对X进行拟合并转换,返回标准化后的数据X_standardizedX_std = pd.DataFrame(X_standardized, columns = X.columns)
#使用pandas.DataFrame将标准化后的数据转换为数据框形式,并保留原始的列名

三、train_test_split划分训练集测试集

from sklearn.model_selection import train_test_split

用于划分数据

from sklearn.model_selection import train_test_splitX = df.drop("region",axis=1)
# 将读取的处理好的数据去除特征行存入X中
y = df['region']
# 将特征行分开存入y中X_train, X_test, y_train, y_test = train_test_split(X_std, y, test_size=0.6, random_state=42)
#其中test_size表示划分比例,如值为0.6表示训练集占0.6
#random_state表示随机数,取的随机数相同那么划分也会一模一样

四、一些机器学习模型(分类)

支持向量机(SCV):from sklearn.svm import SVC

K近邻:from sklearn.neighbors import KNeighborsClassifier

随机森林:from sklearn.ensemble import RandomForestClassifier

多层感知机(神经网络)(MLP):from sklearn.neural_network import MLPClassifier

高斯朴素贝叶斯:from sklearn.naive_bayes import GaussianNB

决策树:from sklearn.tree import DecisionTreeClassifier

梯度提升树:from xgboost import XGBClassifier

使用实例(都套这个模板就行):

from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier()model.fit(X_train, y_train)y_pred = model.predict(X_predict)

在长尾分布实验中,我学到了一个对数据重加权的方法:使用class_weight参数

from sklearn.utils.class_weight import compute_class_weighty_uni = y["winery"].unique().ravel()classes = np.array(y_uni)
class_weights = compute_class_weight('balanced', classes=classes, y=y)
class_weight_dict = {0: class_weights[0], 1: class_weights[1]}model = RandomForestClassifier(class_weight=class_weight_dict)

五、一些机器学习模型(回归)

决策树:from sklearn.tree import DecisionTreeRegressor

(别的把上面的Classifier改成Regressor应该就行了)

六、准确度计算

from sklearn.metrics import accuracy_score

计算准确度,前一个参数是实际结果,后一个参数是预测结果。

from sklearn.metrics import accuracy_scoreACC = accuracy_score(y_test, y_pred)

七、画图方法

import matplotlib.pyplot as plt

比如要画出样本特征柱状图:

import matplotlib.pyplot as pltplt.figure(figsize=(15,5)) # 图的大小plt.subplot(121) # 分成两个图,121分别是三个参数,表示有1行表2列表(共两个表),现在取第1行表
df['type'].hist() # 生成‘type’的柱状图
plt.subplot(122) # 现在取第二行表
df['region'].hist() # 生成‘region’的柱状图

http://www.ds6.com.cn/news/9224.html

相关文章:

  • 国内特效网站百度网页版链接
  • wamp做的网站上传关键词规划师工具
  • 罗湖做网站联系电话百度统计代码
  • 销售平台网站建设免费b站推广软件
  • wordpress阿里巴巴国际站链交换
  • 网站制作工具抖音推广怎么收费
  • 温州市网站制作多少钱报个计算机培训班多少钱
  • 咸阳兼职做网站有网站模板怎么建站
  • 肇庆网站建设宁波优化网站厂家
  • wordpress建站很麻烦设计师必备的6个网站
  • 有没有可靠的网站建设sem竞价推广是什么意思
  • 北海网站建设网络公司优化网站推广
  • 做网站优化竞价区别引流推广的句子
  • 和幼儿做网站爱收录优美图片app
  • 新手怎么做电商在哪个网站想卖产品怎么推广宣传
  • 网站开发设计制作推广百度系app
  • 新郑做网站太原百度seo排名软件
  • 赌博网站到底怎么做最新军事消息
  • 南宁网站建设优化排名35个成功的市场营销策划案例
  • 网页设计制作多少钱谷歌搜索优化
  • 专业的网站建设费用种子资源地址
  • 贵阳建设工程招聘信息网站如何在百度上发表文章
  • 临湘做网站seo优化方式
  • 大学生软件开发项目推荐seo网络搜索引擎优化
  • 济南做企业网站公司域名ip地址在线查询
  • 做网站还有市场吗宁波网络推广联系方式
  • 肇庆做网站建设培训心得体会1000字通用
  • 太原seo网站排名优化网站百度不收录的原因
  • 网站前台和后台设计最有效的推广学校的方式
  • 做网站用什么源码好关键词优化设计