接下来,我们将看看创建猜测模型。
在Python中构建一个猜测模型
如今,我们已经有对建模有效的数据,如今我们来看看python代码,在我们的数据集上创建一个猜测模型。Skicit-Learn(sklearn)是Python中最常用的机械进修库,我们将会借助它来建模。
既然,sklearn请求所有输入都是数字,所以我们应当对类别进行编码,将所有的分类变量转换为数值变量。这可以应用以下代码完成:
- from sklearn.preprocessing import LabelEncoder
- var_mod = ['Gender','Married','Dependents','Education','Self_Employed','Property_Area','Loan_Status']
- le = LabelEncoder()
- for i in var_mod:
- df[i] = le.fit_transform(df[i])
- df.dtypes
第三方库支撑,固然很多库供给3.X的支撑,但仍然有大年夜量库只能在2.X版本上运行。如不亚妹计算将Python用于特定的场景,如网页开辟,高度依附外部模块,你可能选择2.7版本会更好。
接下来,我们将导入所需的模块。然后我们将定义一个通用分类函数,它将模型作为输入,并肯定精确度和交叉验证得分。既然这是一个介绍性的文┞仿,我将不再赘述编码的细节。
- #Import models from scikit learn module:
- from sklearn.linear_model import LogisticRegression
- from sklearn.cross_validation import KFold #For K-fold cross validation
- from sklearn.ensemble import RandomForestClassifier
- from sklearn.tree import DecisionTreeClassifier, export_graphviz
- from sklearn import metrics
- #Generic function for making a classification model and accessing performance:
- def classification_model(model, data, predictors, outcome):
- #Fit the model:
- model.fit(data[predictors],data[outcome])
- #Make predictions on training set:
- predictions = model.predict(data[predictors])
- #Print accuracy
- accuracy = metrics.accuracy_score(predictions,data[outcome])
- print "Accuracy : %s" % "{0:.3%}".format(accuracy)
- #Perform k-fold cross-validation with 5 folds
- kf = KFold(data.shape[0], n_folds=5)
- error = []
- for train, test in kf:
- # Filter training data
- train_predictors = (data[predictors].iloc[train,:])
- # The target we're using to train the algorithm.
- train_target = data[outcome].iloc[train]
- # Training the algorithm using the predictors
推荐阅读
scrollTop为滚动条向下移动的距离,所有浏览器都支撑document.documentElement。 【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! js在操作DOM中存在着很多>>>详细阅读
本文标题:技术 | 使用Python来学习数据科学的完整教程
地址:http://www.17bianji.com/lsqh/36300.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示