数据挖掘,计算机网络、操作系统刷题笔记50
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
刷题系列文章
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2
【3】数据库、计算机网络,操作系统刷题笔记3
【4】数据库、计算机网络,操作系统刷题笔记4
【5】数据库、计算机网络,操作系统刷题笔记5
【6】数据库、计算机网络,操作系统刷题笔记6
【7】数据库、计算机网络,操作系统刷题笔记7
【8】数据库、计算机网络,操作系统刷题笔记8
【9】操作系统,计算机网络,数据库刷题笔记9
【10】操作系统,计算机网络,数据库刷题笔记10
【11】操作系统,计算机网络,数据库刷题笔记11
【12】操作系统,计算机网络,数据库刷题笔记12
【13】操作系统,计算机网络,数据库刷题笔记13
【14】操作系统,计算机网络,数据库刷题笔记14
【15】计算机网络、操作系统刷题笔记15
【16】数据库,计算机网络、操作系统刷题笔记16
【17】数据库,计算机网络、操作系统刷题笔记17
【18】数据库,计算机网络、操作系统刷题笔记18
【19】数据库,计算机网络、操作系统刷题笔记19
【20】数据库,计算机网络、操作系统刷题笔记20
【21】数据库,计算机网络、操作系统刷题笔记21
【22】数据库,计算机网络、操作系统刷题笔记22
【23】数据库,计算机网络、操作系统刷题笔记23
【24】数据库,计算机网络、操作系统刷题笔记24
【25】数据库,计算机网络、操作系统刷题笔记25
【26】数据库,计算机网络、操作系统刷题笔记26
【27】数据库,计算机网络、操作系统刷题笔记27
【28】数据库,计算机网络、操作系统刷题笔记28
【29】数据库,计算机网络、操作系统刷题笔记29
【30】数据库,计算机网络、操作系统刷题笔记30
【31】数据库,计算机网络、操作系统刷题笔记31
【32】数据库,计算机网络、操作系统刷题笔记32
【33】数据库,计算机网络、操作系统刷题笔记33
【34】数据库,计算机网络、操作系统刷题笔记34
【35】数据挖掘,计算机网络、操作系统刷题笔记35
【36】数据挖掘,计算机网络、操作系统刷题笔记36
【37】数据挖掘,计算机网络、操作系统刷题笔记37
【38】数据挖掘,计算机网络、操作系统刷题笔记38
【39】数据挖掘,计算机网络、操作系统刷题笔记39
【40】数据挖掘,计算机网络、操作系统刷题笔记40
【41】数据挖掘,计算机网络、操作系统刷题笔记41
【42】数据挖掘,计算机网络、操作系统刷题笔记42
【43】数据挖掘,计算机网络、操作系统刷题笔记43
【44】数据挖掘,计算机网络、操作系统刷题笔记44
【45】数据挖掘,计算机网络、操作系统刷题笔记45
【46】数据挖掘,计算机网络、操作系统刷题笔记46
【47】数据挖掘,计算机网络、操作系统刷题笔记47
【48】数据挖掘,计算机网络、操作系统刷题笔记48
【49】数据挖掘,计算机网络、操作系统刷题笔记49
文章目录
- 数据挖掘,计算机网络、操作系统刷题笔记50
- @[TOC](文章目录)
- 数据挖掘分析应用:回归分析
- 逻辑回归:逻辑斯蒂回归
- ICMP是IP层的一个组成部分,它传递差错报文以及其它需要注意的信息。
- 一个广域网和一个局域网相连,且需要进行协议转换,需要的设备是什么。
- 作业从后备作业到被调度程序选中的时间称为()。
- 在页式存储管理中,当前进程的页表起始地址存放在( )中。
- 总结
文章目录
- 数据挖掘,计算机网络、操作系统刷题笔记50
- @[TOC](文章目录)
- 数据挖掘分析应用:回归分析
- 逻辑回归:逻辑斯蒂回归
- ICMP是IP层的一个组成部分,它传递差错报文以及其它需要注意的信息。
- 一个广域网和一个局域网相连,且需要进行协议转换,需要的设备是什么。
- 作业从后备作业到被调度程序选中的时间称为()。
- 在页式存储管理中,当前进程的页表起始地址存放在( )中。
- 总结
数据挖掘分析应用:回归分析
怎么拟合更好呢?
那就是loss要小
对未知数据预测的准确性很重要
n个点,n+1阶多项式最好?????????
不一定好,这过拟合了
hx尽量去与y拟合,误差小就行
这好说
对误差函数求导,找到极值点即可
梯度是一个地形中,往最高最陡的方向
步长不可太大哦
更新w
极小值=最小值:凸优化
多极值点出现就需要正则化
加正则化就是要让参数小的选择,不要太大,因为太大影响就会过大
代码演示线性回归
之前说过了
last_evaluation
number_project
average_monthly_hours
三者正相关
咱看看他们的相关性回归
def regrfunc(features, label):df = features[["number_project", "average_montly_hours"]]y = features["last_evaluation"]# print(df, y)from sklearn.linear_model import LinearRegressionreg_model = LinearRegression()reg_model.fit(df.values, y.values)y_pred = reg_model.predict(df.values)print("coef", reg_model.coef_)from sklearn.metrics import mean_squared_errorprint("mse:", mean_squared_error(y.values, y_pred))if __name__ == '__main__':features, label = pre_processing(sl=True, le=True, npr=True, amh=True, wacc=True, pla=True, dep=False, sal=True,lower_d=False, ld_n=3)# print(features, label)# 灌入模型# hr_modeling_all_saveDT_SVM(features, label)# 回归分析regrfunc(features, label)coef [0.25133773 0.23488103]
mse: 0.8324006384950512Process finished with exit code 0
这波回归a和b出来了
误差挺大的
def regrfunc(features, label):df = features[["number_project", "average_montly_hours"]]y = features["last_evaluation"]# print(df, y)from sklearn.linear_model import LinearRegression, Ridge, Lassoreg_model = LinearRegression()ridge_model = Ridge(alpha=0.1) # 参数reg_model.fit(df.values, y.values)ridge_model.fit(df.values, y.values)y_pred = reg_model.predict(df.values)y_pred_ridge = ridge_model.predict(df.values)print("coef", reg_model.coef_)print("coef", ridge_model.coef_)from sklearn.metrics import mean_squared_errorprint("reg mse:", mean_squared_error(y.values, y_pred))print("ridge mse:", mean_squared_error(y.values, y_pred_ridge))if __name__ == '__main__':features, label = pre_processing(sl=True, le=True, npr=True, amh=True, wacc=True, pla=True, dep=False, sal=True,lower_d=False, ld_n=3)# print(features, label)# 灌入模型# hr_modeling_all_saveDT_SVM(features, label)# 回归分析regrfunc(features, label)
岭回归没啥变化
我看看alpha为0.8时如何
没啥影响
不管
逻辑回归:逻辑斯蒂回归
在线性回归之上,加一个激活层,搞成非线性的概率映射
这样就是逻辑回归
这就是中国人人口的增强规律
互联网产品的销量,用户量
先增长,放缓,停止,gg
开始,缩招,裁员,gg
逻辑:01
分类器
本质仍然是回归
逻辑回归就是有限
下面的h表达式不同,
代码走起
# 演示SVM--Random--adaboost
# 模型
def hr_modeling_all_saveDT_SVM(features, label):from sklearn.model_selection import train_test_split# 切分函数#DataFramefeature_val = features.valueslabel_val = label# 特征段feature_name = features.columnstrain_data, valid_data, y_train, y_valid = train_test_split(feature_val, label_val, test_size=0.2) # 20%验证集train_data, test_data, y_train, y_test = train_test_split(train_data, y_train, test_size=0.25) # 25%测试集print(len(train_data), len(valid_data), len(test_data))# KNN分类from sklearn.neighbors import NearestNeighbors, KNeighborsClassifierfrom sklearn.metrics import accuracy_score, recall_score, f1_score # 模型评价from sklearn.naive_bayes import GaussianNB, BernoulliNB # 高斯,伯努利,都是对特征有严格要求,离散值最好from sklearn.tree import DecisionTreeClassifier, export_graphviz # 决策树from io import StringIOimport pydotplusimport osfrom sklearn.svm import SVCfrom sklearn.ensemble import RandomForestClassifier # 随机森林from sklearn.ensemble import AdaBoostClassifierfrom sklearn.linear_model import LogisticRegressionos.environ["PATH"] += os.pathsep+r'D:\Program Files\Graphviz\bin'models = [] # 申请模型,挨个验证好坏knn_clf = KNeighborsClassifier(n_neighbors=3) # 5类bys_clf = GaussianNB()bnl_clf = BernoulliNB()DT_clf = DecisionTreeClassifier()SVC_clf = SVC()rdn_clf = RandomForestClassifier()adaboost_clf = AdaBoostClassifier(n_estimators=100)logi_clf = LogisticRegression()# models.append(("KNN", knn_clf)) # 代码一个个模型测--放入的是元祖# models.append(("GaussianNB", bys_clf)) # 代码一个个模型测--放入的是元祖# models.append(("BernoulliNB", bnl_clf)) # 代码一个个模型测--放入的是元祖models.append(("Decision Tree", DT_clf)) # 代码一个个模型测--放入的是元祖# models.append(("SVM classifier", SVC_clf)) # 代码一个个模型测--放入的是元祖models.append(("Random classifier", rdn_clf)) # 代码一个个模型测--放入的是元祖# models.append(("adaboost classifier", adaboost_clf)) # 代码一个个模型测--放入的是元祖models.append(("logistic classifier", logi_clf)) # 代码一个个模型测--放入的是元祖# 不同的模型,依次验证for modelName, model in models:print(modelName)model.fit(train_data, y_train) # 指定训练集# 又集成化数据集data = [(train_data, y_train), (valid_data, y_valid), (test_data, y_test)]for i in range(len(data)):print(i)y_input = data[i][0]y_label = data[i][1] # 输入输出预测y_pred = model.predict(y_input)print("acc:", accuracy_score(y_label, y_pred))print("recall:", recall_score(y_label, y_pred))print("F1:", f1_score(y_label, y_pred))print("\n")# 不考虑存储,你看看这个模型就会输出仨结果8999 3000 3000
Decision Tree
0
acc: 1.0
recall: 1.0
F1: 1.0
1
acc: 0.9783333333333334
recall: 0.9754768392370572
F1: 0.9565798263193053
2
acc: 0.9766666666666667
recall: 0.9651474530831099
F1: 0.9536423841059601Random classifier
0
acc: 1.0
recall: 1.0
F1: 1.0
1
acc: 0.9906666666666667
recall: 0.9713896457765667
F1: 0.9807427785419532
2
acc: 0.9896666666666667
recall: 0.9638069705093834
F1: 0.9788972089857044logistic classifier
0
acc: 0.7884209356595178
recall: 0.3170731707317073
F1: 0.4105263157894737
1
acc: 0.7856666666666666
recall: 0.32561307901907355
F1: 0.4264049955396967
2
acc: 0.7783333333333333
recall: 0.30160857908847183
F1: 0.40358744394618834Process finished with exit code 0
效果极其差劲
看看调参如何
估计也没啥用的
logi_clf = LogisticRegression(C=1000, tol=1e-10, solver="sag", max_iter=10000)8999 3000 3000
Decision Tree
0
acc: 1.0
recall: 1.0
F1: 1.0
1
acc: 0.9786666666666667
recall: 0.9623955431754875
F1: 0.9557399723374828
2
acc: 0.975
recall: 0.9648876404494382
F1: 0.94824016563147Random classifier
0
acc: 1.0
recall: 1.0
F1: 1.0
1
acc: 0.9903333333333333
recall: 0.9623955431754875
F1: 0.9794472005669738
2
acc: 0.987
recall: 0.9592696629213483
F1: 0.9722419928825622logistic classifier
这次好像已经100%的准确率了
有点牛逼啊!!!!!!!!!!!!!!!!!!!!!!!!!
很牛逼
ICMP是IP层的一个组成部分,它传递差错报文以及其它需要注意的信息。
一个广域网和一个局域网相连,且需要进行协议转换,需要的设备是什么。
作业从后备作业到被调度程序选中的时间称为()。
在页式存储管理中,当前进程的页表起始地址存放在( )中。
总结
提示:重要经验:
1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。