不用造轮子是真的好用啊
python中单引号双引号的区别
和cpp不一样,cpp单引号表示字符,双引号表示字符串,'c'就直接是ascii值了
Python中单引号和双引号都可以用来表示一个字符串
单双引号是用于区分在引号中还要用引号的情况
参考:Python中单引号,双引号,3个单引号及3个双引号的区别 https://blog.csdn.net/woainishifu/article/details/76105667
运算符* 和 **
参考:https://blog.csdn.net/yilovexing/article/details/80577510
Pandas对象的drop
https://blog.csdn.net/lhy2239705435/article/details/90052681
删除行和列
(1)drop() 删除行和列
drop([ ],axis=0,inplace=True)
drop([]),默认情况下删除某一行;
如果要删除某列,需要axis=1;
参数inplace 默认情况下为False,表示保持原来的数据不变,True 则表示在原来的数据上改变。
DataFrame格式
Pandas:DataFrame对象的基础操作 https://blog.csdn.net/u014281392/article/details/75331570
pandas 入门:DataFrame的创建,读写,插入和删除 https://blog.csdn.net/xtfge0915/article/details/52938740
MySQL导入导出CSV文件
预处理用MySQL做会比较方便
sklearn中的random_state
https://www.cnblogs.com/simpleDi/p/9986198.html
sklearn安装的时候记得选scikit,直接搜索sklearn是没有的!
random_state:随机种子
random_state是一个随机种子,是在任意带有随机性的类或函数里作为参数来控制随机模式。当random_state取某一个值时,也就确定了一种规则。
random_state可以用于很多函数,我比较熟悉的是用于以下三个地方:1、训练集测试集的划分 2、构建决策树 3、构建随机森林
1、划分训练集和测试集的类train_test_split
随机数种子控制每次划分训练集和测试集的模式,其取值不变时划分得到的结果一模一样,其值改变时,划分得到的结果不同。若不设置此参数,则函数会自动选择一种随机模式,得到的结果也就不同。
2、构建决策树的函数
clf = tree.DecisionTreeClassifier(criterion="entropy",random_state=30,splitter="random")
其取值不变时,用相同的训练集建树得到的结果一模一样,对测试集的预测结果也是一样的;
其值改变时,得到的结果不同;
若不设置此参数,则函数会自动选择一种随机模式,每次得到的结果也就不同。
3、构建随机森林
clf = RandomForestClassifier(random_state=0)
其取值不变时,用相同的训练集建森林得到的结果一模一样,对测试集的预测结果也是一样的;
其值改变时,建森林得到的结果不同;
若不设置此参数,则函数会自动选择一种随机模式,每次得到的结果也就不同。
总结:在需要设置random_state的地方给其赋一个值,当多次运行此段代码能够得到完全一样的结果,别人运行此代码也可以复现你的过程。若不设置此参数则会随机选择一个种子,执行结果也会因此而不同了。虽然可以对random_state进行调参,但是调参后在训练集上表现好的模型未必在陌生训练集上表现好,所以一般会随便选取一个random_state的值作为参数。
sklearn的train_test_split
X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.3, random_state=0)
手机扫一扫
移动阅读更方便
你可能感兴趣的文章